רכב

סמל HAL לרכב אנדרואיד

מערכות משנה רבות לרכב מתקשרות זו עם זו ומערכת האינפורמציה ברכב (IVI) באמצעות טופולוגיות אוטובוס שונות. סוג האוטובוס המדויק והפרוטוקולים משתנים מאוד בין יצרנים (ואפילו בין דגמי רכב שונים מאותו המותג); דוגמאות לכך כוללות אוטובוס CAN Controller Area Network, אוטובוס רשת קישורים מקומית (LIN), Transport Media Systems Oriented (MOST), כמו גם רשתות Ethernet ו- TCP / IP ברמת רכב כגון BroadR-Reach.

שכבת הפשטת החומרה של Android Automotive (HAL) מספקת ממשק עקבי למסגרת Android ללא קשר לשכבת התחבורה הפיזית. רכב HAL זה הוא הממשק לפיתוח יישומי Android Automotive.

אינטגרטורים של המערכת יכולים להטמיע מודול HAL לרכב על ידי חיבור ממשקי HAL לפלטפורמה ספציפית לפונקציה (למשל HVAC) עם ממשקי רשת ספציפיים לטכנולוגיה (למשל אוטובוס אוטובוס). יישומים אופייניים עשויים לכלול יחידת מיקרו-בקרה ייעודית (MCU) המפעילה מערכת הפעלה קניינית בזמן אמת (RTOS) לגישה לאוטובוס CAN או דומה, אשר עשויה להיות מחוברת באמצעות קישור טורי למעבד המריץ אנדרואיד רכב. במקום MCU ייעודי, ניתן יהיה גם ליישם את הגישה לאוטובוס כמעבד וירטואלי. על כל שותף לבחור הארכיטקטורה המתאימה לחומרה כל עוד היישום ממלא את דרישות הממשק לרכב HAL.

ארכיטקטורה

רכב ה- HAL הוא הגדרת הממשק בין המכונית לשירות רשת הרכב:

ארכיטקטורת HAL לרכב אנדרואיד

איור 1 . ארכיטקטורת רכב HAL ואנדרואיד

  • ממשק API לרכב . מכיל ממשקי API, כולל CarSensorManager . לפרטים על ממשקי API נתמכים, ראה /platform/packages/services/Car/car-lib .
  • CarService . ממוקם ב /platform/packages/services/Car/ .
  • רכב HAL . ממשק המגדיר את מאפייני הרכב ש- OEM יכול ליישם. מכיל מטא-נתונים של מאפיין (למשל, האם מאפיין הרכב הוא אינט ואילו מצבי שינוי מותרים). ממוקם hardware/libhardware/include/hardware/vehicle.h . לקבלת יישום הפניה בסיסי, עיין hardware/libhardware/modules/vehicle/ .

לפרטים נוספים, ראה מאפייני רכב .

בִּטָחוֹן

רכב ה- HAL תומך ברמות אבטחה אלה בעת גישה לנתונים:

  • נגיש לאפליקציה באישור (באמצעות שירות רכב).
  • נגיש ללא אישור (באמצעות שירות רכב).

גישה ישירה למאפייני הרכב מותרת רק לרכיבי מערכת נבחרים עם רשת רכב עם הגנת גישה selinux. מרבית היישומים עוברים שמירת סף נוספת על ידי שירות רכב (למשל, רק יישומי מערכת יכולים לשלוט ב- HVAC מכיוון שהוא דורש הרשאת מערכת המוענקת רק לאפליקציות מערכת).