Display Safety zielt auf Cockpit-Domain-Controller ab und ermöglicht Android, alle Displays im Auto zu steuern, einschließlich derer, die Sicherheits- und Verfügbarkeitsanforderungen erfüllen müssen.
Abbildung 1 : Clusterübersicht.
Weitere Informationen
Weitere Informationen zu GitHub finden Sie unter Automotive Design for Compose.
Terminologie
- Plattform
- Eine Kombination aus Hardware, Hypervisor, Betriebssystem und zugehörigen Bibliotheken.
- Sicherheitsmonitor
- Eine App zur Überwachung des Fahrzeugstatus und zur Validierung, dass die entsprechenden visuellen Informationen wie vorgesehen für den Nutzer angezeigt werden.
Display Safety-Komponenten
Die Display Safety-Software besteht aus drei Hauptkomponenten:
DriverUI:Eine Android-System-App, die ein vollständiges Kombiinstrument-Display rendert, mit Ausnahme von Sicherheits- oder behördlichen Elementen, die vom HAR gerendert werden.
High Availability Renderer (HAR) : Ein Qualitätsmanagementprozess, der Displayelemente rendert, die schnell nach einem Kaltstart vorhanden sein müssen, und Platzhalterelemente, wenn Android nicht verfügbar ist. HAR ist portierbar und konzentriert sich auf kritische Fahrinformationen.
Toolchain für das Sicherheitsdesign:Eine Reihe von Tools zum Generieren von Konfigurationen für Sicherheitsmonitor-Implementierungen aus der Designquelle, um die relevanten ASIL-B-Sicherheitsziele zu erreichen.
Alle Komponenten verwenden die Toolchain für das Sicherheitsdesign, Automotive Design for Compose, um zu prüfen, ob sie aus derselben OEM-Designdefinition erstellt wurden.
Abbildung 2 : Display Safety-Komponenten.
Hochverfügbarkeits-Renderer
Der HAR ist in Rust geschrieben und besteht aus folgenden Komponenten:
Platform Abstraction Layer (PAL) Abstraktion zur Interaktion mit mehreren Subsystemen, einschließlich Grafiken, Kamera, Audio, Nutzereingabe (z. B. Lenkradsteuerung), Fahrzeugdaten (auch Signale oder Eigenschaften genannt), Fahrzeugkonfiguration (z. B. Benzin oder Elektrofahrzeug, Links- oder Rechtslenkung) und Nutzereinstellungen (z. B. km/h und mph).
Implementierung des PAL für die Zielplattform.
HAR-App, die mit dem PAL entwickelt wurde.
Google definiert den PAL und bietet Referenzimplementierungen des PAL und der HAR-App. Die Referenz-HAR-App enthält alle Bausteine und eine Referenz-Hauptschleife. OEMs sollten die PAL-Implementierung und die HAR-App an ihre Anforderungen anpassen. Der HAR verwendet Impeller zum Rendern.
Weitere Informationen:
DriverUI
Die Cluster-UI befindet sich normalerweise hinter dem Lenkrad auf einem separaten Display. OEMs kombinieren den Cluster und das IVI nach und nach. Diese kombinierte UI ist die DriverUI.
Die DriverUI ist eine Android-System-App, die ein vollständiges Kombiinstrument-Display rendert, mit Ausnahme von sicherheitsrelevanten oder behördlichen Elementen, die vom HAR gerendert werden. Die DriverUI zeigt Informationen zur Medienwiedergabe, zu Telefonanrufen, Karten, Navigation und anderen Dingen an und wird mit Automotive Design for Compose implementiert.
AAOS bietet zwei APIs zum Erstellen von Kombiinstrumenten. Die Instrument Clusters API (auch Cluster 1 genannt) befindet sich im Wartungsmodus und OEMs werden aufgefordert, zu der ClusterHomeManager API (auch Cluster 2 genannt) zu migrieren.
Google bietet Referenzimplementierungen der Cluster 1- und Cluster 2-APIs.
Weitere Informationen finden Sie unter DriverUI.
HAR- und DriverUI-Ausgabe mischen
Der HAR und die DriverUI verwenden separate Displays, um eine UI zu rendern. Beide Ausgaben werden zusammengesetzt und als ein Bild in der DriverUI angezeigt.
Dazu steuert HAR die Transparenz der Bereiche, in denen die Android-Ausgabe angezeigt wird, basierend auf periodischen Heartbeat-Nachrichten von der DriverUI, die angeben, dass sie ausgeführt wird.
Wenn die DriverUI nicht ausgeführt wird, erkennt HAR das Fehlen von Heartbeats, rendert die DriverUI-Bereiche undurchsichtig und zeigt Platzhalter an. Wenn die Heartbeats empfangen werden, entfernt HAR die Platzhalter und setzt die DriverUI-Bereiche auf transparent.
Die DriverUI und der HAR kommunizieren über Remote-Prozeduraufrufe (RPCs) miteinander. Die Heartbeat-Nachricht ist ein Beispiel für Daten, die über den RPC-Kanal gesendet werden, und enthält einen Zeitstempel als eines ihrer Felder.
gRPC wird für RPCs verwendet. Auf SDV stellt der SDV-Kommunikationsstack den SDV-Gateway-Client bereit, um einen Kanal von der DriverUI zum HAR zu erkennen und einzurichten.
Abbildung 3 : HAR- und DriverUI-Zusammensetzung.
Toolchain für das Sicherheitsdesign
Die Toolchain für das Sicherheitsdesign ist eine Reihe von Tools, die ein OEM nacheinander verwenden kann, um eine Sicherheitsmonitorlösung bereitzustellen, die aus einem Figma-Designdokument generiert wurde.
Der Compiler für das Sicherheitsdesign erzeugt Sicherheitsartefakte, um die nachfolgende Codegenerierung für die Erstellung eines Sicherheitsmonitors zu steuern. Durch diese Trennung zwischen Designkompilierung und Codegenerierung kann der verwendete Codegenerator eine ISO-26262-TCL-3-Bewertung erreichen.
Abbildung 4 : Toolchain für das Sicherheitsdesign verwenden.
Nachdem die Compilerartefakte generiert wurden, kann die Toolchain einen für Menschen lesbaren Bericht erstellen. Dieser Bericht ist eine Datei, die ein OEM-Sicherheitsingenieur prüfen kann, um die aus dem Figma-Design generierten Artefakte zu validieren.
Google bietet eine Referenzimplementierung des Sicherheitsmonitors, die nicht ASIL-zertifiziert ist. OEMs sollten den Sicherheitsmonitor an ihre Anforderungen anpassen und ihre Implementierung zertifizieren lassen.
Weitere Informationen finden Sie unter Toolchain für das Sicherheitsdesign.
Display Safety auf SDV
Sie können Display Safety auf SDV erstellen und ausführen. SDV ist vollständig und verwendet zwei Gast-VMs, um einen vollständigen Display Safety-Cluster auszuführen.
Software Defined Vehicle
Das Software Defined Vehicle (SDV) mit Android Automotive OS (AAOS):
- Erfordert zwei Gast-VMs, um den vollständigen Cluster anzuzeigen.
- Führt HAR in SDV Media (auch als VM für schnellen Start bezeichnet) in einer Gast-VM aus.
- Führt DriverUI in einer separaten Gast-VM aus, auf der die SDV-IVI-VM ausgeführt wird.