Автомобильная промышленность

Значок HAL автомобиля Android

Многие автомобильные подсистемы соединяются друг с другом и с бортовой информационно-развлекательной системой (IVI) с помощью различных шинных топологий. Точный тип шины и протоколы сильно различаются между производителями (и даже между разными моделями автомобилей одной марки); Примеры включают шину сети контроллеров (CAN), шину локальной межсоединительной сети (LIN), транспортно-ориентированные системы мультимедиа (MOST), а также сети Ethernet и TCP / IP автомобильного уровня, такие как BroadR-Reach.

Уровень абстракции оборудования Android Automotive (HAL) обеспечивает согласованный интерфейс с платформой Android независимо от физического транспортного уровня. Этот автомобильный HAL представляет собой интерфейс для разработки реализаций Android Automotive.

Системные интеграторы могут реализовать модуль HAL транспортного средства, соединив интерфейсы HAL платформы для конкретных функций (например, HVAC) с технологическими сетевыми интерфейсами (например, шиной CAN). Типичные реализации могут включать в себя выделенный микроконтроллерный блок (MCU), работающий под собственной операционной системой реального времени (RTOS) для доступа к шине CAN или аналогичной, которая может быть подключена через последовательную связь к процессору под управлением Android Automotive. Вместо выделенного MCU также можно реализовать доступ к шине в виде виртуализированного ЦП. Каждый партнер должен выбрать архитектуру, подходящую для оборудования, если реализация соответствует требованиям интерфейса для транспортного средства HAL.

Архитектура

Автомобиль HAL - это определение интерфейса между автомобилем и сетевой службой транспортного средства:

Android автомобиль HAL архитектура

Рисунок 1 . Автомобиль HAL и автомобильная архитектура Android

  • Автомобильный 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, поскольку для этого требуется системное разрешение, предоставляемое только системным приложениям).