módulo CAN en STM32F207 - transmitiendo continuamente el mismo mensaje

2

He configurado el módulo CAN en un STM32F207 para transmitir a 1 Mbit / s. El programa es tal que transmitirá la misma trama CAN cada 2 ms. Observo que incluso si el código no está ejecutando la función de transmisión, los datos llegan continuamente al puerto CAN, a menos que borre todos los buzones.

¿Cómo puedo superar esta situación?

    
pregunta Vivek V

1 respuesta

8

Los módulos CAN se retransmitirán hasta que vean un acuse de recibo, por lo que necesita al menos otro dispositivo CAN en el mismo bus con la misma configuración de velocidad de transmisión en el modo de recepción. En CAN, el reconocimiento se realiza dentro del bit ACK hacia el final de la trama, en lugar de como un mensaje separado.

Más detalles en el documento Introducción a la Red de área del controlador (CAN) de Texas Instruments .

También es importante seguir las reglas para las resistencias de terminación, especialmente a altas velocidades de datos y / o cables largos, pero incluso a velocidades más bajas y cables más cortos. Por ejemplo, he notado que puedo salir con un terminador con unos pocos metros de cable a 125 kbaudios, y no funcionará sin terminadores. A medida que el cable se alarga, se hace necesario tener los dos terminadores habituales. Obviamente, esto es más crítico en 1 Mbaud.

    
respondido por el Martin

Lea otras preguntas en las etiquetas