Vehicle Network Toolbox

Comuníquese con las redes multiplexadas de un vehículo mediante los protocolos CAN, J1939 y XCP

 

Vehicle Network Toolbox™ proporciona funciones de MATLAB® y bloques de Simulink® para enviar, recibir, codificar y descodificar mensajes CAN, CAN FD, J1939 y XCP. La toolbox permite identificar y analizar señales específicas mediante archivos de base de datos CAN estándar en el sector y, a continuación, visualizar las señales descodificadas mediante la app CAN Bus Monitor. Mediante los archivos de descripción A2L, puede conectar con una ECU a través de XCP en CAN o Ethernet. Puede acceder a mensajes y datos de mediciones almacenados en archivos MDF.

La toolbox simplifica la comunicación con las redes de los vehículos y permite supervisar, filtrar y analizar datos de bus CAN en tiempo real o registrar y grabar mensajes para su posterior análisis y reproducción. Puede simular el tráfico de mensajes de un bus CAN virtual o conectar con una red o ECU en tiempo real. Vehicle Network Toolbox es compatible con dispositivos de interfaz CAN de Vector, Kvaser, PEAK-System y National Instruments®.

Cómo empezar:

Envío y recepción de mensajes CAN y CAN FD desde MATLAB y Simulink

Configuración de canales CAN y CAN FD

Las funciones para canales CAN de MATLAB y los bloques de configuración de CAN de Simulink permiten definir una conexión al hardware de interfaz CAN de Vector que establece una conexión física con un bus CAN mediante el estándar CAN o CAN FD. Vehicle Network Toolbox™ proporciona funciones para los canales CAN con las que es posible consultar y establecer las opciones de configuración del hardware de interfaz CAN, tales como la velocidad del bus y los ajustes del transceptor. También se pueden verificar otras propiedades de los canales CAN, tales como el número de mensajes disponibles y el número de mensajes recibidos o transmitidos en un canal. Si se adjuntan archivos de base de datos CAN de Vector a los canales CAN, los mensajes entrantes se presentan automáticamente con la información almacenada en la base de datos. Tras definir un canal CAN, puede enviar y recibir mensajes CAN en él.

Conecte MATLAB a la red de su vehículo mediante los protocolos CAN y CAN FD.

Envío y recepción de paquetes CAN

Los mensajes CAN estándar contienen propiedades para almacenar el identificador de mensaje CAN (11 bits en la versión estándar o 29 bits en la extendida) y la marca de tiempo, así como hasta 8 bytes de datos CAN. Un canal configurado para transmitir CAN FD puede admitir mensajes que contengan hasta 64 bytes de datos.

Las funciones y los bloques de transmisión y recepción de la toolbox permiten enviar y recibir mensajes CAN a través de los canales CAN. En el caso de conjuntos de datos de gran tamaño, puede registrar los mensajes CAN para analizarlos sin conexión.

Código MATLAB para recibir mensajes CAN y sus respectivas señales en formato de cronograma.

Creación y extracción de señales de mensajes CAN

Vehicle Network Toolbox proporciona funciones y bloques para codificar y descodificar mensajes CAN. Los datos de los mensajes CAN pueden contener datos que representan múltiples señales. Las funciones y los bloques de desempaquetado permiten que el usuario especifique el bit de inicio, la longitud de la señal, el tipo de datos y el orden de los bytes. Las funciones y los bloques de empaquetado proporcionan las mismas opciones para compilar los datos y transmitirlos en forma de mensajes CAN.

Modelo de Simulink que utiliza el bloque CAN Unpack para descodificar mensajes CAN.

Registro y reproducción de mensajes CAN

El bloque CAN Log de la toolbox permite guardar los mensajes CAN recibidos por su modelo en un archivo MAT. A continuación, puede utilizar el bloque CAN Replay para reproducir los mensajes en otro modelo de Simulink. El bloque CAN Replay conserva las marcas de tiempo de los datos registrados, de modo que los datos reproducidos tendrán las mismas características temporales que los datos registrados.

