Skip to main content
Visitor II
March 17, 2025
Solved

FDCAN: Retransmissions Configuration

  • March 17, 2025
  • 1 reply
  • 1390 views

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

    This topic has been closed for replies.
    Best answer by mƎALLEm

    @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.

    1 reply

    Visitor II
    March 17, 2025

    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.

    MFrie.7Author
    Visitor II
    March 18, 2025

    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.

    Technical Moderator
    March 18, 2025

    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.