Sección 6.1 de la especificación CAN :
BIT ERROR: una unidad que está enviando un bit en el bus también monitorea el bus. Se debe detectar un ERROR DE BIT en ese momento de bit, cuando el valor de bit que se supervisa es diferente del valor de bit que se envía. Una excepción es el envío de un bit 'recesivo' durante el flujo de bits rellenos del CAMPO DE ARBITRAJE o durante el SLOT ACK.
Entonces, el nodo que primero transmite un '1' cuando el otro transmite un '0' notará un error de bit y luego señalará un error como normal, al transmitir un indicador de error (ver Sección 3.1.3), como se describe formalmente en la Sección 6.2.
Informalmente, si ese nodo está activo por error (que debería ser el caso habitual) transmitirá un indicador de error de 6 bits dominantes, que todos los demás nodos también detectarán (como un error de relleno). Esto tiene el efecto de destruir ese mensaje por completo:
- nadie lo recibirá
- Ninguno de los transmisores pensará que ha transmitido nada con éxito.
Cada transmisor intentará retransmitir, dependiendo del momento preciso de las retransmisiones, uno puede comenzar lo suficiente antes que el otro para obtener el control de ganancia del bus. De lo contrario, la misma secuencia puede volver a ocurrir. (¡O otro mensaje de mayor prioridad puede retrasarlos a ambos por un tiempo!)
Respuesta extendida inspirada por la respuesta de @ clabbacchio a continuación.
Usted menciona "nodos desagradables", y clabbacchio hace el punto válido de que si dos nodos transmiten en diferentes momentos, cada receptor debe decidir qué hacer con sus múltiples recepciones.
Esto fue demostrado por un hack el año pasado . El documento discute, en la sección "detalles de PSCM", cómo un atacante puede sincronizarse con los mensajes regulares en el autobús y reproducir su mensaje maligno justo antes del que está a punto de enviar la ECU "buena". La ECU receptora acepta el mensaje anterior, actualiza su contador de mensajes y luego descarta los mensajes "buenos" como erróneos, porque su contador de mensajes no se ha incrementado.