Geräte

Geräte

Für einen zuverlässigen und energieeffizienten Betrieb eingebetteter Geräte ist das optimale Zusammenspiel von Hardware, Software und Systemarchitektur entscheidend.

Eingebettete Geräte sind allgegenwärtig, manche sichtbar, die meisten verborgen. Ob die Klimaanlage oder die Fahrerassistenz im Auto, die Steuerung der Kaffeemaschine oder die Steuerung des Aufzugs, es ist am besten, ihre Existenz nicht zu bemerken und ihre Funktion als selbstverständlich wahrzunehmen. Heutzutage sind diese Geräte häufig (drahtlos) mit dem Internet der Dinge verbunden und batteriebetrieben. Daher spielen nicht nur Latenz- und Echtzeitverhalten, sondern auch Netzwerksicherheit und Energieeffizienz eine Schlüsselrolle.

Eingebettete Geräte interagieren häufig über Sensoren und Aktoren mit ihrer Umgebung. Während Sensoren digitalen Geräten die Wahrnehmung ihrer Umgebung ermöglichen, erlauben Aktoren die Beeinflussung derselben. Bei Bedarf können Geräte auch über menschliche Interaktionen gesteuert werden. Häufig kommen dazu bildgebende, sprachgesteuerte oder taktile Technologien zum Einsatz.

Seit Jahren dominiert die ARM-Architektur das Hardware-Ökosystem eingebetteter Systeme. Da ARM-Prozessoren oder Systems on a Chip (SoC) in Lizenz hergestellt werden, sind sie in vielen Variationen erhältlich, vom stromsparenden kleinen Mikrocontroller bis zum leistungsstarken Multicore-Prozessorsystem. Als Newcomer kündigt sich die von einem breit abgestützten Firmenkonsortium vorangetriebene RISC-V Architektur an, die mit einer offenen Instruction Set Architecture (ISA) die Open Source Idee von der Software in die Hardware überträgt und von Grund auf für anwendungsspezifische Erweiterungen konzipiert ist.

Je nach Anwendung wird das Software-Ökosystem eingebetteter Systeme von kompakten Echtzeitbetriebssystemen (Real-Time Operating System, RTOS) oder GNU/Linux Derivaten dominiert. Um den bereitgestellten Funktionsumfang einzusetzen und erfolgreich in eigenen Produkte zu integrieren, sind Erfahrung und Detailwissen nahezu unverzichtbar. So kann die Qualität der Subkomponenten (vor allem Treiber) stark variieren und eine nötige Verbesserung oder Portierung zu unerwünschtem Mehraufwand während der Entwicklung oder Wartung führen. Dies kann nur mit einer sorgfältigen Überprüfung des gesamten Software-Paketes, in diesem Zusammenhang Board Supporr Package (BSP) genannt, verhindert werden.

Bei Bedarf kann die Energieeffizienz der gewählten Plattform optimiert werden, um die Batterielaufzeit zu verlängern oder die Rechenperformance zu erhöhen. Dies geschieht beispielsweise durch die Verwendung von SIMD Instruktionen, Graphikprozessoren (Graphical Processing Unit, GPU) oder FPGAs.

Ist eine Benutzerinteraktion erforderlich, empfehlen sich QT für einfachere, das Android Open Source Project (AOSP) für grössere Projekte.