¿Qué sucederá cuando dos nodos CAN envíen el mismo identificador?

Necesitamos entender este caso manteniendo 2 puntos en consideración:

Caso 1: si se envían 2 mensajes con las mismas ID en un momento diferente

Cada vez que una ECU tiene que ganar el Bus para enviar un mensaje en el Bus según la regla de Arbitraje del protocolo CAN. Según esta regla, los mensajes que tienen menos valor de ID obtienen autorización para aparecer primero en el bus CAN. El arbitraje inteligente es la clave para determinar la prioridad de los mensajes que intentan aparecer en el bus CAN.

Entonces, si se envían 2 mensajes en un momento diferente, ambos mensajes aparecerán felices sin crear ningún error en el bus.

Caso 2: si se envían 2 mensajes con las mismas ID en el mismo punto de tiempo

Si ambos mensajes tienen la máxima prioridad e intentan aparecer en el bus al mismo tiempo, podrán enviar los datos en el bus, pero puede ocurrir el siguiente error:

  1. Error de bit : ECU que envía y luego de leer los datos para verificar que los datos se transmiten en el bus correctamente o no. Pero en este caso, debido al diferente contenido de datos de los mensajes, ambas ECU del remitente encontrarán una falta de coincidencia en el contenido de los datos (debido a la misma ID, la ECU no podrá encontrar sus propios datos). Por lo tanto, la ECU puede detectar un error de bit y puede comenzar a enviar tramas de error.
  2. Error de CRC: los mensajes con diferentes contenidos de datos pueden tener diferentes valores de CRC. Aquí, en este caso, la misma ID de mensaje pero diferentes contenidos de datos tendrán diferentes valores de CRC. El receptor detectará esto como falta de coincidencia de CRC y, por lo tanto, comenzará a enviar tramas de error.

Supuesto 1:

Supongo que ambos nodos envían estos mensajes al mismo tiempo, de lo contrario no habrá colisión, por lo tanto, ambos estarán en el bus.
Ahora, si se envían al mismo tiempo , siempre que todos los campos sean idénticos, completarán la transferencia con mucho gusto. Si alguno de los campos que comienzan desde el Campo de control hasta el campo CRC hay una falta de coincidencia de bits, entonces habrá un error de bit que dará como resultado tramas de error.

Suposición 2:

El bit RTR después del campo ID decidirá quién ganará el arbitraje.
RTR -> Solicitud de transmisión remota
0: en el marco de datos.
1: en el marco remoto.
Entonces, si hay 2 cuadros arbitrando en el bus “Un cuadro remoto y su cuadro de datos con la misma ID”
El marco de datos ganará el arbitraje.

Espero que te quede claro ahora.

Primero piense que comenzará a hacer la BUS Orbitition.

BUS Orbitition significa que comienza a identificar qué nodos tiene una gran importancia.

Por ejemplo, piense que el nodo 1 es el sistema de bolsa de aire y el nodo 2 es el lavado del espejo.

Con la ayuda de la órbita del bus, el identificador se dará cuenta de que el nodo 1 es de suma importancia que reciba la señal para el nodo 1.

Después de la complicación del nodo 1, comenzará a tomar la señal del nodo 2.

El identificador de trama CAN debe ser único en toda la red. Asignar el mismo identificador a dos nodos CAN debería conducir a un error de configuración.