2025-03-17 5:27 AM
Good afternoon
I am working on the STM32H755 and am dealing with the retransmissions from my CAN FD periphery. According to the ISO-11898-1:2024 standard, the number of retransmissions should be configurable:
"
- from 0 (no retransmission),
- to at least 6 (6 retransmission attempts),
- and the highest number in this range can allow unlimited retransmission attempts.
"
Currently I have FunctionalState AutoRetransmission in FDCAN_InitTypeDef set to ENABLE and on the oscilloscope I see an infinite number of retransmissions when I disconnect between two nodes. Now I want to limit the retransmission count to 6 retransmissions.
Can I do this?
Thank you very much for your answer.
Manuel
Solved! Go to Solution.
2025-03-18 1:56 AM
@MFrie.7 wrote:
Understood. And is there no way to count the number of retransmissions and stop them after a certain number (except by polling the TEC register)?
Indeed. There is no interrupt on a specific value of TEC counter.
2025-03-17 6:27 AM
You can monitor the Transmit Error Counter (TEC) in the FDCAN Protocol Status Register (PSR) and count the retransmissions in software. If the transmission is failing, keep a counter and manually stop retransmission after 6 attempts.
2025-03-18 12:05 AM
Hello, thank you for your reply.
The monitoring from the TEC is basically a good approach. The problem is that I want to stop the transmission after a few retransmissions (<= 10). Since there is no interrupt when the TEC is increased, I would have to poll this register constantly, which I consider to be an unreasonable solution.
2025-03-18 1:08 AM
Hello,
@MFrie.7 wrote:
The problem is that I want to stop the transmission after a few retransmissions (<= 10).
I don't think this is possible according to what you said previously: "Now I want to limit the retransmission count to 6 retransmissions."
It seems the ISO-11898-1:2024 standard (which we can no have access) is something new and does not implies to STM32H7 which follows the standard 11898-1: 2015.
Hope that answers your question.
2025-03-18 1:35 AM
Hello and thank you for your reply.
I don't understand the statement:
"I don't think this is possible according to what you said previously: "Now I want to limit the retransmission count to 6 retransmissions.""
Do you mean that it is not possible to configure the number of retransmissions? So you can only switch retransmissions on (unlimited retransmissions) or off (no retransmissions)?
Best Regards,
Manuel
2025-03-18 1:37 AM
Yes I mean that's not possible to configure the number of the retransmission..
It's either Off or unlimited retransmissions.
2025-03-18 1:54 AM
Understood. And is there no way to count the number of retransmissions and stop them after a certain number (except by polling the TEC register)?
2025-03-18 1:56 AM
@MFrie.7 wrote:
Understood. And is there no way to count the number of retransmissions and stop them after a certain number (except by polling the TEC register)?
Indeed. There is no interrupt on a specific value of TEC counter.