Eingebettete Systeme - Cheatsheet
Definition und Eigenschaften eingebetteter Systeme
Definition:
Eingebettete Systeme sind spezialisierte Computer, die in andere Geräte integriert sind und spezielle Funktionen ausführen.
Details:
- Realisieren spezifische Aufgaben
- Enge Kopplung an die Umgebung
- Hohe Zuverlässigkeit und Echtzeitfähigkeit
- Ressourcensparend (z.B. geringer Stromverbrauch)
- Soft- und Hardware stark integriert
- Beispiele: Steuergeräte in Autos, Medizingeräte, Haushaltsgeräte
- Typische Architektur: Mikrocontroller, Speicher, Sensoren, und Aktuatoren
- Oft unter Echtzeitbedingungen (RTOS: Real-Time Operating System)
Grundlagen der Mikrocontroller und ihrer Architektur
Definition:
Grundlagen der Mikrocontroller und deren Architektur: Mikrocontroller sind integrierte Schaltkreise, die einen Prozessor, Speicher und I/O-Peripherie auf einem Chip kombinieren.
Details:
- Mikrocontroller bestehen aus CPU, Speicher (RAM, ROM, Flash), und I/O-Ports.
- Typische Architekturen: Harvard-Architektur (getrennte Speicher für Befehle und Daten) und von-Neumann-Architektur (gemeinsamer Speicher für Befehle und Daten).
- Gängige Busse: Datenbus, Adressbus, Steuerbus.
- Programmierbare Peripheriegeräte: ADC, DAC, UART, Timer.
- Taktgeber und Interrupt-Mechanismen: bestimmen die Geschwindigkeit und Reaktionsfähigkeit des Mikrocontrollers.
- Bespiel für Mikrocontroller: AVR, PIC, ARM Cortex-M.
Echtzeitbetriebssysteme (RTOS) und Scheduling-Algorithmen
Definition:
RTOS sorgen für die rechtzeitige und deterministische Ausführung von Aufgaben in eingebetteten Systemen.
Details:
- Hartes RTOS: Strikte Einhaltung von Deadlines, bei Verfehlung entsteht ein Systemfehler.
- Weiches RTOS: Deadlines sind flexibel, Verfehlung führt zu Qualitätsdegradierung, aber nicht zu totalem Versagen.
- Fixed Priority Scheduling (FPS): Aufgaben haben feste Prioritäten, höchste Priorität wird zuerst ausgeführt.
- Round Robin Scheduling: Zeitgesteuerte, zyklische Ausführung der Aufgaben in gleicher Reihenfolge.
- Earliest Deadline First (EDF): Aufgaben mit der nächstgelegenen Deadline werden bevorzugt behandelt.
- Rate Monotonic Scheduling (RMS): Periodische Aufgaben, kürzere Perioden haben höhere Priorität.
Partitionierung von Hardware und Software im Co-Design
Definition:
Verteilung von Systemfunktionen auf Hardware- und Softwarekomponenten zur Optimierung von Leistung, Energieverbrauch und Kosten.
Details:
- Ziel: Finden eines optimale Kompromisses zwischen Hardware (HW) und Software (SW).
- HW: Schnellere Ausführung, höherer Energieverbrauch, höhere Kosten.
- SW: Flexibler, einfacher zu ändern, geringere Entwicklungskosten.
- Ansätze: Heuristische Methoden, genetische Algorithmen, dynamische Programmierung.
- Kriterien: Echtzeit-Anforderungen, Ressourcennutzung, Energieeffizienz.
- Übliche Werkzeuge: UML für Modellierung, VHDL/Verilog für HW-Design, C/C++ für SW-Design.
- Beispiel: Signalverarbeitung in Embedded Systems.
Modellierung und Simulation mit VHDL und Verilog
Definition:
Modellierung und Simulation digitaler Schaltungen mittels Hardware Description Languages VHDL und Verilog.
Details:
- Verwendung in der Entwurfsphase eingebetteter Systeme.
- VHDL: stark typisierte Sprache, gut für strukturierte und wiederverwendbare Designs.
- Verilog: leichter zugänglich und verbreitet, weniger streng bei Typen.
- Simulationstools: ModelSim, Vivado.
- Wichtige Konstrukte: Entity/Architecture (VHDL), Module (Verilog).
- Testbenches zur Verifikation: Simuliere Design, prüfe auf Korrektheit.
- Typische Anwendungen: FPGAs, ASICs.
- Umsetzung von algorithmischen Beschreibungen in Hardware.
- Beispiel VHDL:
entity AND_GATE is Port ( A : in STD_LOGIC; B : in STD_LOGIC; Y : out STD_LOGIC);end AND_GATE;architecture Behavioral of AND_GATE isbegin Y <= A and B;end Behavioral;
Sicherheitsstandards und Zertifizierungen für eingebettete Systeme
Definition:
Sicherheitsstandards und Zertifizierungen gewährleisten zuverlässigen Betrieb eingebetteter Systeme durch normative Vorgaben.
Details:
- IEC 61508: Funktionale Sicherheit programmierbarer elektronischer Systeme.
- ISO 26262: Sicherheit für Straßentransport (automotive).
- DO-178C: Software-Sicherheitszertifizierung in der Luftfahrt.
- Common Criteria (ISO/IEC 15408): Sicherheitsbewertungen für IT-Produkte.
- UL 2900: Cybersicherheit für vernetzte Geräte.
- Zertifizierungsprozess: Risikoanalyse, Sicherheitsanforderungen, Implementierung, Tests, Bewertung und Wartung.
- Sicherheitsintegritätslevel (SIL): Misst das erforderliche Maß an Risikoreduzierung.
Energieeffizienz und Leistungsoptimierung in eingebetteten Systemen
Definition:
Energieeffizienz und Leistungsoptimierung sind zentrale Aspekte beim Design eingebetteter Systeme, da sie die Lebensdauer und Performance beeinflussen.
Details:
- Energieeffizienz: Minimierung des Energieverbrauchs eines Systems
- Leistungsoptimierung: Erhöhung der Systemleistung
- Wichtig: Balance zwischen Konsum und Performance
- Dynamische Spannungs- und Frequenzskalierung (DVFS)
- Strategien zur Abschaltung nicht genutzter Komponenten
- Algorithmische Optimierungen
- Hardware-basiertes Power Management
- Einfluss von Betriebssystem und Software-Architektur
Fehlerbehandlung und Zuverlässigkeit in Echtzeitsystemen
Definition:
Fehlerbehandlung: Maßnahmen zur Erkennung, Isolation und Korrektur von Fehlern. Zuverlässigkeit: Fähigkeit eines Systems, über einen bestimmten Zeitraum hinweg fehlerfrei zu funktionieren.
Details:
- Fehlertypen: Hardware- und Softwarefehler
- Fehlererkennung: Redundanz, Paritätsbits, Checksummen
- Fehlerkorrektur: Fehlerkorrektur-Codes (z.B. Hamming-Code)
- Fehlertoleranz: Fähigkeit des Systems, trotz Fehlern weiterzuarbeiten
- Redundanzarten: Zeitliche, räumliche und informationstechnische Redundanz
- Zuverlässigkeit: Wahrscheinlichkeit eines fehlerfreien Betriebs in einem definierten Zeitraum
- MTBF (Mean Time Between Failures): Durchschnittszeit zwischen Fehlern
- MTTR (Mean Time To Repair): Durchschnittszeit zur Fehlerbehebung
- Fail-Safe und Fail-Operational Systeme: Sicherheitsansatz
- Echtzeitbedingungen: Deadline-Einhaltung für zuverlässigen Betrieb