Automobilowy

Ikona HAL pojazdu z systemem Android

Wiele podsystemów samochodowych jest połączonych 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ę Controller Area Network (CAN), magistralę Local Interconnect Network (LIN), Media Oriented Systems Transport (MOST), a także sieci Ethernet i TCP / IP klasy motoryzacyjnej, takie jak BroadR-Reach.

Warstwa abstrakcji sprzętu (HAL) systemu Android Automotive zapewnia spójny interfejs platformy Android niezależnie od fizycznej warstwy transportowej. HAL tego pojazdu jest interfejsem do tworzenia implementacji Android Automotive.

Integratorzy systemów mogą wdrożyć moduł HAL pojazdu, łącząc interfejsy HAL platformy specyficznej dla funkcji (np. HVAC) z interfejsami sieciowymi specyficznymi dla technologii (np. Magistrala CAN). Typowe implementacje mogą obejmować dedykowaną jednostkę mikrokontrolera (MCU) obsługującą zastrzeżony system operacyjny czasu rzeczywistego (RTOS) dla dostępu do magistrali CAN lub podobny, który może być podłączony poprzez łącze szeregowe do procesora z systemem Android Automotive. Zamiast dedykowanego MCU można również zaimplementować dostęp do magistrali jako zwirtualizowany procesor. Do każdego partnera należy wybór architektury odpowiedniej dla sprzętu, o ile implementacja spełnia wymagania interfejsu HAL pojazdu.

Architektura

HAL pojazdu to definicja interfejsu między samochodem a usługą sieciową pojazdu:

Architektura HAL pojazdu z systemem Android

Ryc.1 . Architektura samochodowa HAL i Android

  • Car 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 .
  • CarService . Znajduje się pod adresem /platform/packages/services/Car/ .
  • Pojazd HAL . Interfejs definiujący właściwości pojazdu, które mogą wdrożyć producenci OEM. Zawiera metadane właściwości (na przykład informacje o tym, czy właściwość pojazdu jest wartością typu int i które tryby zmiany są dozwolone). Znajduje się pod adresem hardware/libhardware/include/hardware/vehicle.h . Aby zapoznać się z podstawową implementacją referencyjną, zobacz hardware/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 uzyskiwania dostępu do danych:

  • Dostępne dla aplikacji za zgodą (za pośrednictwem serwisu samochodowego).
  • Dostępne bez pozwolenia (za pośrednictwem serwisu samochodowego).

Bezpośredni dostęp do właściwości pojazdu jest dozwolony tylko dla wybranych komponentów systemu z siecią pojazdu z zabezpieczeniem dostępu selinux. Większość aplikacji przechodzi przez dodatkowy gatekeeping przez usługę samochodową (na przykład tylko aplikacje systemowe mogą sterować HVAC, ponieważ wymaga to uprawnień systemowych przyznanych tylko aplikacjom systemowym).