Gráfica de datos de velocidad de ruedas reproducidos a partir de la ejecución de una prueba de vehículo grabada.

Comunicación a través del protocolo XCP

Vehicle Network Toolbox proporciona funciones y bloques para comunicarse con las ECU a través del protocolo de calibración automotriz XCP mediante bus CAN o Ethernet. Durante la comunicación con las ECU a través de XCP, MATLAB o Simulink son las aplicaciones primarias y las ECU son los dispositivos secundarios. Puede comunicarse con varias ECU abriendo varios canales XCP. Para cada ECU, se pueden leer y escribir datos en ubicaciones de memoria específicas de la ECU en cuestión. Cuando el acceso seguro a una ECU está disponible, se puede utilizar el sistema de seguridad de semilla y clave para abrir el acceso a la ECU. La toolbox también proporciona funciones y bloques para vincular archivos de base de datos A2L y para crear y ver listas dinámicas de mediciones DAQ y STIM para un canal XCP. Estas listas se establecen basándose en la información de mediciones y eventos del archivo A2L vinculado.

Modelo para la adquisición de mediciones a partir de un dispositivo esclavo secundario ECU. El modelo utiliza bloques XCP Configuration y XCP Transport Layer (arriba a la izquierda) y bloques XCP Data Acquisition (abajo a la izquierda) para configurar la adquisición de la señal PWM (derecha).

Comunicación a través del protocolo J1939

Vehicle Network Toolbox proporciona funciones y bloques para comunicarse a través del protocolo J1939 de alto nivel basado en CAN que se utiliza habitualmente en la industria de los camiones pesados. Al comunicarse a través de J1939, se utilizan funciones de MATLAB o bloques de Simulink para configurar la comunicación. En concreto, se proporcionan funciones y bloques para asociar un archivo de base de datos (.dbc) a la comunicación J1939, para especificar el hardware de interfaz CAN y para transmitir y recibir grupos de parámetros J1939. Los datos de la señal se codifican y descodifican en la red mediante grupos de parámetros definidos por el archivo de base de datos asociado a la conexión. Además, se puede configurar Simulink para que funcione como nodos de red con reclamación de dirección.

Modelo para el envío y la recepción de datos J1939 mediante los bloques J1939 Transmit y J1939 Receive. El modelo también utiliza los bloques J1939 Network Configuration, J1939 CAN Transport Layer Configuration y J1939 Node Configuration para configurar la comunicación.

Visualización de tráfico CAN

La toolbox proporciona la app Vehicle Network CAN Bus Monitor para visualizar el tráfico activo en un determinado canal CAN. Puede utilizar esta app mientras realiza otras tareas en MATLAB o Simulink. En el caso de los archivos de base de datos CAN asociados al canal CAN en cuestión, la app descodifica los mensajes y los muestra en sus unidades de ingeniería correctas.

Cuando el tráfico de la red contiene más información de la que necesita para su aplicación, puede limitar el número de mensajes CAN recibidos por un canal CAN a un rango definido de identificadores de mensajes CAN. Puede utilizar las funciones de filtrado y la configuración de máscara de la toolbox para recibir solo los mensajes que necesite para su aplicación.

Tráfico del bus CAN en la red mostrado en tiempo real en la app Vehicle CAN Bus Monitor. La ventana muestra datos sin procesar; se puede configurar para que muestre datos descodificados cuando el canal CAN está asociado a un archivo de base de datos .dbc.

Uso de archivos de base de datos CAN de Vector

Con Vehicle Network Toolbox, puede asociar un archivo de base de datos CAN de Vector a un canal o mensaje CAN desde MATLAB o Simulink, lo que permite codificar y descodificar mensajes CAN mediante nombres de mensajes y señales específicos de la aplicación, tales como EngineMsg y EngineRPM, así como unidades de ingeniería a escala. La posibilidad de trabajar con archivos de base de datos estándar en el sector simplifica la interacción con el bus CAN, ya que la base de datos no solo especifica la lista de mensajes y las señales de los componentes, sino que también proporciona las reglas de empaquetado y desempaquetado de bits para las señales asociadas. Dado que el tipo de datos, el bit de inicio, la longitud y el orden de los bytes de las señales están predefinidos para los mensajes en la base de datos, puede centrarse en analizar las señales en lugar de tener que definirlas.

