Google is committed to advancing racial equity for Black communities. See how.
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Automotor

Icono de HAL de vehículo Android

Muchos subsistemas de automóviles se interconectan entre sí y con el sistema de información y entretenimiento en el vehículo (IVI) a través de varias topologías de bus. El tipo de bus y los protocolos exactos varían ampliamente entre fabricantes (e incluso entre diferentes modelos de vehículos de la misma marca); los ejemplos incluyen bus Controller Area Network (CAN), bus de red de interconexión local (LIN), transporte de sistemas orientados a medios (MOST), así como 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 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 específicas de función (p. Ej. HVAC) con interfaces de red específicas de tecnología (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 puede ser 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 la HAL del vehículo.

Arquitectura

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

Arquitectura HAL de vehículos Android

Figura 1 . Arquitectura automotriz HAL y Android de vehículos

  • API de coche . Contiene las API como CarHvacManager y CarSensorManager. Para obtener detalles sobre las API compatibles, consulte /platform/packages/services/Car/car-lib .
  • CarService . 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 tres niveles de seguridad para acceder a los datos:

  • Solo sistema (controlado por vns_policy.xml )
  • Accesible a la aplicación con permiso (a través del servicio de automóvil)
  • Accesible sin permiso (a través del servicio de automóvil)

El acceso directo a las propiedades del vehículo solo se permite a componentes seleccionados del sistema con el servicio de red del vehículo actuando como guardián. 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 el HVAC, ya que requiere un permiso del sistema otorgado solo a las aplicaciones del sistema).

Validación

AOSP incluye los siguientes recursos de prueba para su uso en desarrollo:

  • hardware/libhardware/tests/vehicle/vehicle-hal-tool.c
    Herramienta nativa de línea de comandos para cargar vehículos HAL y realizar operaciones simples. Útil para poner el sistema en funcionamiento en las primeras etapas de desarrollo.
  • packages/services/Car/tests/carservice_test/
    Contiene pruebas de servicio de automóviles con propiedades HAL de vehículos simulados. Para cada propiedad, se implementa el comportamiento esperado en la prueba. Este puede ser un buen punto de partida para comprender el comportamiento esperado.
  • hardware/libhardware/modules/vehicle/
    Una implementación de referencia básica.