Google 致力于为黑人社区推动种族平等。查看具体举措
本頁面由 Cloud Translation API 翻譯而成。
Switch to English

汽車行業

Android vehicle HAL圖標

許多汽車子系統通過各種總線拓撲相互連接,並與車載信息娛樂(IVI)系統互連。確切的總線類型和協議在製造商之間(甚至在同一品牌的不同車型之間)差異很大。示例包括控制器局域網(CAN)總線,本地互連網絡(LIN)總線,面向媒體的系統傳輸(MOST)以及汽車級以太網和TCP / IP網絡,例如Br​​oadR-Reach。

不論物理傳輸層如何,Android Automotive硬件抽象層(HAL)均可為Android框架提供一致的接口。該車輛HAL是用於開發Android Automotive實現的界面。

系統集成商可以通過將功能特定的平台HAL接口(例如HVAC)與技術特定的網絡接口(例如CAN總線)連接來實現車輛HAL模塊。典型的實現可能包括運行專用實時操作系統(RTOS)的專用微控制器單元(MCU),用於CAN總線訪問或類似功能,可以通過串行鏈接連接到運行Android Automotive的CPU。代替專用MCU,也可以將總線訪問實現為虛擬CPU。只要實現滿足車輛HAL的接口要求,就由每個合作夥伴選擇適合於硬件的體系結構。

建築

車輛HAL是車輛與車輛網絡服務之間的接口定義:

Android車輛HAL架構

圖1 。車輛HAL和Android汽車架構

  • 汽車API 。包含API,例如CarHvacManager和CarSensorManager。有關受支持的API的詳細信息,請參閱/platform/packages/services/Car/car-lib
  • CarService 。位於/platform/packages/services/Car/
  • 車輛HAL 。定義OEM可以實現的車輛屬性的接口。包含屬性元數據(例如,車輛屬性是否為int以及允許使用哪種更改模式)。位於hardware/libhardware/include/hardware/vehicle.h 。有關基本的參考實現,請參閱hardware/libhardware/modules/vehicle/

有關更多詳細信息,請參見車輛屬性

安全

車輛HAL支持訪問數據的三個安全級別:

  • 僅系統(由vns_policy.xml控制)
  • 經許可可訪問應用程序(通過汽車服務)
  • 未經允許即可訪問(通過汽車服務)

僅具有車輛網絡服務的網守僅允許選擇的系統組件直接訪問車輛屬性。大多數應用程序通過汽車服務進行額外的關守(例如,只有系統應用程序才能控制HVAC,因為它需要僅授予系統應用程序的系統許可)。

驗證方式

AOSP包括以下用於開發的測試資源:

  • hardware/libhardware/tests/vehicle/vehicle-hal-tool.c
    命令行本地工具,用於加載車輛HAL並執行簡單的操作。對於在開發的早期階段啟動和運行系統很有用。
  • packages/services/Car/tests/carservice_test/
    包含具有模擬車輛HAL屬性的汽車服務測試。對於每個屬性,在測試中都會實現預期的行為。這可能是了解預期行為的良好起點。
  • hardware/libhardware/modules/vehicle/
    基本參考實現。