Ejemplo de código que muestra cómo ver mensajes utilizando información almacenada en archivos de base de datos CAN.

Uso de archivos de descripción A2L

Vehicle Network Toolbox le permite utilizar archivos de descripción A2L (también conocidos como ASAP2) estándar en el sector para comunicarse con las ECU a través del protocolo XCP desde MATLAB o Simulink. El uso de archivos de descripción A2L le permite acceder a los parámetros internos de las ECU desde un programa de MATLAB o un modelo de Simulink. Los archivos de descripción A2L contienen información sobre la dirección de memoria asociada de un determinado parámetro, la estructura de almacenamiento y el tipo de datos. Estos archivos también contienen reglas para convertir valores almacenados tales como parámetros del sistema, características de sensores y factores de corrección en unidades físicas como RPM y grados Celsius. Con estos datos puede llevar a cabo fácilmente tareas de calibración y medición sin necesidad de analizar datos y descodificar direcciones de memoria.

Ejemplo de código que muestra cómo acceder a la información almacenada en archivos A2L para usar con conexiones XCP. Utiliza un simulador secundario XCP ofrecido gratuitamente por Vector y canales CAN virtuales de Vector.

Trabajo con archivos MDF

Con Vehicle Network Toolbox, puede importar fácilmente datos desde archivos de formato de datos de mediciones (MDF). La toolbox es compatible con la versión 3.0 y superior del estándar MDF. Cuando se crea un objeto MDF en MATLAB, se pueden ver las propiedades básicas del archivo, tales como la marca de tiempo inicial, el tamaño de los datos, el grupo de canales y la información de los nombres de los canales. Para leer en un subconjunto de un archivo MDF, especifique los nombres de los canales o la hora de inicio y fin. De manera predeterminada, el formato de salida del resultado es un cronograma, que ayuda a trabajar fácilmente con los datos de marca de tiempo.

En el caso de archivos MDF de gran tamaño que no quepan en la memoria, puede crear un almacén de datos MDF y previsualizar los datos por lotes en función de los parámetros que especifique. También puede crear un almacén de datos para trabajar fácilmente con un conjunto de archivos MDF similares.

Ejemplo de código para previsualizar un archivo MDF en la interfaz de línea de comandos y a continuación inspeccionar los datos en el editor de variables.

Uso de canales virtuales

Puede utilizar canales CAN y CAN FD virtuales para realizar pruebas y simulaciones de comunicaciones de red. Con un canal virtual, puede probar los modelos en una configuración de bucle invertido sin emplear hardware físico. Vehicle Network Toolbox es compatible con dos tipos de canales virtuales: los canales virtuales de MathWorks y los de proveedores de hardware de interfaz CAN de terceros. Los canales virtuales de proveedores de terceros, tales como Vector y Kvaser, requieren la instalación del driver o el paquete de soporte de hardware del proveedor correspondiente. Los canales virtuales de MathWorks se incluyen en la toolbox y no requieren drivers ni paquetes de soporte adicionales.

Modelo de Simulink que muestra el uso de canales virtuales de MathWorks para enviar y recibir datos CAN sin hardware.

Trabajo con archivos CDFX

Acceda a datos en formato de datos de calibración de ASAM (CDFX) con la función cdfx que proporciona Vehicle Network Toolbox. Utilice los datos de calibración de un archivo CDF como entradas para un modelo de Simulink.

Modelo de Simulink que muestra el uso de canales virtuales de MathWorks para enviar y recibir datos CAN sin hardware.

Funcionalidades más recientes

MDF

Acceda a archivos MDF en plataformas Linux

Transmisión basada en eventos en Simulink

Transmita mensajes CAN solo cuando se detecte un cambio en los datos de los mensajes

Consulte las notas de la versión para obtener detalles sobre estas funcionalidades y las funciones correspondientes.