Crear una plataforma de comunicación de bus CAN basada en el protocolo SAE J1939 y NI PXI

跃钢 周, Dongfeng Motor Corporation

"Con un potente análisis matemático y procesamiento de colas de LabVIEW, los dispositivos NI PXI y un módulo de interfaz CAN adecuado para un entorno severo de pruebas de vehículos, este sistema proporciona funcionalidades de análisis de información de mensajes del bus CAN requeridas por múltiples condiciones de pruebas."

- 跃钢 周, Dongfeng Motor Corporation

El desafío:

Combinar el protocolo J1939 en el diseño de la plataforma de comunicación de bus CAN.

La solución:

Usando el software de diseño de sistemas NI LabVIEW y un módulo de comunicación NI PXI CAN para diseñar un método para filtrar las IDs del protocolo J1939 para recibir y enviar múltiples marcos de acuerdo con el formato de protocolo y construir una plataforma de comunicación CAN. También implementamos una simulación completa de hardware-in-the-loop (HIL) del entorno eléctrico del vehículo y construimos una plataforma de prueba de banco de motores que incluye enviar y recibir mensajes de bus CAN, almacenamiento y visualización en tiempo real.

Todos los vehículos comerciales que cumplen con los estándares de emisión de China Nacional III a Nacional IV utilizan el bus CAN para comunicarse entre las unidades de control electrónico (ECU), incluyendo la ECU del vehículo (VECU), la ECU del motor (EECU), la ECU de la caja de transmisión automática, la ECU del instrumento y la ECU del sistema de freno antibloqueo. La red de control de vehículos ha implementado el bus CAN de vehículos comerciales en base al protocolo J1939, combinado con la unidad de control de múltiples puntos (MCU), el controlador CAN y la estructura del transceptor CAN del nodo MCU. Las soluciones existentes para pruebas en carretera, pruebas de banco de motores y pruebas de simulación HIL del entorno eléctrico del vehículo que incluyen una PC, un módulo de comunicación CAN y software, son extremadamente costosas.

 


Problemas del método de comunicación

Debido a que los identificadores de mensajes del bus industrial y los marcos de datos en las especificaciones CAN 2.0 B carecen de definiciones comunes, los parámetros son arbitrarios. Las especificaciones de comunicación de bus CAN para vehículos comerciales siguen el protocolo SAE J1939, basado en CAN 2.0 B. Actualmente, no existe un método de comunicación de bus CAN basado en LabVIEW y el protocolo J1939 en una aplicación de dispositivo de control PXI para la industria automotriz, por lo que nos propusimos combinar el software LabVIEW con el complejo protocolo J1939 para filtrar, recibir, sintetizar, recombinar y enviar mensajes.

 

Teniendo en cuenta las características de la red de bus CAN de los vehículos comerciales, construimos una plataforma de bus CAN basada en LabVIEW y el protocolo J1939, y la integramos en un dispositivo de interfaz modular NI PXI para pruebas HIL en banco de motores y entorno eléctrico del vehículo.

 

Diferencias entre el protocolo J1939 y la especificación CAN 2.0 B

El protocolo J1939 se basa en la especificación CAN 2.0 B. La ID de 29 bits en el marco extendido CAN 2.0 B se define para formar un sistema de codificación J1939, incluyendo la prioridad (P); bit reservado (R); página de datos (DP); unidad de datos de protocolo (PF); unidad extendida (PS); dirección de origen (SA); y campo de datos; como se muestra en la Figura 1. La capa de aplicación del modelo de referencia de interconexión del sistema abierto (OSI) contiene siete partes, que se encapsulan en una o más tramas de datos CAN a través de una unidad de datos de protocolo (PDU) y se transmiten a otros nodos de dispositivos en la red de bus a través de la capa física.

 

 

Varias funciones del dispositivo CAN 2.0 B envían diferente información del mensaje usando la misma ID, por lo que los dispositivos CAN seleccionados de acuerdo con el protocolo específico del fabricante pueden generar IDs no reconocidas o inconsistentes durante la integración del sistema. Cada marco de mensajes en el protocolo J1939 tiene un identificador único y PGN, asigna una dirección de origen única para cada nodo y asigna la dirección de origen al identificador CAN para evitar que varios nodos utilicen el mismo identificador. Por ejemplo, ID: 0CF00400 representa un mensaje de torsión y velocidad del motor.

 

La especificación CAN 2.0 B define la capa de enlace de datos en siete capas del modelo de referencia OSI, lo que significa que es un estándar de bajo nivel, como se muestra en la Figura 2. Los productos de bus CAN suelen tener mala compatibilidad, capacidad de intercambio e integración. Por el contrario, J1939 es un protocolo de alto nivel de acuerdo a la capa de aplicación del modelo de referencia OSI, que define las señales de aplicación del vehículo (parámetros) y los mensajes (grupo de parámetros). La señal se describe a través de parámetros y a cada parámetro se le asigna un número de parámetro sospechoso (SPN). Estos parámetros definen el significado físico de los bytes de datos en el campo de datos de la PDU; por ejemplo, SPN190 representa la velocidad del motor.

 

La especificación CAN 2.0 B solo puede transmitir mensajes de un solo marco, mientras que el protocolo J1939 puede transmitir mensajes de uno o varios marcos, incluyendo diálogos y transmisiones. J1939 puede empaquetar, enviar, recibir, sintetizar y reorganizar mensajes de acuerdo con el protocolo de transmisión de datos de múltiples marcos.

 

Interfaz del módulo

La interfaz del módulo consta de un transceptor NI PXI CAN de doble puerto, un controlador CAN SJA1000T, un transceptor CAN TJA1041T de alta velocidad y un transceptor CAN TJA1054AT de baja velocidad. La capa de enlace de datos del protocolo J1939 empaqueta los mensajes de acuerdo con el formato de la PDU y realiza la sincronización de marcos de datos CAN, el control secuencial, el control de errores y el control de flujo.

 

