La industria automotriz está sujeta a cambios tecnológicos más rápido que otras. Este fenómeno está impulsado por la necesidad de cumplir con nuevos estándares y demandas del mercado. Los estrictos valores de CO2 y los límites de emisión establecen nuevos objetivos para los técnicos y diseñadores.
El sector de las tecnologías de la información, a su vez, marca las tendencias de progreso en la automatización y el infoentretenimiento. Todos se esfuerzan por satisfacer las expectativas del cliente en cuanto a rendimiento, comodidad y utilidad. Las nuevas funciones abren el camino a nuevas experiencias de usuario.
Además, el desarrollo de software automotriz es un nicho perfecto para los programadores. La comunidad de estos especialistas es pequeña y aislada. Pero el conocimiento que gira allí es único. Los automóviles pronto se volverán más autónomos y los programadores que puedan controlarlos tendrán una gran demanda.
Los programas entran en nuestras vidas cuando están integrados en los productos que usamos a diario. La cantidad de código en un automóvil moderno es cien veces mayor que en un caza F22. Además, ese número sigue creciendo a medida que surgen nuevas funciones en los coches conectados a Internet. Esta tendencia refleja un cambio hacia vehículos autónomos, híbridos y eléctricos.
Índice de contenido
Un poco de historia
El primer software automotriz proviene de la década de 1960. Esto ha cambiado la industria. Poco después de su introducción, la electrónica se convirtió en la principal fuente de innovación.
El cerebro del automóvil aumenta la confiabilidad con sistemas de seguridad activos y pasivos. Dichos sistemas son frenos antibloqueo y estabilidad electrónica del vehículo. Este aspecto fue de suma importancia para los automóviles automatizados.
Sin embargo, la tendencia es hacia la automatización relacionada con el entretenimiento y la comodidad. Por ejemplo, los primeros programas se utilizaron para controlar motores y evitar robos de vehículos. Los automóviles ahora tienen preinstalados centros de medios, cámaras, iluminación y control de voz.
Originalmente, en el siglo pasado, ASM se utilizó como lenguaje de programación principal. El lenguaje de programación Xi ganó popularidad en la década de 1990. Robert Bosch y otros proveedores fueron los primeros en utilizar el software con la ayuda de tecnologías de control y simulación.
Los sistemas de bus CAN hacen que el cerebro de los vehículos sea bastante complejo. La razón es que no descartan interacciones entre programas en diferentes unidades de control. Los coches de lujo modernos pueden contener una red compleja de 80 unidades de control con un total de hasta 100 millones de líneas de código.
Esta tendencia significa que la mayoría de los autos nuevos ejecutan decenas de millones de líneas de código, controlando todo, desde los frenos hasta el volumen de su radio. Estos elementos están ahora indisolublemente vinculados con la experiencia de conducción y el control del vehículo.
Los principales componentes de la ECU.
El software experto en automoción depende en gran medida de las unidades de detección de señales. Esas miles de líneas de código no tendrían valor sin ellas.
- Convertidor de analógico a digital (ADC). Dispositivos para la adquisición de valores medidos de sensores de automoción.
- Un programa utilizado para controlar dispositivos digitales (usa conversión de señal).
- Convertidor de digital a analógico (DAC). Unidad que suministra señales analógicas para operar ciertos componentes del motor.
- Chip de comunicación. Permite una variedad de estándares de comunicación que se pueden encontrar en un vehículo. La más común es la red de área de controlador (CAN).
Características y variaciones que agregan complejidad
Las nuevas funciones de seguridad y entretenimiento se volvieron indispensables en todos los automóviles. Durante las últimas dos décadas, han transformado los automóviles de vehículos convencionales en centros de datos móviles. En lugar de racks de servidores y conexiones ópticas de alta velocidad, las unidades de control y los mazos de cables envían datos a través del vehículo y más allá. Y luego hay decenas de millones de líneas de código que se ejecutan cada vez que va al supermercado.
Habrá más cambios en los próximos años a medida que más y más fabricantes de automóviles se comprometan a eliminar gradualmente sus vehículos con motor de combustión interna (ICE) para cumplir con los objetivos globales de protección climática. Por lo tanto, las empresas de software automotriz reemplazarán los ICE con vehículos eléctricos (EV). Estos coches innovadores podrán conducir de forma autónoma o parcialmente autónoma.
El software solía ser solo una parte del automóvil. El software actual determina el valor del vehículo. Además, el éxito en el mercado de un automóvil depende en gran medida del software y no de las funciones mecánicas. Por lo tanto, el progreso de la TI supera al metal antiguo y serio.
Estructura de software para automóviles
El software del automóvil incluye muchos componentes. Como en todas las PC, se perciben funciones del software, la aplicación y el software de la plataforma. Este último depende en parte del hardware. La interacción de todas las funciones está definida en la arquitectura. Puede mostrar información de diferentes formas y formas.
La pantalla estática describe los grupos de funciones, las señales y la ubicación de los recursos de forma jerárquica. Una pantalla de función muestra el flujo de una señal a través de varias funciones. La pantalla dinámica dependiente del tiempo analiza la reacción de clic de las tareas.
A medida que aumenta el número de unidades de control en los automóviles, los desarrolladores tienen que crear estructuras sofisticadas para las redes de los automóviles. Diseñarlos requiere estructuras más complejas. Consideremos las principales diferencias entre el software del automóvil y otras tecnologías digitales:
- El software del vehículo tiene una red de unidades de control más compleja que permanece rígida durante toda la vida útil;
- Funciones de seguridad. El ESC y el sistema de frenos deben funcionar perfectamente. Esta opción ya implica requisitos estrictos para el software y la fase de desarrollo del software automotriz;
- Velocidad de interacción. La respuesta instantánea de los componentes electrónicos del automóvil (hasta milisegundos);
- Arquitectura robusta. El software del vehículo debe maximizar la compatibilidad electromagnética y resistir los efectos de señales distorsionadas;
Estos sistemas también deberían funcionar durante el mayor tiempo posible. La falla de su PC difícilmente amenaza su jornada laboral. A menudo, un usuario puede reemplazar una PC con un teléfono o tableta. Si la mecánica de un automóvil se daña de alguna manera, las consecuencias son mucho más graves.
Métodos de prueba
El software automotriz necesita más pruebas. Conducir tiene algo que ver con la seguridad. Por lo tanto, es mejor probar las funciones lo antes posible.
- Prototipos virtuales. El prototipo se prueba en un modelo de entorno virtual. El sistema operativo de una ECU más nueva (por ejemplo, RTA) se ejecuta en un entorno experimental.
- Pruebas reales. Esto es posible si el software ya está instalado en el automóvil.
El primer método requiere especialistas en TI y simulación. El segundo es más caro y está en proceso de desarrollo.
Desafíos y perspectivas
La complejidad del software se ha cuadriplicado en los últimos diez años.
La complejidad de la programación está más allá de la capacidad de desarrollarla y mantenerla. Las tendencias muestran que se espera que la complejidad del sistema se triplique nuevamente en los próximos diez años. Tanto los fabricantes de automóviles como los proveedores están luchando por cerrar la brecha entre el desarrollo y el rendimiento.
¿Qué pasa con los conductores?
La experiencia y la comodidad del conductor son los principales impulsores del progreso. La industria automotriz está adoptando rápidamente sistemas de asistencia al conductor, comenzando con estacionamiento, advertencia de cambio de carril y más. Los nuevos sistemas ofrecen frenado de emergencia y conducción autónoma limitada en modo de parada y arranque.
Pronto, incluso las decisiones de control estarán relacionadas con el software del vehículo y no directamente con el conductor. Esta filosofía plantea cuestiones complejas de responsabilidad y responsabilidad en caso de accidente. Desde un punto de vista legal, la solución más simple es mantener al conductor en un bucle y crear una conexión entre el conductor y el automóvil. En este sistema, se supone que el automóvil obedece las órdenes del conductor.
Entonces, sí, aquí nos enfrentamos al rompecabezas de Terminator. No es necesario estar presente en el automóvil, ya que funciona solo. El aprendizaje automático ayuda al software del automóvil a procesar nuevas situaciones en la carretera. El conductor se convierte en un observador de las decisiones del vehículo en quien delega la tarea de conducir.