¿Qué sucede si enviamos tramas CAN consecutivas y esperamos su confirmación?

-1

Tengo una pregunta general sobre la transmisión de CAN y el reconocimiento.

Quiero enviar varios cuadros CAN (cuadros de ráfaga), y después de recibirlos todos en HOST, quiero leer sus agradecimientos desde el Bus:

Mi pregunta es la siguiente: ¿Debo leer la confirmación después de que llegue cada trama (si es la única forma) o puedo leerlas después de que finalice la transmisión ?

Por ejemplo, si envío 10 tramas CAN consecutivas, ¿podré leer 10 recibos después de que finalice la transmisión?

Un enfoque práctico al usar esto con una MCU con transceptores CAN: solo tengo dos nodos: un transceptor y un receptor. También creo que usar interrupciones sería mucho más útil que usar sondeo para leer el Ack

Gracias de antemano

    
pregunta The Beast

1 respuesta

2

En un microcontrolador, el periférico CAN lee el bit ACK (lo que ocurre dentro del marco, por cierto, no es un marco separado como en la mayoría de los otros protocolos) y se reenviará automáticamente sin involucrar el firmware del usuario. propio motor de estado debido a los requisitos de tiempo. Así que no tienes la opción de cuándo manejar los ACK.

Tampoco se produce necesariamente una interrupción inmediata cuando se produce el ACK, aunque se pueden producir interrupciones cuando la trama se completa con éxito, es decir, al menos un nodo envió el bit ACK, u otras condiciones que ocurren después de que se completa la trama o error las banderas se establecen en el motor de estado CAN.

    
respondido por el Martin

Lea otras preguntas en las etiquetas