De acuerdo con el protocolo de capa física J1939, cada segmento de red puede incluir:

  • Hasta 30 ECUs
  • Una velocidad de comunicación de bus CAN de 250 kB/s
  • Voltaje de bus que incluye niveles dominantes y recesivos
  • Un voltaje diferencial de 3.5 V o 1.5 V

 

Además, el transceptor de bus CAN convierte el nivel de voltaje entre el bus CAN y la MCU.

 

 

Diseño de software

Como se muestra en la Figura 3, el mensaje del bus CAN basado en el flujo de procesamiento multitarea del protocolo J1939 utiliza una estructura de ciclo de productor y consumidor. El ciclo productor utiliza la función de puesta en cola de elementos para agregar datos a la cola del clúster de mensajes, y el ciclo del consumidor utiliza la función de eliminación de cola de elementos para sacar los datos de la cola del clúster de mensajes. La cola se comunica entre ciclos para evitar conflictos entre varias tareas. Cuando la producción de datos es más rápida que el consumo de datos, los búferes de cola evitan la pérdida de datos de mensajes.

 


Implementación

Como se muestra en la Figura 4, implementamos la plataforma de comunicación de bus CAN basada en LabVIEW y el protocolo J1939 en una simulación HIL del entorno eléctrico de un vehículo para una prueba de recepción de mensajes. Lo comparamos simultáneamente con el módulo Vector CANoe. La figura 7 muestra el mensaje de la EECU recibido desde un motor en marcha constante. En un segundo, el sistema puede recibir un mensaje de 526 marcos desde la EECU sin perder un mensaje.

 

El mensaje de consumo de combustible del motor revela la eficiencia de combustible del motor en tiempo real. La VECU recibe el mensaje en la red de bus CAN de acuerdo con el protocolo de vehículos comerciales J1939 para controlar el cambio de marcha del vehículo con caja de cambios automática. La ECU de instrumentos combinados recibe y muestra este mensaje en tiempo real para recordarle al conductor los buenos hábitos de manejo y manipular el vehículo para lograr la mejor eficiencia de combustible. Para alcanzar estándares óptimos de rendimiento, eficiencia y emisiones del motor, calibramos la EECU para obtener los mejores parámetros de calibración de ancho de pulso de inyección. Después de la calibración, realizamos una prueba comparativa para verificar los efectos de calibración de la EECU.

 

Una prueba de estado estable del motor puede revelar el rendimiento del vehículo a una velocidad constante. Una prueba transitoria del motor en condiciones de trabajo variables, simula el estado del motor en condiciones reales de la carretera. Al comparar el mensaje de consumo de combustible en tiempo real y la medida instantánea real del consumo de combustible, determinamos el rendimiento de control de la EECU.

 

 

La Figura 8 muestra una comparación que mide la curva de prueba de banco de consumo de combustible transitorio del motor en 10 condiciones de trabajo. Los datos del mensaje de consumo de combustible de la EECU recibidos y analizados por el bus CAN de acuerdo con el protocolo J1939, son notablemente diferentes cuando el motor funciona con carga baja, en comparación con el medidor de consumo de combustible de prueba y de banco. Por lo tanto, la inyección de combustible real es baja cuando el motor funciona con poca carga. La cantidad de inyección de combustible objetivo y real varía mucho debido a la fluctuación común de la presión del riel cuando el motor funciona con poca carga, lo que provoca fluctuación en la cantidad de combustible. Las dos curvas son generalmente consistentes: Los valores objetivo de inyección de combustible del motor recibidos a través del bus CAN son muy similares a los valores medidos reales, y la tendencia y la temporización están sincronizados. Esto significa que la calibración de la EECU obtuvo el mejor valor objetivo de ancho de pulso de inyección.

 

Una base sólida y prometedora

La plataforma de comunicación de bus CAN basada en el protocolo J1939 y la plataforma NI PXI crearon una base para implementar un módulo NI CAN en una aplicación de comunicación de bus CAN de vehículos comerciales. La plataforma se muestra prometedora para aplicaciones futuras, como pruebas de banco de motores; pruebas de simulación HIL del entorno eléctrico del vehículo; realizando filtrado; reconocimiento; síntesis; recepción; embalaje; transmisión; almacenamiento; análisis; cálculo; y visualización de mensajes de bus CAN en tiempo real.

 

Con un potente análisis matemático y procesamiento de colas de LabVIEW, los dispositivos NI PXI y un módulo de interfaz CAN adecuado para un entorno severo de pruebas de vehículos, este sistema proporciona funcionalidades de análisis de información de mensajes de bus CAN requeridas por múltiples condiciones de pruebas. Demuestra sincronización del muestreo de datos de mensajes adquiridos por dispositivos NI PXI. El análisis comparativo demuestra el rendimiento en tiempo real y la autenticidad de los datos de las pruebas.

 

Información del autor:

跃钢 周
Dongfeng Motor Corporation
República Popular China
zhouyg@dfl.com.cn

Figura 1. Formato de marco de datos J1939
Figura 2. Modelo de referencia OSI
Figura 3. Transceptor de mensajes multitarea CAN bus basado en LabVIEW y el protocolo J1939
Figura 4. Motor de prueba de simulación HIL del entorno eléctrico del vehículo
Figura 5. Banco de pruebas
Figura 6. Plataforma de comunicación de bus CAN basada en LabVIEW y la implementación del protocolo J1939
Figura 7. Mensaje de EECU de estado estable del motor
Figura 8. Prueba comparativa de consumo de combustible en condiciones variables de trabajo del motor