
Wiele podsystemów samochodowych łączy się ze sobą oraz z pokładowym systemem informacyjno-rozrywkowym (IVI) za pośrednictwem różnych topologii magistrali. Dokładny typ magistrali i protokoły różnią się znacznie między producentami (a nawet między różnymi modelami pojazdów tej samej marki); przykłady obejmują magistralę CAN (Controller Area Network), magistralę LIN (Local Interconnect Network), MOST (Media Oriented Systems Transport), a także samochodowe sieci Ethernet i TCP/IP, takie jak BroadR-Reach.
Warstwa abstrakcji sprzętu Android Automotive (HAL) zapewnia spójny interfejs dla platformy Android niezależnie od fizycznej warstwy transportowej. Ten pojazd HAL jest interfejsem do tworzenia wdrożeń Android Automotive.
Integratorzy systemów mogą wdrożyć moduł HAL pojazdu, łącząc specyficzne dla funkcji interfejsy HAL platformy (np. HVAC) z interfejsami sieciowymi specyficznymi dla technologii (np. magistrala CAN). Typowe implementacje mogą obejmować dedykowaną jednostkę mikrokontrolera (MCU) z zastrzeżonym systemem operacyjnym czasu rzeczywistego (RTOS) dla dostępu do magistrali CAN lub podobnym, który może być podłączony przez łącze szeregowe do procesora z systemem Android Automotive. Zamiast dedykowanego MCU, możliwe jest również zaimplementowanie dostępu do magistrali jako zwirtualizowanego procesora. Do każdego partnera należy wybór architektury odpowiedniej dla sprzętu, o ile implementacja spełnia wymagania interfejsu dla HAL pojazdu.
Architektura
HAL pojazdu to definicja interfejsu między samochodem a usługą sieci pojazdu:

Rysunek 1 . Pojazdy HAL i architektura motoryzacyjna Android
- Samochodowy interfejs API . Zawiera interfejsy API, w tym
CarSensorManager
. Aby uzyskać szczegółowe informacje na temat obsługiwanych interfejsów API, zobacz/platform/packages/services/Car/car-lib
. - Serwis samochodowy . Znajduje się na
/platform/packages/services/Car/
. - HAL pojazdu . Interfejs definiujący właściwości pojazdu, które mogą wdrożyć producenci OEM. Zawiera metadane właściwości (na przykład, czy właściwość pojazdu jest int i jakie tryby zmiany są dozwolone). Znajduje się w
hardware/libhardware/include/hardware/vehicle.h
. Aby zapoznać się z podstawową implementacją referencyjną, zobaczhardware/libhardware/modules/vehicle/
.
Aby uzyskać więcej informacji, zobacz Właściwości pojazdu .
Bezpieczeństwo
HAL pojazdu obsługuje następujące poziomy bezpieczeństwa podczas dostępu do danych:
- Dostępne dla aplikacji za zgodą (poprzez serwis samochodowy).
- Dostępne bez pozwolenia (przez serwis samochodowy).
Bezpośredni dostęp do właściwości pojazdu jest możliwy tylko dla wybranych elementów systemu z siecią pojazdów z ochroną dostępu selinux. Większość aplikacji przechodzi przez dodatkowe usługi bramkowania przez serwis samochodowy (na przykład tylko aplikacje systemowe mogą sterować HVAC, ponieważ wymaga to uprawnień systemowych przyznawanych tylko aplikacjom systemowym).
,
Wiele podsystemów samochodowych łączy się ze sobą oraz z pokładowym systemem informacyjno-rozrywkowym (IVI) za pośrednictwem różnych topologii magistrali. Dokładny typ magistrali i protokoły różnią się znacznie między producentami (a nawet między różnymi modelami pojazdów tej samej marki); przykłady obejmują magistralę CAN (Controller Area Network), magistralę LIN (Local Interconnect Network), MOST (Media Oriented Systems Transport), a także samochodowe sieci Ethernet i TCP/IP, takie jak BroadR-Reach.
Warstwa abstrakcji sprzętu Android Automotive (HAL) zapewnia spójny interfejs dla platformy Android niezależnie od fizycznej warstwy transportowej. Ten pojazd HAL jest interfejsem do tworzenia wdrożeń Android Automotive.
Integratorzy systemów mogą wdrożyć moduł HAL pojazdu, łącząc specyficzne dla funkcji interfejsy HAL platformy (np. HVAC) z interfejsami sieciowymi specyficznymi dla technologii (np. magistrala CAN). Typowe implementacje mogą obejmować dedykowaną jednostkę mikrokontrolera (MCU) z zastrzeżonym systemem operacyjnym czasu rzeczywistego (RTOS) dla dostępu do magistrali CAN lub podobnym, który może być podłączony przez łącze szeregowe do procesora z systemem Android Automotive. Zamiast dedykowanego MCU, możliwe jest również zaimplementowanie dostępu do magistrali jako zwirtualizowanego procesora. Do każdego partnera należy wybór architektury odpowiedniej dla sprzętu, o ile implementacja spełnia wymagania interfejsu dla HAL pojazdu.
Architektura
HAL pojazdu to definicja interfejsu między samochodem a usługą sieci pojazdu:

Rysunek 1 . Pojazdy HAL i architektura motoryzacyjna Android
- Samochodowy interfejs API . Zawiera interfejsy API, w tym
CarSensorManager
. Aby uzyskać szczegółowe informacje na temat obsługiwanych interfejsów API, zobacz/platform/packages/services/Car/car-lib
. - Serwis samochodowy . Znajduje się na
/platform/packages/services/Car/
. - HAL pojazdu . Interfejs definiujący właściwości pojazdu, które mogą wdrożyć producenci OEM. Zawiera metadane właściwości (na przykład, czy właściwość pojazdu jest int i jakie tryby zmiany są dozwolone). Znajduje się w
hardware/libhardware/include/hardware/vehicle.h
. Aby zapoznać się z podstawową implementacją referencyjną, zobaczhardware/libhardware/modules/vehicle/
.
Aby uzyskać więcej informacji, zobacz Właściwości pojazdu .
Bezpieczeństwo
HAL pojazdu obsługuje następujące poziomy bezpieczeństwa podczas dostępu do danych:
- Dostępne dla aplikacji za zgodą (poprzez serwis samochodowy).
- Dostępne bez pozwolenia (przez serwis samochodowy).
Bezpośredni dostęp do właściwości pojazdu jest możliwy tylko dla wybranych elementów systemu z siecią pojazdów z ochroną dostępu selinux. Większość aplikacji przechodzi przez dodatkowe usługi bramkowania przez serwis samochodowy (na przykład tylko aplikacje systemowe mogą sterować HVAC, ponieważ wymaga to uprawnień systemowych przyznawanych tylko aplikacjom systemowym).