Eine Einführung in softwaredefinierte Autos
Hardware-Architekturen für die softwaredefinierten Fahrzeuge von morgen
Brandon Lewis für Mouser Electronics
Quelle: kaptn/stock.adobe.com
Moderne Autos bestehen aus einer Kombination von Stahl und Silizium, die von mehr als 100 Millionen Codezeilen (MLOC) gesteuert werden. In einem durchschnittlichen Fahrzeug läuft diese Software auf einem Netzwerk von Hunderten von Steuergeräten, sogenannten ECUs.
ECUs sind eingebettete, verarbeitende Subsysteme, die die verschiedenen anderen Subsysteme des Fahrzeugs steuern, darunter den Motor, das Getriebe, die Servolenkung sowie Airbags und Bremsen. Heutzutage sind diese Controller über Drähte und Kabel miteinander verbunden, die Signale übertragen und Auskunft über Abhängigkeiten geben. Zwar funktioniert das Ganze, doch ist diese Architektur mit bedeutenden Nachteilen verbunden:
- Gewicht: Die Drähte und Kabel, die benötigt werden, um all diese Subsysteme miteinander zu verbinden, machen Fahrzeuge sehr viel schwerer, was sich auf wesentliche Verbrauchermetriken wie den Kraftstoffbedarf auswirkt.
- Wartung: Je höher die Anzahl an verbauten Komponenten, desto mehr potenzielle Fehlerquellen sind vorhanden.
- Angriffsvektoren: ECUs in vernetzten Autos sind besonders anfällig für Cyberangriffe, da interne Fahrzeugnetzwerke häufig nicht über die notwendigen Abwehrmechanismen verfügen, die wir von modernen Netzwerken erwarten.
- Kosten: Jedes weitere Logikbauteil mit seinem Speicher, seinen Schnittstellen und seinem Gehäuse erhöht die Kosten für ohnehin schon kostspielige Automobildesigns noch weiter.
Gleichzeitig wird der Wunsch nach mehr Funktionalität in Fahrzeugen der nächsten Generation die Menge an Code in Autos nur noch weiter erhöhen. Schätzungen zufolge sollen beispielsweise die Softwareanforderungen vollständig autonomer Fahrzeuge in einem Bereich zwischen 300 und 500 MLOC liegen.
Diese Architekturen für softwaredefinierte Fahrzeuge (Software-defined Vehicle, SDV) werden zunehmend unüberschaubar, wenn eine halbe Milliarde Codezeilen auf Hunderte miteinander verbundener, voneinander abhängiger, aber separater Fahrzeugsteuergeräte verteilt sind. Diese Systeme sind nur dann wirklich realisierbar, wenn die Verarbeitungsarchitekturen im Fahrzeug eher Rechenzentren mit konsolidierten Ressourcen ähneln als eingebetteten Systemen.
Konsolidierung von SDV-Architekturen
Um den Bedarf an neuen Fahrzeugarchitekturen zu verstehen, denken Sie an den Firmware-over-the-Air (FOTA)-Update-Prozess in einem Fahrzeug mit Hunderten von ECUs (von denen einige miteinander verkettet sind und viele strenge Abhängigkeiten aufweisen), die alle mit unterschiedlichen Firmware-Versionen arbeiten. Selbst für einfache Updates wird die Orchestrierung und Handhabung derartiger Verfahren im Handumdrehen unbeherrschbar.
Hier kommt die ECU-Konsolidierung ins Spiel, die die Anzahl und die Art der Domänencontroller in modernen Fahrzeugen in weniger hochleistungsfähige, partitionierte Multi-Core-Prozessoren bündelt, die in der Lage sind, mehrere Fahrzeugbereiche oder Subsysteme gleichzeitig zu verwalten. Das Konzept der ECU-Konsolidierung stellt einen alternativen Architekturansatz dar, der mehrere überzeugende Vorteile bietet. Erstens verringern die Gruppierungsfunktionen die Komplexität gegenüber gegenwärtig vorherrschenden Architekturen signifikant. Dies führt zu einem überschaubareren Hardware- und Software-Stack, saubererem Code, vereinfachter Integration und leichterer Wartung auf dem Weg in die Ära der SDVs.
Zweitens erhöht das ECU-Konsolidierungsmodell die Entwicklungseffizienz, da Entwicklungsteams bei ihrem Fokus auf logische Fahrzeugbereiche und/oder Subsysteme nun standardisierte Tools und Verfahren statt eine Reihe spezifischer Funktionen implementieren können. Dieser zielgerichtete Ansatz fördert die Zusammenarbeit, beschleunigt die Innovation und verringert letzten Endes die Markteinführungszeit für neue Funktionen und Updates.
Weiter begünstigt die konsolidierte Architektur OTA-Updates, da das Aktualisieren von Software leichter durchführbar ist als das Aktualisieren Hunderter über das gesamte Fahrzeug verteilter ECUs, und die damit verbundenen Effizienzverluste. Darüber hinaus macht die kleinere Angriffsfläche des Zonenansatzes das gesamte System widerstandsfähiger gegen Cyberbedrohungen. Dementsprechend ist eine geringere Anzahl an Plattformen durch leistungsfähigere Sicherheitsmaßnahmen geschützt, was die Integrität des gesamten Systems verbessert.
Abschließend wirkt sich der Ansatz der ECU-Konsolidierung auf die Kosteneffizienz aus. Die Optimierung der Hardware- und Software-Anforderungen auf weniger Ziele kann zu erheblichen Kosteneinsparungen führen. Diese Optimierungen können durchaus die effiziente Nutzung von Ressourcen gewährleisten, was einen wirtschaftlichen Vorteil hinsichtlich der Gesamtkosten des Fahrzeugs bietet.
Die beiden bisher wichtigsten Ansätze der ECU-Konsolidierung lauten: zentralisierte Architektur und Zonenarchitektur.
Zentralisierte Architekturen
Stellen Sie sich Multi-Core-Prozessoren der Serverklasse oder Chiplets vor, die im Fahrzeugkern große Datenmengen abarbeiten. Es handelt sich dabei um eine zentralisierte Architektur, die verstreute ECU-Inseln durch eine einheitliche Verarbeitungszentrale ersetzt. Diese Architektur verwaltet sämtliche Fahrzeugbereiche und -funktionen ausgehend von einem zentralen Ort, von der Motorsteuerung bis hin zu fortschrittlichen Fahrerassistenzsystemen (FAS).
Dieser monolithische Ansatz bietet zahlreiche Vorteile:
- Vereinfachte Updates und Wartung: Software-Updates werden viel einfacher, da sie in einem Schritt für das ganze System bereitgestellt werden.
- Gesteigerte Leistung: Indem sie Ressourcen bündeln, können zentralisierte Architekturen Rechenleistungen enorm erhöhen und eine schnelle Datenverarbeitung für komplexe Algorithmen des autonomen Fahrens ermöglichen.
- Verstärkte Sicherheit: Ein zentraler Hub vereinfacht die Sicherheitsmaßnahmen und bietet einheitliche Abwehrmechanismen gegen Cyberbedrohungen.
- Geringere Kosten und Komplexität: Weniger ECUs bedeuten weniger Hardware, Verkabelung und Gesamtkomplexität, was zu Kosteneinsparungen und weniger Gewicht führt.
Nichtsdestotrotz ist eine derartige Zentralisierung mit ganz eigenen Herausforderungen verbunden. Um mehrere und verschiedenartige Funktionen in ein einzelnes System einzupassen, bedarf es einer möglichst präzisen Integration. Zudem befinden sich bei derartigen Anordnungen auch alle Fehlerquellen an einem einzigen Ort, weshalb ein Problem mit einem Kerngerät bzw. mit gebündelten Geräten das gesamte Fahrzeug erheblich beeinträchtigen kann. Um sich gegen dieses Risiko zu schützen, sind sorgfältige Redundanzen unerlässlich.
Zonenarchitekturen
Zonenarchitekturen sorgen für eine nuancierte Konsolidierung. Dabei wird jede einzelne Fahrzeugdomäne von einem eigenen leistungsstarken Zonencontroller verwaltet. Diese Controller steuern spezifische Bereiche und bleiben gleichzeitig mit einer zentralen ECU verbunden, die sämtliche Fahrzeugfunktionen überwacht.
Dieses Modell bietet mehrere Vorteile:
- Modulares Design: Zonenarchitekturen sorgen für Modularität und mehr Designoptionen. Jede Zone arbeitet unabhängig von den anderen, was die Entwicklung und Wartung vereinfacht.
- Bedarfsgesteuerte Skalierbarkeit: Das Hinzufügen neuer Funktionen mithilfe von FOTA oder anderen Verfahren wird vereinfacht, da Updates beliebigen Zonen zugewiesen werden können.
- Flexibilität und Fehlertoleranz: Unabhängige Zonen erhöhen die Ausfallsicherheit des Systems. Die Zonen bleiben miteinander verbunden, aber isoliert, sodass ein Ausfall in einer Zone nicht das gesamte Fahrzeug beeinträchtigt.
- Weniger Verkabelungsprobleme: Das Gruppieren von Funktionen innerhalb von Zonencontrollern verringert den Bedarf an komplexen, ausufernden Kabelsträngen.
Jedoch ist dieser dezentralisierte Ansatz auch mit dem ein oder anderen Nachteil verbunden. Der Einsatz von Software in jeder Zone über potenziell heterogene Hardwareplattformen hinweg führt unweigerlich zu einer höheren Komplexität. Da es sich um eine hierarchische Architektur handelt, bei der die Zonencontroller an eine übergeordnete ECU berichten, werden Software-Updates zu einem mehrstufigen Prozess, der eine sorgfältige Koordination zwischen den Zonen erfordert.
Die Auswahl der richtigen Architektur bildet eine komplexe Gleichung, die die Effizienz der Zentralisierung mit der Flexibilität der Zonenarchitektur ins Gleichgewicht bringen soll.
Virtualisierung und Containerisierung
Während zentralisierte und Zonenarchitekturen aufregende Ansätze zur ECU-Konsolidierung bieten, sind sie mit folgenden inhärenten Herausforderung verbunden: zahlreiche Software-Workloads mit eingeschränkter Hardware auszuführen und zu verwalten. Hier kommen die mächtigen Tools der Virtualisierung und Containerisierung (Abbildung 1) ins Spiel, die dazu in der Lage sind, das volle Potenzial von SDVs zu erschließen.
Abbildung 1: Anwendungshosting-Architektur in Virtualisierungs- und Containerisierungsumgebungen. (Quelle: Autor)
Virtualisierung: Virtualisierungsprozessoren
Die Virtualisierungstechnologie ist dazu in der Lage, auf einer einzigen physischen Multi-Core-Hardwareplattform eine oder mehrere Ausführungsumgebungen zu schaffen. Diese als virtuelle Maschinen (VMs) bezeichneten Umgebungen können ihren eigenen Computern, Speichern und I/O-Ressourcen zugewiesen werden und zusätzliche Betriebsumgebungen beherbergen, die harmonisch – aber getrennt von der in anderen VMs laufenden Software – koexistieren.
Im Automobilkontext kann jede einzelne VM spezifische Subsystem- oder Domänenfunktionen wie Fahrerassistenzsysteme, Infotainment oder Antriebssteuerungen beherbergen. Diese Abgrenzung bietet zahlreiche Vorteile:
- Verbesserte Leistung: Die Virtualisierung gewährleistet die reibungslose Ressourcenzuordnung, die verhindert, dass bestimmte Applikationen Ressourcen monopolisieren oder das gesamte System zum Absturz bringen.
- Flexible Bereitstellung: VMs können außerdem als Sandboxen dienen, die es softwarekompatiblen Umgebungen ermöglichen, auf verfügbaren Prozessorkernen zu laufen.
Containerisierung: Die Virtualisierung von Betriebssystemen
Die Containerisierung bündelt Applikationscodes, Bibliotheken und Abhängigkeiten in tragbare, standardisierte Einheiten, die über virtualisierte Betriebssysteme bereitgestellt werden können. Dieser Ansatz bietet weitere Vorteile:
- Ressourceneffizienz: Anders als VMs sind Container dazu in der Lage, sich ein zugrundeliegendes Betriebssystem zu teilen, was die Anzahl der Ressourcen minimiert und die Hardewarenutzung maximiert.
- Ultimative Portabilität: Container können zudem auf virtuellen Betriebssystemen bereitgestellt werden, was umfassende Portabilität und Designflexibilität ermöglicht, da einmal erstellte Software beinahe uneingeschränkt verwendet werden kann.
Kurz gesagt schaffen VMs voneinander getrennte Ausführungsumgebungen, und Container ermöglichen das effiziente Bündeln und Bereitstellen von Software innerhalb dieser VMs. Das eröffnet unzählige Möglichkeiten rund um das Management unterschiedlicher Kritikalitäten, einschließlich der Möglichkeit, sicherheitskritische Funktionen in eigens zugewiesenen VMs unterzubringen, während weniger kritische Applikationen in anderen laufen.
Virtualisierung und Containerisierung können nutzbringend eingesetzt werden, um zusätzliche Vorteile der ECU-Konsolidierung zu erschließen, indem die Skalierbarkeit und Flexibilität erhöht und das Hinzufügen und Entfernen von Funktionen erleichtert wird. Virtualisierung und Containerisierung dienen als Wegbereiter, die den Wandel hin zu SDVs reibungsloser und effizienter gestalten.
Fazit
Da die Anzahl der Codezeilen in Autos auf voraussichtlich 500 MLOC ansteigt, werden sich herkömmliche dezentrale ECU-Architekturen nicht länger als brauchbar erweisen. Zentralisierte und Zonen-ECU-Architekturen gelten als vielversprechende Alternativen der nächsten Generation. Ihre Verwendung ist jedoch höchstwahrscheinlich mit Investitionen in Virtualisierungs- und Containerisierungsfunktionen verbunden, die sicherstellen, dass Software-Workloads koexistieren können und die Geschwindigkeit, Portabilität und Ressourceneffizienz erhöhen.
Aber ihre Auswirkungen gehen weit über reine Wartungsmaßnahmen hinaus. Virtualisierung und Containerisierung verändern die Art und Weise, wie Software entwickelt und in Fahrzeugen eingesetzt wird. Als Teil künftiger FOTA-Update-Strategien werden sie es der Automobilindustrie ermöglichen, sich von teuren Rückrufaktionen und lästigen Werkstattbesuchen zu verabschieden. Stellen Sie sich vor, Sie könnten durch FOTA-Updates ganz einfach neue Funktionen hinzufügen, kritische Fehler beheben und sogar Ihr Fahrerlebnis individuell anpassen. Dies steht in direktem Zusammenhang mit zufriedeneren Kunden, weniger Ausfallzeiten und einem stetigen Einkommensstrom aus Fernkäufen und Upgrades, die erfolgen, wenn die Besitzer ihre Autos aus dem Autohaus gefahren haben.
Durch die Nutzung der transformativen Kraft zentralisierter sowie Zonendesigns können Autos sehr viel mehr sein als nur Maschinen. Sie werden zu einer dynamischen, lebendigen Innovationsplattform.
1 „Global Automotive Supplier Study 2018“, Roland Berger, Dezember 2017, 49, https://www.rolandberger.com/publications/publication_pdf/roland_berger_global_automotive_supplier_study_2018.pdf.