El bus CAN (Controller Area Network) es un protocolo de comunicación serie ampliamente utilizado, especialmente adecuado para los sectores de automoción y automatización industrial. Los tipos de mensajes en el bus CAN se pueden clasificar en términos generales de la siguiente manera, y cada tipo tiene su propósito y formato específicos.
I. Marco de datos
La trama de datos es el tipo de mensaje más básico en el bus CAN y se utiliza para transmitir datos entre nodos. Una trama de datos consta de varios segmentos, incluido el inicio de la trama, el campo de arbitraje, el campo de control, el campo de datos, el campo CRC, el campo ACK y el final de la trama.
1. Inicio del cuadro (SOF)
- Definición: Un segmento que indica el inicio de una trama de datos, que consta de un único bit activo (0 lógico).
- Función: Cuando el bus está inactivo, el nodo transmisor envía el Inicio de trama; otros nodos receptores se sincronizan con este bit de inicio de trama.
2. Campo de arbitraje
- Definición: segmento que indica la prioridad del marco. Dependiendo de la longitud del código ID del campo de arbitraje, las tramas se clasifican en tramas estándar (CAN 2.0A) y tramas extendidas (CAN 2.0B).
- Contenido: el campo de arbitraje de una trama de formato-estándar consta de un identificador (ID) de 11-bits y un bit de solicitud de transmisión remota (RTR); El campo de arbitraje de una trama de formato extendido consta de un identificador de 29 bits y un bit RTR.
- Función: Se utiliza para determinar el tipo de trama que se transmite (trama de datos o trama de control remoto) y el formato de la trama (trama estándar o trama extendida), así como para establecer la prioridad de la trama.
3. Campo de control
- Definición: campo que especifica el número de bytes de los datos y los bits reservados.
- Contenido: Incluye el Código de Longitud de Datos (DLC) y dos bits reservados (r0, r1). El DLC indica la cantidad de bytes en el campo de datos, que puede variar de 0 a 8 bytes.
- Función: Informa al nodo receptor de la longitud del campo de datos para que los datos se puedan recibir correctamente.
4. Campo de datos
- Definición: El contenido de los datos; Se pueden transmitir de 0 a 8 bytes de datos.
- Finalidad: Transmitir la información de los datos reales.
5. Campo CRC (campo de verificación de redundancia cíclica)
- Definición: Campo utilizado para comprobar errores de transmisión en una trama, que consta de una secuencia CRC y un delimitador CRC.
- Función: Garantiza la integridad y precisión de los datos mediante la verificación CRC.
6. Campo ACK (campo de reconocimiento)
- Definición: Un segmento que indica la confirmación de una recepción exitosa y que consta de una ranura de ACK y un delimitador de ACK.
- Función: Cuando el receptor recibe correctamente un mensaje válido, envía un bit positivo al transmisor durante la ranura ACK para acusar recibo.
7. Fin del cuadro (EOF)
- Definición: segmento que indica el final de una trama de datos y que consta de 7 bits negativos.
- Función: Señala el final de la trama de datos.
II. Marco remoto
Se utiliza una trama remota para solicitar la transmisión de una trama de datos con el mismo ID. Cuando un nodo receptor necesita ciertos datos pero no los tiene, envía una trama remota para solicitar que el nodo transmisor envíe la trama de datos correspondiente. La estructura de una trama remota es similar a la de una trama de datos, pero el segmento de datos está vacío y el bit RTR está establecido en 1.
III. Marco de error
Un marco de error consta de dos campos: el indicador de error y el delimitador de error. Cuando un nodo receptor detecta un error en un mensaje en el bus, transmite automáticamente un "indicador de error activo"; otros nodos, al detectar el indicador de error activo, envían un "indicador de reconocimiento de error". La transmisión de una trama de error interrumpe la comunicación del bus actual hasta que se resuelva el error.
IV. Marco de sobrecarga
Un marco de sobrecarga consta de un indicador de sobrecarga y un separador de sobrecarga. Una trama sobrecargada se transmite cuando el nodo receptor requiere un tiempo excesivo para procesar los datos actuales antes de recibir la siguiente trama, o cuando se detecta un nivel dominante en el campo de espacio entre tramas. La transmisión de una trama sobrecargada retrasa la transmisión de tramas posteriores para garantizar que la comunicación en el bus no se interrumpa debido a una sobrecarga.
V. Otros tipos de mensajes
Además de los cuatro tipos de mensajes básicos mencionados anteriormente, el protocolo de bus CAN define varios otros tipos de mensajes especiales, como los tipos de mensajes Interframe Space y N_PCI (por ejemplo, fotograma único, fotograma inicial, fotograma continuo, fotograma de control de flujo, etc.). Estos tipos de mensajes se utilizan en escenarios de comunicación específicos para cumplir con diferentes requisitos de comunicación.
Resumen
Los tipos de mensajes en el bus CAN incluyen tipos básicos como tramas de datos, tramas de control remoto, tramas de error y tramas de sobrecarga, así como tipos especiales como tipos de mensajes Interframe Space y N_PCI. Cada tipo de mensaje tiene su estructura y propósito específicos, y en conjunto forman la base de la comunicación del bus CAN. En aplicaciones prácticas, seleccionar el tipo de mensaje apropiado para la transmisión de datos en función de requisitos de comunicación específicos garantiza una comunicación confiable y eficiente.




