Directorio de artículos
1. Preparación preliminar
En primer lugar, debe instalar el software para crear archivos DBC, y aquí se utiliza CANdb++. Dado que el blogger acaba de comenzar a aprender sobre electrónica automotriz, si hay otro software de uso común para crear archivos DBC, deje un mensaje en el área de comentarios.
El segundo es el mensaje que hay que hacer, es decir, el protocolo de comunicación. Incluyendo el nombre del mensaje (Nombre del mensaje), ID del mensaje (ID del mensaje), tipo de envío del mensaje (Tipo de envío del mensaje), tiempo del ciclo del mensaje (Tiempo del ciclo del mensaje (ms)) longitud del mensaje (Byte de longitud del mensaje), Nombre de la señal (Nombre de la señal), Descripción de la señal (Descripción de la señal), Formato de disposición (Orden de bytes), Byte de inicio (Byte de inicio), Bit de inicio (Bit de inicio), Tipo de envío de señal (Tipo de envío de señal), Longitud de señal (Longitud de bits), tipo de datos (Tipo de datos) , precisión (resolución, Resolución), desplazamiento (desplazamiento), valor máximo físico (Singal Value Max (phys)), valor mínimo físico (Signal Value Min (phys)), bus (Hex) valor mínimo (Signal Min Value (Hex) ), valor máximo de bus (Valor de señal máx. (hexadecimal)), valor inicial (Valor inicial (hexadecimal)), unidad (Unidad), valor no válido (Valor no válido (hexadecimal)) Descripción de señal (Descripción de valor individual), etc. Aquí el blogger simplemente enumera un mensaje por sí mismo.
Nombre del mensaje | ID de mensaje | Tipo de envío de mensaje | Tiempo de ciclo de mensaje (ms) | Byte de longitud del mensaje | Nombre de la señal | Descripción de la señal | Byte de inicio | Intercambiar palabra | Bit de inicio | Tipo de envío de señal | Longitud de bit | Tipo de datos | Resolución | compensar | Valor de señal mínimo (físico) | Valor individual máximo (físico) | Valor mínimo de la señal (hexadecimal) | Valor de señal máx. (hexadecimal) | Valor inicial (hexadecimal) | Unidad | Descripción del valor individual |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AUTO | 0x0404 | Ciclo | 10 | 8 | Permitir | habilitación del motor | 0 | LSB de Motorola | 2 | Ciclo | 1 | No firmado | 1 | 0 | 0 | 1 | 0x0 | 0x1 | 0x1 | 0: deshabilitar; 1: habilitar | |
AUTO | 0x0404 | Ciclo | 10 | 8 | Velocidad | La velocidad del motor | 2 | LSB de Motorola | dieciséis | Ciclo | dieciséis | No firmado | 0.25 | 0 | 0 | 16000 | 0x0 | 0x3E80 | 0x0 | rpm |
En segundo lugar, cree un nuevo archivo DBC
3. Agregar mensaje (Mensaje)
Una vez completada la creación, haga clic en "Mensaje" a la izquierda para crear un nuevo mensaje.
De acuerdo con el protocolo de comunicación, complete la información relevante del mensaje.
其中“Type”有两种,一种是“CAN Standard”,标准的CAN。一种是“CAN Extended”,扩展的CAN。
El rango de valores de ID del marco estándar es 0x0~0x7FF, mientras que el ID del marco extendido puede ser mayor. El marco estándar CAN y el marco extendido solo son diferentes en la longitud de la ID, para expandir más nodos CAN y admitir mejor el protocolo de capa superior. Si el "Tipo" se selecciona incorrectamente, se informará un error si la ID excede el rango.
Entre ellos, DLC (Código de longitud de datos) es la longitud del mensaje enviado.
El mensaje creado es el siguiente
4. Agrega la señal
Antes de presentar cómo agregar señales, primero presente los modos endian grande y pequeño y cómo crear una nueva tabla de valores.
4.1 Modo endian grande y pequeño
En pocas palabras, Intel es un modelo little-endian (secuencia little-endian de Little-Endian) y Motorola es un modelo big-endian (secuencia big-endian de Big-Endian).
Modo Little Endian: el byte bajo se almacena en el extremo de la dirección baja, el byte alto se almacena en el extremo de la dirección alta
Modo Big Endian: el byte bajo se almacena en el extremo de la dirección alta, el byte alto se almacena en el extremo de la dirección baja
Para dar un ejemplo simple, por ejemplo, necesita almacenar 0x12 34 56 78
Cuando se almacena en modo big-endian , el byte bajo se coloca en la dirección alta y el byte alto se coloca en la dirección baja.
0x12 | 0x34 | 0x56 | 0x78 cuando se almacena
Cuando se almacena en modo little-endian , el byte bajo se coloca en la dirección baja y el byte alto se coloca en la dirección alta.
0x78 | 0x56 | 0x34 | 0x12 cuando se almacena
4.2 Crear una tabla de valores
La tabla de valores se utiliza para indicar el significado del valor medio de la señal. Haga clic en "Ver" y seleccione "Tablas de valores".
La tabla de valores creados es la siguiente
4.3 Añadir una señal
Haga clic en "Singal" a la izquierda, haga clic con el botón derecho en el espacio en blanco a la derecha y seleccione "Nuevo".
Agregue señales de acuerdo con los requisitos del protocolo de comunicación. Agregue una descripción de la señal en la ventana "Comentario".
- Orden de bytes
Este es el formato de arreglo, hay dos tipos. Uno es little endian y el otro es big endian. Con respecto al modo little-endian y al modo big-endian, habrá introducciones complementarias correspondientes a continuación. - Unidad única
, no es necesario escribir - El factor
corresponde a la precisión y resolución en el protocolo de comunicación (Resolución) - Mínimo y Maxmum
mínimo físico y máximo físico - Value Table
es una tabla de valores utilizada para indicar el significado de cada valor. Necesita crearlo usted mismo.
La señal de habilitación del motor creada es la siguiente
La señal de velocidad del motor creada es la siguiente
5. Señales y mensajes asociados
Después de crear la señal y el mensaje, debe agregar la señal al mensaje. Haga clic en "Mensaje" a la izquierda de nuevo. Seleccione "Señal", haga clic en "Agregar" a continuación para agregar una señal y agregue la señal creada anteriormente.
6. Configure el tipo y el ciclo de envío de mensajes
Haga doble clic para abrir el mensaje recién creado, seleccione la ventana "Atributos" y configure el tipo de envío y el ciclo del mensaje de acuerdo con el protocolo de comunicación.
Siete, edita la matriz de comunicación.
- Haga doble clic en el mensaje creado (mensaje), seleccione "Diseño"
- Haga clic en "Agregar..." para agregar la señal y agregue la señal de acuerdo con el byte de inicio y el bit de inicio especificados en el protocolo de comunicación