Automotor

Icono HAL del vehículo de Android

Muchos subsistemas de automóviles se interconectan entre sí y con el sistema de infoentretenimiento del vehículo (IVI) a través de varias topologías de bus. El tipo de autobús y los protocolos exactos varían mucho entre los fabricantes (e incluso entre diferentes modelos de vehículos de la misma marca); los ejemplos incluyen el bus de la red de área del controlador (CAN), el bus de la red de interconexión local (LIN), el transporte de sistemas orientados a medios (MOST), así como las redes Ethernet y TCP/IP de grado automotriz como BroadR-Reach.

La capa de abstracción de hardware (HAL) de Android Automotive proporciona una interfaz coherente con el marco de trabajo de Android, independientemente de la capa de transporte físico. Este vehículo HAL es la interfaz para desarrollar implementaciones de Android Automotive.

Los integradores de sistemas pueden implementar un módulo HAL de vehículo conectando interfaces HAL de plataforma de función específica (p. ej., HVAC) con interfaces de red de tecnología específica (p. ej., bus CAN). Las implementaciones típicas pueden incluir una unidad de microcontrolador (MCU) dedicada que ejecuta un sistema operativo en tiempo real (RTOS) patentado para el acceso al bus CAN o similar, que puede conectarse a través de un enlace en serie a la CPU que ejecuta Android Automotive. En lugar de una MCU dedicada, también es posible implementar el acceso al bus como una CPU virtualizada. Depende de cada socio elegir la arquitectura adecuada para el hardware siempre que la implementación cumpla con los requisitos de interfaz para el HAL del vehículo.

Arquitectura

El HAL del vehículo es la definición de interfaz entre el automóvil y el servicio de red del vehículo:

Arquitectura HAL del vehículo Android

Figura 1 . Vehículo HAL y arquitectura automotriz Android

  • API de coche . Contiene las API, incluido CarSensorManager . Para obtener detalles sobre las API admitidas, consulte /platform/packages/services/Car/car-lib .
  • Autoservicio . Ubicado en /platform/packages/services/Car/ .
  • Vehículo HAL . Interfaz que define las propiedades del vehículo que los OEM pueden implementar. Contiene metadatos de propiedad (por ejemplo, si la propiedad del vehículo es un int y qué modos de cambio están permitidos). Ubicado en hardware/libhardware/include/hardware/vehicle.h . Para una implementación de referencia básica, consulte hardware/libhardware/modules/vehicle/ .

Para obtener más detalles, consulte Propiedades del vehículo .

Seguridad

El vehículo HAL admite estos niveles de seguridad al acceder a los datos:

  • Accesible a la aplicación con permiso (a través del servicio de automóviles).
  • Accesible sin permiso (a través del servicio de coche).

El acceso directo a las propiedades del vehículo solo se permite a los componentes del sistema seleccionados con red de vehículos con protección de acceso selinux. La mayoría de las aplicaciones pasan por un control adicional por parte del servicio de automóvil (por ejemplo, solo las aplicaciones del sistema pueden controlar HVAC, ya que requiere el permiso del sistema otorgado solo a las aplicaciones del sistema).