خودرو

نماد HAL خودروی Android

بسیاری از زیر سیستم های اتومبیل از طریق توپولوژی های مختلف باس با یکدیگر و سیستم سرگرمی و سرگرمی درون خودرو (IVI) بهم متصل می شوند. نوع دقیق اتوبوس و پروتکل ها به طور گسترده ای بین تولید کنندگان (و حتی بین مدل های مختلف وسیله نقلیه از همان مارک) متفاوت است. به عنوان مثال می توان به گذرگاه شبکه کنترلر (CAN) ، گذرگاه شبکه محلی اتصال (LIN) ، سیستم حمل و نقل سیستم های رسانه ای (MOST) و همچنین شبکه های اترنت و TCP / IP درجه اتومبیل مانند BroadR-Reach اشاره کرد.

لایه انتزاعی سخت افزار Android Automotive (HAL) بدون توجه به لایه انتقال فیزیکی ، یک رابط سازگار با چارچوب Android فراهم می کند. این وسیله نقلیه HAL واسط توسعه برنامه های Android Automotive است.

مجتمع های سیستم می توانند با اتصال رابط های HAL پلت فرم مخصوص عملکرد (به عنوان مثال HVAC) با رابط های شبکه خاص فناوری (به عنوان مثال گذرگاه CAN) ماژول HAL خودرو را پیاده سازی کنند. پیاده سازی های معمول ممکن است شامل یک واحد میکروکنترلر اختصاصی (MCU) باشد که دارای یک سیستم عامل اختصاصی در زمان واقعی (RTOS) برای دسترسی CAN به گذرگاه یا موارد مشابه است ، که ممکن است از طریق یک پیوند سریال به پردازنده مرکزی که دارای Android Automotive است متصل شود. به جای یک MCU اختصاصی ، ممکن است امکان دسترسی به گذرگاه به عنوان یک CPU مجازی نیز وجود داشته باشد. انتخاب معماری مناسب برای سخت افزار به شرطی که اجرا نیازهای رابط کاربری HAL خودرو را برآورده کند ، بستگی به هر یک از شرکا دارد.

معماری

وسیله نقلیه HAL تعریف رابط بین خودرو و سرویس شبکه وسیله نقلیه است:

آندروید معماری HAL خودرو

شکل 1 HAL خودرو و معماری خودروی اندروید

  • API اتومبیل . شامل API ها ، از جمله 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 هنگام دسترسی به داده ها از این سطوح امنیتی پشتیبانی می کند:

  • با مجوز (از طریق سرویس اتومبیل) برای برنامه قابل دسترسی است.
  • بدون مجوز (از طریق سرویس اتومبیل) قابل دسترسی است.

دسترسی مستقیم به خصوصیات خودرو فقط به اجزای سیستم منتخب دارای شبکه خودرو با محافظت دسترسی selinux مجاز است. بیشتر برنامه ها از طریق سرویس اتومبیل از طریق دروازه اضافی عبور می کنند (به عنوان مثال ، فقط برنامه های سیستم می توانند سیستم تهویه مطبوع را کنترل کنند زیرا این امر فقط به برنامه های سیستم اجازه داده می شود).