Otomotif

Ikon HAL kendaraan Android

Banyak subsistem mobil saling terhubung satu sama lain dan sistem infotainment dalam kendaraan (IVI) melalui berbagai topologi bus. Jenis dan protokol bus yang tepat sangat bervariasi antar produsen (dan bahkan antara model kendaraan yang berbeda dari merek yang sama); contohnya termasuk bus Controller Area Network (CAN), bus Local Interconnect Network (LIN), Media Oriented Systems Transport (MOST), serta jaringan Ethernet dan TCP/IP tingkat otomotif seperti BroadR-Reach.

Lapisan abstraksi perangkat keras Android Automotive (HAL) menyediakan antarmuka yang konsisten ke kerangka kerja Android terlepas dari lapisan transport fisik. HAL kendaraan ini adalah antarmuka untuk mengembangkan implementasi Android Automotive.

Integrator sistem dapat mengimplementasikan modul HAL kendaraan dengan menghubungkan antarmuka HAL platform khusus fungsi (misalnya HVAC) dengan antarmuka jaringan khusus teknologi (misalnya bus CAN). Implementasi umum dapat mencakup Unit Mikrokontroler (MCU) khusus yang menjalankan sistem operasi real-time (RTOS) berpemilik untuk akses bus CAN atau serupa, yang dapat dihubungkan melalui tautan serial ke CPU yang menjalankan Android Automotive. Alih-alih MCU khusus, dimungkinkan juga untuk mengimplementasikan akses bus sebagai CPU tervirtualisasi. Terserah masing-masing mitra untuk memilih arsitektur yang cocok untuk perangkat keras selama implementasi memenuhi persyaratan antarmuka untuk HAL kendaraan.

Arsitektur

Kendaraan HAL adalah definisi antarmuka antara mobil dan layanan jaringan kendaraan:

Arsitektur HAL kendaraan Android

Gambar 1 . Kendaraan HAL dan arsitektur otomotif Android

  • API mobil . Berisi API, termasuk CarSensorManager . Untuk detail tentang API yang didukung, lihat /platform/packages/services/Car/car-lib .
  • Layanan Mobil . Terletak di /platform/packages/services/Car/ .
  • HAL kendaraan . Antarmuka yang mendefinisikan properti kendaraan yang dapat diterapkan oleh OEM. Berisi metadata properti (misalnya, apakah properti kendaraan adalah int dan mode perubahan mana yang diizinkan). Terletak di hardware/libhardware/include/hardware/vehicle.h . Untuk implementasi referensi dasar, lihat hardware/libhardware/modules/vehicle/ .

Untuk detail selengkapnya, lihat Properti Kendaraan .

Keamanan

Kendaraan HAL mendukung tingkat keamanan ini saat mengakses data:

  • Dapat diakses ke aplikasi dengan izin (melalui layanan mobil).
  • Dapat diakses tanpa izin (melalui layanan mobil).

Akses langsung ke properti kendaraan hanya diperbolehkan untuk komponen sistem tertentu dengan jaringan kendaraan dengan perlindungan akses selinux. Sebagian besar aplikasi melewati penjagaan gerbang tambahan dengan layanan mobil (misalnya, hanya aplikasi sistem yang dapat mengontrol HVAC karena memerlukan izin sistem yang hanya diberikan untuk aplikasi sistem).