
ระบบย่อยของรถยนต์จำนวนมากเชื่อมต่อถึงกัน และระบบอินโฟเทนเมนท์ในรถยนต์ (IVI) ผ่านโทโพโลยีของบัสต่างๆ ประเภทและโปรโตคอลของรถบัสที่แน่นอนจะแตกต่างกันไปตามผู้ผลิต (และแม้กระทั่งระหว่างรถรุ่นต่างๆ ของแบรนด์เดียวกัน) ตัวอย่าง ได้แก่ บัส Controller Area Network (CAN) บัส Local Interconnect Network (LIN) Media Oriented Systems Transport (MOST) ตลอดจนเครือข่ายอีเทอร์เน็ตเกรดยานยนต์และ TCP/IP เช่น BroadR-Reach
เลเยอร์นามธรรมสำหรับฮาร์ดแวร์ยานยนต์ของ Android (HAL) ให้อินเทอร์เฟซที่สอดคล้องกันกับเฟรมเวิร์กของ Android โดยไม่คำนึงถึงเลเยอร์การขนส่งทางกายภาพ HAL ของรถยนต์คันนี้เป็นอินเทอร์เฟซสำหรับการพัฒนาการใช้งาน Android Automotive
ผู้ประกอบระบบสามารถใช้โมดูล HAL ของยานพาหนะได้โดยการเชื่อมต่ออินเทอร์เฟซ HAL ของแพลตฟอร์มเฉพาะฟังก์ชัน (เช่น HVAC) กับอินเทอร์เฟซเครือข่ายเฉพาะเทคโนโลยี (เช่น CAN บัส) การใช้งานทั่วไปอาจรวมถึง Microcontroller Unit (MCU) โดยเฉพาะที่ใช้ระบบปฏิบัติการแบบเรียลไทม์ (RTOS) ที่เป็นกรรมสิทธิ์สำหรับการเข้าถึงบัส CAN หรือที่คล้ายกัน ซึ่งอาจเชื่อมต่อผ่านลิงก์ซีเรียลไปยัง CPU ที่ใช้ Android Automotive แทนที่จะใช้ MCU เฉพาะ อาจใช้การเข้าถึงบัสเป็น CPU เสมือนได้ พันธมิตรแต่ละรายจะเลือกสถาปัตยกรรมที่เหมาะสมกับฮาร์ดแวร์ ตราบใดที่การใช้งานเป็นไปตามข้อกำหนดอินเทอร์เฟซสำหรับ HAL ของรถยนต์
สถาปัตยกรรม
HAL ของรถเป็นคำนิยามอินเทอร์เฟซระหว่างรถและบริการเครือข่ายของรถ:

