CAN - ¿mensaje duplicado en las posibilidades del receptor?

1

Este enlace dice que: El uso de números de secuencia corrige el error de duplicación .

¿Cuándo puede un mensaje duplicado terminar en un receptor?

Si un nodo detecta un error, envía un indicador de error y cuando todos los demás nodos de recepción detectan el error, también envían indicadores de error y destruyen el mensaje recibido. El transmisor vuelve a enviar el mensaje nuevamente.

No estoy al tanto de las posibilidades de recibir mensajes duplicados ...

Por favor, ayuda, ya que debo decidir si se debe usar el número de secuencia en mis mensajes.

Gracias

    

2 respuestas

1

La presentación a la que se vincula se refiere a una situación en la que un receptor acepta un mensaje, pero un transmisor reconoce el mismo mensaje como incorrectamente transmitido. Actualmente no entiendo exactamente cómo sucedería eso, pero supongo que un receptor podría usar datos de una trama donde el bit ACK no se establece por cualquier motivo, lo que hace que el transmisor reenvíe la trama.

OMI, la razón exacta por la que esto puede suceder es irrelevante, pero en su lugar, debe pensar en el tipo de datos que está transmitiendo: si envía periódicamente, por ejemplo. El valor actual de un sensor que lee sobre el bus una retransmisión no será algo malo. Si, por otro lado, su mensaje contiene una pequeña parte de un bloque de datos más grande, el reenvío de esa parte causará que el bloque más grande esté dañado. Esta es la razón por la que los protocolos como CCP o XCP contienen un contador de mensajes.

    
respondido por el 0x6d64
0

Posibilidad 1:

El punto de tiempo en el que se considera que un mensaje es válido, es diferente para el transmisor y los receptores del mensaje. El transmisor comprueba todos los bits hasta el final de Campo de fin del marco. Los receptores consideran que un mensaje es válido si no hay error hasta que Último pero un poco de FIN DE MARCO. El valor del último bit de FIN DE MARCO es tratado como no importa, (un valor dominante no conduce a un FORM ERROR). Esta diferencia en la interpretación de una transmisión / recepción válida de un mensaje puede dar lugar a a las omisiones / duplicados de mensajes inconsistentes. Si un transmisor detecta que el último bit es dominante en lugar de recesivo, se reenviará. El receptor no tiene idea de que este es un mensaje duplicado porque no consideró el mensaje anterior como un error.

Referencia para la respuesta

Condiciones del marco de sobrecarga

    
respondido por el Akshay Immanuel D

Lea otras preguntas en las etiquetas