Google is committed to advancing racial equity for Black communities. See how.
หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

ยานยนต์

ไอคอน HAL ของรถ Android

ระบบย่อยของรถยนต์จำนวนมากเชื่อมต่อกันและระบบอินโฟเทนเมนต์ในรถยนต์ (IVI) ผ่านโทโพโลยีบัสต่างๆ ประเภทรถบัสและโปรโตคอลที่แน่นอนแตกต่างกันไประหว่างผู้ผลิต (และแม้กระทั่งระหว่างรุ่นรถที่แตกต่างกันในยี่ห้อเดียวกัน) ตัวอย่าง ได้แก่ บัส Controller Area Network (CAN), บัส Local Interconnect Network (LIN), Media Oriented Systems Transport (MOST) ตลอดจนเครือข่าย Ethernet และ TCP / IP ระดับยานยนต์เช่น BroadR-Reach

เลเยอร์นามธรรมของฮาร์ดแวร์ Android Automotive (HAL) ให้อินเทอร์เฟซที่สอดคล้องกันกับเฟรมเวิร์ก Android โดยไม่คำนึงถึงเลเยอร์การขนส่งทางกายภาพ HAL ยานพาหนะนี้เป็นอินเทอร์เฟซสำหรับการพัฒนาการใช้งาน Android Automotive

ผู้ติดตั้งระบบสามารถใช้โมดูล HAL ของยานพาหนะได้โดยเชื่อมต่ออินเทอร์เฟซ HAL ของแพลตฟอร์มเฉพาะฟังก์ชัน (เช่น HVAC) กับอินเทอร์เฟซเครือข่ายเฉพาะเทคโนโลยี (เช่น CAN บัส) การใช้งานทั่วไปอาจรวมถึง Microcontroller Unit (MCU) เฉพาะที่ใช้ระบบปฏิบัติการแบบเรียลไทม์ (RTOS) ที่เป็นกรรมสิทธิ์สำหรับการเข้าถึง CAN bus หรือที่คล้ายกันซึ่งอาจเชื่อมต่อผ่านลิงค์อนุกรมไปยัง CPU ที่ใช้ Android Automotive แทนที่จะใช้ MCU เฉพาะอาจเป็นไปได้ที่จะใช้การเข้าถึงบัสเป็น CPU เสมือน พาร์ทเนอร์แต่ละรายจะต้องเลือกสถาปัตยกรรมที่เหมาะสมกับฮาร์ดแวร์ตราบใดที่การใช้งานเป็นไปตามข้อกำหนดอินเทอร์เฟซสำหรับรถ HAL

สถาปัตยกรรม

HAL ของยานพาหนะเป็นคำจำกัดความของอินเทอร์เฟซระหว่างรถยนต์และบริการเครือข่ายยานพาหนะ:

สถาปัตยกรรม HAL ของรถยนต์ Android

รูปที่ 1 . สถาปัตยกรรมยานยนต์ Vehicle 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/
    การใช้งานอ้างอิงพื้นฐาน