รูปที่ 1 . สถาปัตยกรรมยานยนต์ HAL และ Android
- รถยนต์ API มี API รวมถึง
CarSensorManager
สำหรับรายละเอียดเกี่ยวกับ API ที่รองรับ โปรดดู/platform/packages/services/Car/car-lib
- คาร์เซอร์วิส . ตั้งอยู่ที่
/platform/packages/services/Car/
. - รถยนต์ HAL ส่วนต่อประสานที่กำหนดคุณสมบัติของยานพาหนะที่ OEM สามารถนำไปใช้ได้ ประกอบด้วยข้อมูลเมตาของคุณสมบัติ (เช่น คุณสมบัติของรถเป็น int และอนุญาตให้เปลี่ยนโหมดใด) ตั้งอยู่ที่
hardware/libhardware/include/hardware/vehicle.h
สำหรับการใช้งานอ้างอิงพื้นฐาน โปรดดูที่hardware/libhardware/modules/vehicle/
สำหรับรายละเอียดเพิ่มเติม โปรดดูที่ คุณสมบัติของรถ
ความปลอดภัย
HAL ของรถยนต์รองรับระดับความปลอดภัยเหล่านี้เมื่อเข้าถึงข้อมูล:
- เข้าถึงแอปได้โดยได้รับอนุญาต (ผ่านบริการรถยนต์)
- สามารถเข้าถึงได้โดยไม่ได้รับอนุญาต (ผ่านบริการรถยนต์)
อนุญาตให้เข้าถึงคุณสมบัติของรถได้โดยตรงเฉพาะกับส่วนประกอบระบบที่เลือกซึ่งมีเครือข่ายรถยนต์พร้อมระบบป้องกันการเข้าถึงเซลินุกซ์ แอปพลิเคชันส่วนใหญ่ต้องผ่านการเฝ้าประตูเพิ่มเติมโดยบริการรถยนต์ (เช่น เฉพาะแอปพลิเคชันของระบบเท่านั้นที่สามารถควบคุม HVAC ได้ เนื่องจากต้องได้รับอนุญาตจากระบบที่มอบให้กับแอประบบเท่านั้น)
,
ระบบย่อยของรถยนต์จำนวนมากเชื่อมต่อถึงกัน และระบบอินโฟเทนเมนท์ในรถยนต์ (IVI) ผ่านโทโพโลยีของบัสต่างๆ ประเภทและโปรโตคอลของรถบัสที่แน่นอนจะแตกต่างกันไปตามผู้ผลิต (และแม้กระทั่งระหว่างรถรุ่นต่างๆ ของแบรนด์เดียวกัน) ตัวอย่าง ได้แก่ บัส Controller Area Network (CAN) บัส Local Interconnect Network (LIN) Media Oriented Systems Transport (MOST) ตลอดจนเครือข่ายอีเทอร์เน็ตเกรดยานยนต์และ TCP/IP เช่น BroadR-Reach
เลเยอร์นามธรรมสำหรับฮาร์ดแวร์ยานยนต์ของ Android (HAL) ให้อินเทอร์เฟซที่สอดคล้องกันกับเฟรมเวิร์กของ Android โดยไม่คำนึงถึงเลเยอร์การขนส่งทางกายภาพ HAL ของรถยนต์คันนี้เป็นอินเทอร์เฟซสำหรับการพัฒนาการใช้งาน Android Automotive
ผู้ประกอบระบบสามารถใช้โมดูล HAL ของยานพาหนะได้โดยการเชื่อมต่ออินเทอร์เฟซ HAL ของแพลตฟอร์มเฉพาะฟังก์ชัน (เช่น HVAC) กับอินเทอร์เฟซเครือข่ายเฉพาะเทคโนโลยี (เช่น CAN บัส) การใช้งานทั่วไปอาจรวมถึง Microcontroller Unit (MCU) โดยเฉพาะที่ใช้ระบบปฏิบัติการแบบเรียลไทม์ (RTOS) ที่เป็นกรรมสิทธิ์สำหรับการเข้าถึงบัส CAN หรือที่คล้ายกัน ซึ่งอาจเชื่อมต่อผ่านลิงก์ซีเรียลไปยัง CPU ที่ใช้ Android Automotive แทนที่จะใช้ MCU เฉพาะ อาจใช้การเข้าถึงบัสเป็น CPU เสมือนได้ พันธมิตรแต่ละรายจะเลือกสถาปัตยกรรมที่เหมาะสมกับฮาร์ดแวร์ ตราบใดที่การใช้งานเป็นไปตามข้อกำหนดอินเทอร์เฟซสำหรับ HAL ของรถยนต์
สถาปัตยกรรม
HAL ของรถเป็นคำนิยามอินเทอร์เฟซระหว่างรถและบริการเครือข่ายของรถ:

รูปที่ 1 . สถาปัตยกรรมยานยนต์ HAL และ Android
- รถยนต์ API มี API รวมถึง
CarSensorManager
สำหรับรายละเอียดเกี่ยวกับ API ที่รองรับ โปรดดู/platform/packages/services/Car/car-lib
- คาร์เซอร์วิส . ตั้งอยู่ที่
/platform/packages/services/Car/
. - รถยนต์ HAL ส่วนต่อประสานที่กำหนดคุณสมบัติของยานพาหนะที่ OEM สามารถนำไปใช้ได้ ประกอบด้วยข้อมูลเมตาของคุณสมบัติ (เช่น คุณสมบัติของรถเป็น int และอนุญาตให้เปลี่ยนโหมดใด) ตั้งอยู่ที่
hardware/libhardware/include/hardware/vehicle.h
สำหรับการใช้งานอ้างอิงพื้นฐาน โปรดดูที่hardware/libhardware/modules/vehicle/
สำหรับรายละเอียดเพิ่มเติม โปรดดูที่ คุณสมบัติของรถ
ความปลอดภัย
HAL ของรถยนต์รองรับระดับความปลอดภัยเหล่านี้เมื่อเข้าถึงข้อมูล:
- เข้าถึงแอปได้โดยได้รับอนุญาต (ผ่านบริการรถยนต์)
- สามารถเข้าถึงได้โดยไม่ได้รับอนุญาต (ผ่านบริการรถยนต์)
อนุญาตให้เข้าถึงคุณสมบัติของรถได้โดยตรงเฉพาะกับส่วนประกอบระบบที่เลือกซึ่งมีเครือข่ายรถยนต์พร้อมระบบป้องกันการเข้าถึงเซลินุกซ์ แอปพลิเคชันส่วนใหญ่ต้องผ่านการเฝ้าประตูเพิ่มเติมโดยบริการรถยนต์ (เช่น เฉพาะแอปพลิเคชันของระบบเท่านั้นที่สามารถควบคุม HVAC ได้ เนื่องจากต้องได้รับอนุญาตจากระบบที่มอบให้กับแอประบบเท่านั้น)