2009-06-25 22 views
32

¿Qué lenguajes de programación se usan más comúnmente en sistemas de automóviles? ¿Qué tipo de datos se recopilan mientras se está ejecutando? ¿Qué plataforma usa?Automóvil Lenguajes de programación

También estoy interesado en los nuevos automóviles híbridos/eléctricos, ¿qué idiomas y plataformas usan?

Gracias!

Respuesta

3

OBD-II es una interfaz para recopilar datos de automóviles.

En términos de lenguajes de programación, creo que es probable que se superponga con muchos otros entornos integrados; Probablemente se use C, RTOS como VXWorks, y así sucesivamente. 1394 (firewire) está empezando a usarse para redes.

Hay un sitio web de aspecto interesante llamado 'Automotive Design Line'

+0

¿Se trata de automóviles de nueva energía? – hws

+0

Me imagino que todavía se aplicaría a los vehículos híbridos ya que se utiliza en las pruebas de emisiones en California para el que existe un requisito para una interfaz estándar. Para los complementos eléctricos que quizás no se apliquen, pero los garajes, etc., están preparados para OBD-II, así que no me sorprendería si los fabricantes más pequeños siguen usándolo especialmente por ese motivo –

+0

Muchas gracias, ¡su respuesta es muy útil! ¿Qué pasa con los vehículos con pila de combustible, la energía de hidrógeno y el vehículo eléctrico solar? – hws

40

Electrónica en la industria automotriz se basan por lo general en microcontroladores embebidos. Como tal, los lenguajes de programación suelen ser C, C++ y ensamblaje. En algunos casos, se usa un lenguaje de nivel superior como lógica de escalera para describir la lógica de control real.

Los automóviles modernos tienen varios sistemas informáticos separados, cada uno diseñado para controlar un aspecto específico del funcionamiento del vehículo. Generalmente hay un controlador para el motor, uno para la transmisión, uno para el tablero electrónico, uno para el sistema de frenos ABS, control de tracción, etc.

Cada uno de estos módulos de control tiene un conjunto de entradas y salidas. El controlador del motor, por ejemplo, lee muchos sensores, incluida la temperatura del refrigerante, la velocidad del motor, la entrada de oxígeno, la posición del acelerador, y así sucesivamente. Y, en base a estas entradas, toma decisiones sobre el abastecimiento de combustible para el motor. En vehículos híbridos y vehículos exclusivamente eléctricos, el sistema de control del motor es, por supuesto, completamente diferente. Todavía hay un controlador, pero en lugar de simplemente tomar decisiones sobre el abastecimiento de combustible, puede tomar decisiones sobre cuándo activar los motores eléctricos frente al motor de gasolina, cuánta energía aplicar a cada motor eléctrico, etc.

Varios controles los módulos se conectan juntos usando una red dentro del vehículo. Hay muchas formas diferentes de implementar esta red, pero una de las más comunes es CAN (Controller Area Network). La red permite que los módulos de control individuales envíen y reciban información de otros módulos a alta velocidad mientras el vehículo está en funcionamiento.

actualización: Éstos son algunos enlaces para la lectura adicional:

CAN systems de AA1Car.com
The Hybrid Bible de CarBibles.com
Sensors Make Cars Smarter - un artículo de noticias del diseño

actualización: Aquí es un artículo reciente sobre el tema que puede ser de interés:

This Car Runs On Code - un artículo de Discovery.com

+1

+1 bonita respuesta integral –

+0

Muchas gracias. Mi inglés es pobre, necesito más tiempo para entender tu respuesta. Si es posible, puede dar más respuestas. Muchas gracias. – hws

+0

@Colin Pickard: Gracias. Subí a la tuya por mencionar OBD-II y J1394. No tenía idea de que Firewire comenzara a usarse para la industria automotriz. –

8

El lenguaje de programación más popular para ECU automotrices (unidad de control electrónico) que implementa aplicaciones duras en tiempo real en el tren de potencia o control de chasis es con mucho C. El software generalmente se implementa en parte superior de los sistemas operativos específicos del automóvil de acuerdo con OSEK o AUTOSAR.

En los dispositivos dedicados a la información y entretenimiento, es posible que encuentre otros idiomas o incluso sistemas operativos convencionales.

OBD-II es solo un subconjunto de información recopilada en un automóvil típico porque OBD-II se dirige principalmente al motor. También hay toneladas de datos de diagnóstico recopilados para otras aplicaciones, p. para funciones de confort

CAN es la interfaz de bus popular "clásica", pero recientemente los estándares con más ancho de banda (por ejemplo, Flexray) están creciendo impulso especialmente para software de seguridad crítica. Para algún propósito, incluso se usa la Ethernet clásica.

que había puesto algunos enlaces, pero de SO sistema de reputación no lo permite ...

8

El uso de C está tan extendida en la industria automotriz que un organismo de la industria ha llegado con un conjunto personalizado de normas para que - Misra C.

Misra C, en un sistema de seguridad crítica, es prácticamente un lenguaje diferente del C normal - sin punteros a funciones, sin asignación de memoria, prácticamente sin uso de características de lenguaje específicas para C.

Básicamente, es Ada con sintaxis C.

1

C y el microcontrolador se utilizan más en el campo de la automoción. Debe tener conocimientos integrados del sistema.

0

La pila de software automotriz se está volviendo más compleja, ya no solo se trata de microcontroladores. Hoy en día también existe una pila de software IVI que se ejecuta en un procesador bastante potente, es decir, ATOM o ARM v7, etc. Por lo tanto, los lenguajes de programación han cambiado en consecuencia, puede utilizar lenguajes interpretados, por ejemplo.

1

Aplicación característica Automotive codificado en MATLAB C, C++ ...

BSP codificado en C o C++

AUTOSAR es plataforma común o arquitectura usada en las industrias AutoMovie.

+0

¿Qué significa la primera oración? – WEFX

+0

La funcionalidad de CAR (Wiper, Light, etc.) está codificada en MATLAB, C, C++ ... – Shivang

Cuestiones relacionadas