Embedded Systems – Was ist das?
Grundsätzlich bezeichnet man mit „Embedded Systems“ sehr einfach gesagt einen sehr kleinen Rechner, der in ein größeres System eingebunden ist und dabei eine einzelne, sehr spezifische Funktion erfüllt – verglichen beispielsweise mit einem Personal Computer für Anwender, der sehr viele Funktionen mit diversen Nutzerschnittstellen bietet (wobei sich in einem Computer wiederum Embedded Systems befinden). Es handelt sich hierbei also um Mikrocontroller oder Mikroprozessoren, die ohne ein Betriebssystem oder Nutzer-Interfaces (wie Monitore oder Tastaturen) auskommen und nur eine einzelne Funktion erfüllen. Natürlich gibt es auch hier Varianten, es gibt sogar spezielle Embedded Systems Betriebssysteme wie Embedded Linux, Embedded Java oder Windows IoT (früher Windows Embedded genannt). Zu diesen Unterschieden gelangen wir gleich noch einmal und erklären euch genauer, was es an eingebetteten Systemen so gibt. Festzuhalten sind indes die kennzeichnenden Merkmale von Embedded Systems: Der aufgabenspezifische Einsatz, sie bestehen meist aus Hardware und Software (sowie Firmware, dazu gleich mehr), und sie basieren auf Mikroprozessoren oder Mikrocontrollern (mal „Mikro“, mal „Micro“ geschrieben), also auf integrierten Schaltkreisen (integrated circuits/IC). Gerade für Echtzeit-Anwendungen und das Internet der Dinge eignen sich Embedded Systems besonders gut.
Eingesetzt werden Embedded Systems oft in technischem Kontext, heißt, häufig muss das Embedded System Steuerungsfunktionen übernehmen, nicht selten in Near-Real-Time-Ansätzen. Auch Überwachungsfunktionen oder Daten- und Signalverarbeitung gehören zu den typischen Aufgaben.
Bei einem Fahrzeug sprechen wir also von vielen, sehr kleinen Mini-Rechnern, die dazu dienen, verschiedene Elemente im Auto zu steuern, beispielsweise die Einparkhilfe oder die Bremsen, Airbags, sogar den Motor – insbesondere auch, wenn wir von Fahrassistenzsystemen oder gar autonomem Fahren sprechen, und das muss häufig nahezu in Echtzeit geschehen. Diese Aufgabe, beziehungsweise einzelne Teilschritte, übernehmen Embedded Systems, was die möglichen Einsatzgebiete sehr weit fasst. Wenn viele Embedded Systems miteinander interagieren, sind extrem komplexe Einsatzgebiete möglich, und da die genutzten Mikrocontroller und -prozessoren nur einzelne Aufgaben übernehmen, lassen sich Fehlfunktionen einfach finden und beheben, und natürlich können bestehende Aufgaben stetig verbessert werden.
Da diese Systeme leidlich grundlegende Funktionen übernehmen, spielen für einen effizienten Einsatz viele Faktoren eine Rolle – vor allem der Platzverbrauch muss in aller Regel sehr gering sein, ebenso wie der Energieanspruch und die Produktionskosten. Auf komplexeren Mikroprozessoren ist in aller Regel eine Firmware installiert, die die gewünschten Funktionen steuert und die auch nicht user-seitig verändert werden kann, daher der Name der „Firmware“ („firm“ = engl. für „fest, nicht veränderbar“. Firmware steht also für „nicht veränderbare Software“).
Natürlich gibt es auch Embedded Systems, die nicht mit Mikroprozessoren und Firmware arbeiten, sondern die aufgrund einer extrem spezifischen Anwendung nur auf Bare Metal laufen und mit der Sprache der Chip-CPU programmiert werden. Das Prinzip erinnert an die ersten Computerspiele wie beispielsweise „Pong“, bei dem die Schaltkreise die Spielereingaben aufnahmen und umsetzten, eine Software wurde nicht benötigt. Generell gilt, dass Software nicht unbedingt erforderlich ist, nahezu jede Funktionalität lässt sich auch hardwareseitig umsetzen (siehe dazu auch unser Beitrag zur Hardware Based Security) – als Abstraktionsschicht zwischen Mensch und Hardware hat sich Software indes doch als praktisch erwiesen, vor allem wenn die Rechenaufgabe komplexer wird.
Embedded Systems – Weich, hart, Echtzeit? Welche Klassifizierungen gibt es?
Es hängt im Automotive-Sektor also von der Komplexität der Aufgabe ab, ob ein Mikrocontroller oder Mikroprozessor mit einer Software oder gar Firmware genutzt wird.
Zu unterscheiden wären außerdem noch „weiche“ oder auch „harte“ Echtzeitanforderungen. Der Unterschied liegt hier in der Zeitpriorität: Bei weichen Embedded Systems ist es wichtig, dass eine Aufgabe ausgeführt wird, der dafür benötigte Zeitwert ist aber nicht kritisch. Ein Beispiel wäre das Infotainment-System im Auto. Das soll natürlich laufen, und das auch schnell und zuverlässig, Millisekunden in der Verarbeitung des vom User eingegebenen Signals (z.B. die Lautstärke zu erhöhen) sind aber nicht kritisch.
Im Gegensatz dazu gibt es harte Echtzeitsysteme, wie Bremsassistenten im Fahrzeug – bei diesen Systemen existieren zeitlich sehr eng berechnete Deadlines, innerhalb derer die Aufgabe unbedingt verlässlich abgeschlossen sein muss. Im Falle des Bremsassistenten unmittelbar dann, wenn der Bremsvorgang erfolgen muss, um beispielsweise einen spontan auf die Straße getretenen Fußgänger zwar tierisch zu erschrecken, aber natürlich auch mit buchstäblich unbedingter Sicherheit zu verschonen. Daher gibt es hier auch sicherheitskritische und nicht sicherheitskritische Systeme, wobei letztere eigentlich nur im Konsumbereich zu finden sind (wozu auch das Infotainment-System im Auto zählt, versus den Bremsassistenten, der per se sicherheitskritisch ist).
Es gibt auch Embedded Systems, die beide Anforderungen erfüllen, also zeitkritisch und eventbasiert arbeiten – dies nennen wir „hybrides System“, weil hier kontinuierliche auf direkte Aufgabenstellungen treffen. Auch waren Embedded Systems zu Beginn ihrer Einführung rein monolithisch aufgebaut, sind heute jedoch meist verteilt im System.
Immer jedoch ist ein Embedded System ein Rechner, ob mit oder ohne Software/Firmware, der unabhängig von der Nutzung als reaktives oder dynamisches Element auf Umgebungsprozesse reagiert.
Embedded Systems – Beispiele in Alltag und Automotive
Kennt ihr das, wenn ihr eine Erklärung erhalten habt, damit aber gar nicht viel anfangen könnt? Dem möchten wir bei den Mobility Rockstars vorbeugen, daher also ein paar ganz konkrete Beispiele für den Einsatz von Embedded Systems:
- Zentralheizungen (hier übernehmen Microcontroller die Temperatursteuerung)
- Navigationssysteme (Positionierungsbestimmung)
- Fitness-Tracker (ein Embedded System misst die Herzfrequenz, eines die Schritte, eines sendet die Daten via LTE an die Cloud)
- Herzschrittmacher (keeps things going!)
- Anti-Blockier-System im Auto
- Infotainment-System (z.B jeder Controller übernimmt eine Funktion wie die Weitergabe des Songtitels an das Display des Radios, ein Controller erhöht die Lautstärke bei bestimmten Temposchwellen, die wiederum ebenfalls durch einen Controller weitergegeben werden)
- Elektrische Fahrkarten (enthalten einen Chip, den elektronische Ticketsysteme lesen können)
- Fertigungsstraßen (bei Autoherstellern übernehmen Embedded Systems einzelne Elemente in der Robotik, und in Industrie 4.0 Unternehmen können Embedded Systems auch K.I. basiertes Lernen und Machine Learning supporten, zum Beispiel zur Fehlerfindung oder auch der Ausführung von Bewegungen und anderen Arbeitsschritten)
Die leistungsfähigen Mini-Computer, die unter dem Begriff der Embedded Systems zusammengefasst werden, übernehmen also eine Vielzahl an Aufgaben, die uns nicht nur im Fahrzeug oder der Industrie, sondern auch im Alltag ständig begegnen. Da die Mikroprozessoren und -controller nur einzelne Aufgaben übernehmen, können sie viel kleiner, günstiger und energiesparender sein als Computer für Endnutzer, die eine große Masse an Funktionen bequem zur Verfügung stellen müssen.
Selbst beim Einkauf an der Selbst-Kasse begegnen uns Embedded System – in die schicke Kasse mit Touchscreen (also dem visuellen und interaktiven Nutzer-Interface) sind diverse Embedded Systems verbaut, die Dinge wie die Erkennung der Ware und deren Preis übernehmen, am Ende einen Preis ausgeben, die Chipkarte der Band (ein weiteres eingebettetes System) erkennt und die Zahlung zulässt.
In modernen Fahrzeugen gibt es kaum noch rein mechanische Funktionen, so dass sich Embedded Systems überall wiederfinden und an Bedeutung ständig zunehmen, was uns direkt zur nächsten Frage bringt.
Ist Embedded Systems die Zukunft?
Manchmal ist man als Autor versucht, einfach nur „ja“ zu sagen und zum nächsten Punkt überzugehen. Natürlich möchtet ihr es aber ein bisschen genauer wissen, also lasst es uns so formulieren:
Da immer mehr Funktionen im Auto in Echtzeit reagieren müssen und die Anzahl der Funktionen weiter zunimmt, brauchen wir auch immer mehr und immer bessere und komplexere Embedded Systems. Man nehme zum Vergleich einen 67er Ford Mustang: Ein tolles Auto, von Sammlern und Liebhabern auf der ganzen Welt begehrt. Dieser Wagen hat kein Navigationssystem, Head-Up-Display oder Sitzheizung. Kein ABS, keine Lenkhilfe, Müdigkeitswarner oder Einparksystem. Dinge, die für uns heute ganz selbstverständlich sind, wie die Lautstärke des Autoradios am Lenkrad zu erhöhen, wenn uns der neue Song gerade so richtig rockt, gab es im Mustang noch nicht, der natürlich nur in Montana Green Metallic original ist.
Und das ist nur ein winziger Bruchteil der Funktionen, die uns in modernen Fahrzeugen zur Verfügung stehen. Wer keinen Neuwagen fährt, weiß oft nicht mal, was es da alles gibt. Wer das allerdings weiß, sind Embedded Software Developer, Ingenieure im Electrical Engineering, Java-Entwickler und all die anderen Fachkräfte, die in der Industrie 4.0, in der Robotik, in der Data Science, Automobil- oder Software-Branche tätig sind. Denn diese forschen täglich weiter, um uns mit noch kleineren, noch effektiveren, noch komplexeren Embedded Systems zu versorgen und so von grundlegenden Verbesserungen bis zu absolutem Luxus alles abdecken.
Außerdem sind Mikrocontroller sehr effizient in der Fehlersuche, dem „Debugging“. Natürlich kann ein klassischer Computer, der ein Steuergerät ausliest, Programmiercode ausführen und Debugging-Anwendungen laufen lassen – dies kann der klassische Embedded Software Programmierer so nicht. Trotzdem laufen viele Programmiersprachen auf Mikrocontrollern sehr effektiv, so dass direkt auf dem Chip mit dem Debugging begonnen werden kann, was Zeit spart.
Und dann gibt es da noch das vielzitierte, beinahe schon berüchtigte Internet of Things, meist „IoT“ abgekürzt. Zur Begrifflichkeit an sich wäre ein separater Artikel nötig – lasst uns gerne auf LinkedIn oder über das Kontaktformular wissen, wenn ihr euch das wünscht. Es lässt sich zusammenfassend aber sagen, dass sich das Internet of Things durch Embedded Systems stetig weiterentwickelt und verbreitet, und dass, obwohl Embedded Systems grundsätzlich einfacher Natur sind, zumindest im Vergleich mit anderen Computern. Wir erwähnten bereits das Beispiel von Wearables wie zum Beispiel ein Fitness-Tracker-Armband. Hier nimmt ein einzelnes eingebettetes System – also, wir erinnern uns, ein „Mikrocontroller“ oder, wenn komplexer, ein „Mikroprozessor“, sprich, ein sehr einfacher, sehr kleiner Rechner – zum Beispiel die Aufgabe vor, die Schritte zu zählen und an die Cloud zu senden. Andere Beispiele wären die Videoüberwachung, in deren System ein eingebetteter Mikrocontroller regelmäßig Bilder an eine Cloud sendet, oder ein 3D-Drucker, in der Embedded Systems Temperatur und Materialverbrauch regeln.
Embedded Systems bei Cognizant Mobility
Die Entwicklung von Embedded Systems findet innerhalb der Cognizant Mobility nicht ausschließlich, aber doch größtenteils in unserem Standort in Fulda statt, der unter der Leitung von Jens Schmidt neben der Tätigkeit im Autosar Gremium oder der Entwicklung des Staplerwarners auch verschiedenste Embedded Systems Projekte betreut, wie beispielsweise die Entwicklung des Digital Car Key und auch den technisch eng verzahnten Bereich des High Performance Computings könnt ihr dort finden. An anderen Standorten wie in München arbeiten wir außerdem auch an Hardware Based Security, wozu ihr unter diesem Link einen spannenden Artikel findet.
Wenn ihr euch dafür interessiert, was genau wir im Bereich der eingebetteten Systeme entwickeln und wie wir auch eurem Unternehmen möglicherweise behilflich sein können, kommt gerne auf uns zu, wir unterhalten uns gerne mit euch.
Abonniert außerdem gerne unseren natürlich kostenfreien Newsletter, der neben den Themen dieses Blogs auch News und Trends aus der Automotive-Branche enthält und somit immer für spannende Artikel frei Haus und direkt ins Postfach liefert. Hier gelangt ihr zum Formular und könnt euch anmelden.
Vielen Dank fürs Lesen, bleibt gesund.