Eingebettete Systeme (Vorlesung mit Übungen) - Cheatsheet
Definition und Merkmale eingebetteter Systeme
Definition:
Eingebettete Systeme sind spezialisierte Computersysteme, die in größere Systeme integriert sind und spezifische Kontrollfunktionen ausführen.
Details:
- Merkmale: spezialisierte Hardware und Software, Echtzeitfähigkeit, Zuverlässigkeit, Energieeffizienz
- Beispiele: Medizingeräte, Industriesteuerungen, Unterhaltungselektronik
- Typische Komponenten: Mikrocontroller, Sensoren, Aktoren
- Einsatzgebiete: Automobilindustrie, Telekommunikation, Hausgeräte
Schaltplan- und PCB-Design
Definition:
Schaltplan- und PCB-Design bezieht sich auf die Entwicklung und Gestaltung von elektrischen Schaltplänen und deren Umsetzung auf gedruckte Schaltungen (Leiterplatten).
Details:
- Schaltplan: Logische Darstellung der Schaltung, zeigt Verbindungen und Komponenten.
- PCB-Design: Physische Umsetzung des Schaltplans auf einer Leiterplatte, unter Berücksichtigung von Platzierung und Routing der Bauteile.
- Designregeln beachten: Abstände, Breite der Leiterbahnen, elektrische Sicherheit.
- CAD-Software: Programme wie EAGLE, KiCAD werden verwendet.
- Simulation: Überprüfung des Designs vor der Fertigung.
- Fertigungsdaten: Gerber Dateien, Bohrpläne für die Produktion der PCB.
Interaktion zwischen Hardware und Software
Definition:
Interaktion zwischen Hardware und Software bestimmt die Funktionalität eingebetteter Systeme. Hardware führt Software-Instruktionen aus.
Details:
- Hardware-Komponenten: CPU, Speicher, I/O-Geräte
- Software-Komponenten: Betriebssystem, Treiber, Anwendungen
- Software sendet Befehle an Hardware: \texttt{Machine Code}
- Hardware führt diese Befehle aus: \texttt{Fetch-Decode-Execute-Zyklus}
- Kommunikationsprotokolle: \texttt{SPI, I2C, UART}
- Hardware-Software-Co-Design: \texttt{Optimierung von Systemleistung und Effizienz}
Scheduling-Algorithmen und Prioritätenmanagement in Echtzeitbetriebssystemen
Definition:
Zuweisung von Prozessen/Threads zu CPU basierend auf verschiedenen Strategien und Prioritäten, um zeitkritische Aufgaben termingerecht zu erfüllen.
Details:
- Feste Prioritäten: Prozesse erhalten statische Prioritäten, z.B. Rate-Monotonic Scheduling (RMS)
- Dynamische Prioritäten: Prioritäten ändern sich basierend auf Prozessverhalten, z.B. Earliest Deadline First (EDF)
- Preemptive Scheduling: Höher priorisierte Prozesse können niedrig priorisierte unterbrechen
- Non-Preemptive Scheduling: Prozesse laufen bis zur Beendigung oder freiwilligem Yielding
- Deadline Scheduling: Einhaltung von Deadlines hat höchste Priorität, z.B. EDF
- \textbf{Formel für Prioritätszuweisung in RMS:} \( p_i = \frac{T_i}{T_{min}}\)
Grundlagen und Auswahlkriterien von Sensoren und Aktoren
Definition:
Sensoren erfassen Umgebungsdaten, Aktoren setzen Steuerbefehle um.
Details:
- Signaltypen: Analog, Digital
- Eigenschaften: Genauigkeit, Empfindlichkeit, Auflösung
- Reaktionszeit: Zeit, die ein Sensor/Aktor benötigt, um auf eine Änderung zu reagieren
- Umgebungsbedingungen: Temperatur, Feuchtigkeit, elektromagnetische Störungen
- Kalibrierung und Wartung: Notwendigkeit und Aufwand
- Verfügbarkeit und Kosten: Marktverfügbarkeit und Budget
- Energieverbrauch: Wichtig für Batteriebetriebene Systeme
- Kompatibilität: Integration in bestehende Systeme
- Sicherheitsaspekte: Zuverlässigkeit und Fehlertoleranz
Signalverarbeitung und Fehlerkorrektur bei Sensoren
Definition:
Signalverarbeitung und Fehlerkorrektur bei Sensoren umfasst Techniken zur Verbesserung der Signalqualität und Korrektur auftretender Fehler.
Details:
- Filterung: Anwendung von Tiefpass-, Hochpass-, Bandpass- und Bandsperrfiltern zur Signalklärung.
- Rauschen: Rauschunterdrückung durch Mittelwertbildung, Medianfilter oder Kalman-Filter.
- Fehlerkorrektur: Nutzung von Codierungsverfahren wie CRC (Cyclic Redundancy Check) oder Hamming-Code zur Fehlererkennung und -korrektur.
- Signalverstärkung: Verstärkung schwacher Signale unter Beachtung des Signal-Rausch-Verhältnisses.
- Echtzeitverarbeitung: Notwendigkeit der schnellen und effizienten Verarbeitung in eingebetteten Systemen.
UART, SPI und I2C Kommunikationsprotokolle
Definition:
Serielle Kommunikationsprotokolle zur Verbindung von Mikrocontrollern und Peripheriegeräten.
Details:
- UART (Universal Asynchronous Receiver/Transmitter): Asynchrone serielle Kommunikation, keine Taktleitung. Datenrahmen bestehend aus Startbit, 5-9 Datenbits, optionalem Paritätsbit und Stopbit.
- SPI (Serial Peripheral Interface): Synchrone serielle Kommunikation, Voll-Duplex. Verwendet MISO, MOSI, SCLK, und SS Leitungen. Master-Slave Architektur.
- I2C (Inter-Integrated Circuit): Synchrone serielle Kommunikation, Halb-Duplex. Verwendet SDA (Datenleitung) und SCL (Taktleitung). Multi-Master-Multi-Slave-Arquitektur. Unterstützt Adressierung von Geräten durch 7- oder 10-Bit Adressen.
Netzwerksicherheit und Datenintegrität in eingebetteten Systemen
Definition:
Schutz von eingebetteten Systemen vor Angriffen und Gewährleistung der Korrektheit und Vollständigkeit der Daten.
Details:
- Datenverschlüsselung: Sicherstellung der Vertraulichkeit mittels Algorithmen wie AES, RSA.
- Authentifizierung: Identitätsprüfung durch Methoden wie Zertifikate, Passwörter.
- Integrietsprüfung: Einsetzen von Hash-Funktionen wie SHA-256 zur Überprüfung der Datenintegrität.
- Netzwerkprotokolle: Verwendung sicherer Protokolle wie TLS, IPsec.
- Schutz vor Angriffen: Einsatz von Firewalls, Intrusion Detection Systems (IDS).
- Physischer Zugriffsschutz: Zugangskontrollen und Sicherheitsmaßnahmen auf Hardware-Ebene.
- Regelmäßige Updates: Aktualisierung der Software, um Sicherheitslücken zu schließen.