
Birçok araç alt sistemi, çeşitli veri yolu topolojileri aracılığıyla birbirleriyle ve araç içi bilgi-eğlence (IVI) sistemiyle bağlantı kurar. Kesin veri yolu tipi ve protokoller üreticiler arasında (ve hatta aynı markanın farklı araç modelleri arasında) büyük farklılıklar gösterir; Örnekler arasında Denetleyici Alan Ağı (CAN) veriyolu, Yerel Ara Bağlantı Ağı (LIN) veriyolu, Medya Yönelimli Sistem Taşımacılığı (MOST) ile otomotiv sınıfı Ethernet ve BroadR-Reach gibi TCP/IP ağları yer alır.
Android Automotive donanım soyutlama katmanı (HAL), fiziksel aktarım katmanından bağımsız olarak Android çerçevesine tutarlı bir arabirim sağlar. Bu araç HAL, Android Otomotiv uygulamalarını geliştirmek için bir arayüzdür.
Sistem entegratörleri, işleve özel platform HAL arabirimlerini (örneğin HVAC) teknolojiye özgü ağ arabirimleriyle (örneğin CAN bus) bağlayarak bir araç HAL modülünü uygulayabilir. Tipik uygulamalar, Android Automotive çalıştıran CPU'ya bir seri bağlantı yoluyla bağlanabilen, CAN veri yolu erişimi veya benzeri için özel bir gerçek zamanlı işletim sistemi (RTOS) çalıştıran özel bir Mikrodenetleyici Birimi (MCU) içerebilir. Özel bir MCU yerine, veri yolu erişimini sanallaştırılmış bir CPU olarak uygulamak da mümkün olabilir. Uygulama, araç HAL'si için arayüz gereksinimlerini karşıladığı sürece, donanıma uygun mimariyi seçmek her ortağın kendisine kalmıştır.
Mimari
Araç HAL'ı, araç ile araç ağı hizmeti arasındaki arayüz tanımıdır:

Şekil 1 . Araç HAL ve Android otomotiv mimarisi
- Araba API'si .
CarSensorManager
dahil API'leri içerir. Desteklenen API'lerle ilgili ayrıntılar için bkz./platform/packages/services/Car/car-lib
. - Araba Servisi .
/platform/packages/services/Car/
adresinde bulunur. - Araç HAL . OEM'lerin uygulayabileceği araç özelliklerini tanımlayan arayüz. Özellik meta verilerini içerir (örneğin, araç özelliğinin bir int olup olmadığı ve hangi değişiklik modlarına izin verildiği).
hardware/libhardware/include/hardware/vehicle.h
adresinde bulunur. Temel bir başvuru uygulaması için,hardware/libhardware/modules/vehicle/
bakın.
Daha fazla ayrıntı için bkz. Araç Özellikleri .
Güvenlik
Araç HAL, verilere erişirken şu güvenlik düzeylerini destekler:
- İzinle uygulamaya erişilebilir (araba servisi aracılığıyla).
- İzinsiz erişilebilir (araba servisi aracılığıyla).
Araç özelliklerine doğrudan erişime, yalnızca selinux erişim korumalı araç ağı ile seçilen sistem bileşenlerine izin verilir. Çoğu uygulama, araç servisi tarafından ek ağ geçidi korumasından geçer (örneğin, yalnızca sistem uygulamalarına sistem izni verilmesini gerektirdiğinden, yalnızca sistem uygulamaları HVAC'yi kontrol edebilir).
,
Birçok araç alt sistemi, çeşitli veri yolu topolojileri aracılığıyla birbirleriyle ve araç içi bilgi-eğlence (IVI) sistemiyle bağlantı kurar. Kesin veri yolu tipi ve protokoller üreticiler arasında (ve hatta aynı markanın farklı araç modelleri arasında) büyük farklılıklar gösterir; Örnekler arasında Denetleyici Alan Ağı (CAN) veriyolu, Yerel Ara Bağlantı Ağı (LIN) veriyolu, Medya Yönelimli Sistem Taşımacılığı (MOST) ile otomotiv sınıfı Ethernet ve BroadR-Reach gibi TCP/IP ağları yer alır.
Android Automotive donanım soyutlama katmanı (HAL), fiziksel aktarım katmanından bağımsız olarak Android çerçevesine tutarlı bir arabirim sağlar. Bu araç HAL, Android Otomotiv uygulamalarını geliştirmek için bir arayüzdür.
Sistem entegratörleri, işleve özel platform HAL arabirimlerini (örneğin HVAC) teknolojiye özgü ağ arabirimleriyle (örneğin CAN bus) bağlayarak bir araç HAL modülünü uygulayabilir. Tipik uygulamalar, Android Automotive çalıştıran CPU'ya bir seri bağlantı yoluyla bağlanabilen, CAN veri yolu erişimi veya benzeri için özel bir gerçek zamanlı işletim sistemi (RTOS) çalıştıran özel bir Mikrodenetleyici Birimi (MCU) içerebilir. Özel bir MCU yerine, veri yolu erişimini sanallaştırılmış bir CPU olarak uygulamak da mümkün olabilir. Uygulama, araç HAL'si için arayüz gereksinimlerini karşıladığı sürece, donanıma uygun mimariyi seçmek her ortağın kendisine kalmıştır.
Mimari
Araç HAL'ı, araç ile araç ağı hizmeti arasındaki arayüz tanımıdır:

Şekil 1 . Araç HAL ve Android otomotiv mimarisi
- Araba API'si .
CarSensorManager
dahil API'leri içerir. Desteklenen API'lerle ilgili ayrıntılar için bkz./platform/packages/services/Car/car-lib
. - Araba Servisi .
/platform/packages/services/Car/
adresinde bulunur. - Araç HAL . OEM'lerin uygulayabileceği araç özelliklerini tanımlayan arayüz. Özellik meta verilerini içerir (örneğin, araç özelliğinin bir int olup olmadığı ve hangi değişiklik modlarına izin verildiği).
hardware/libhardware/include/hardware/vehicle.h
adresinde bulunur. Temel bir başvuru uygulaması için,hardware/libhardware/modules/vehicle/
bakın.
Daha fazla ayrıntı için bkz. Araç Özellikleri .
Güvenlik
Araç HAL, verilere erişirken şu güvenlik düzeylerini destekler:
- İzinle uygulamaya erişilebilir (araba servisi aracılığıyla).
- İzinsiz erişilebilir (araba servisi aracılığıyla).
Araç özelliklerine doğrudan erişime, yalnızca selinux erişim korumalı araç ağı ile seçilen sistem bileşenlerine izin verilir. Çoğu uygulama, araç servisi tarafından ek ağ geçidi korumasından geçer (örneğin, yalnızca sistem uygulamalarına sistem izni verilmesini gerektirdiğinden, yalnızca sistem uygulamaları HVAC'yi kontrol edebilir).