FD controller area network (FDCAN) RM0440
1964/2126 RM0440 Rev 4
message data field is configured to 64 bytes, Tx FIFO allocates eighteen 32-bit words for
storage of a Tx element.
Note: AUTOSAR requires at least three Tx Queue Buffers and support of transmit cancellation.
The Tx Handler starts a Tx scan to check for the highest priority pending Tx request (Tx
Buffer with lowest Message ID) when the Tx Buffer Request Pending register TXBRP is
updated, or when a transmission has been started.
Transmit Pause
The transmit pause feature is intended for use in CAN systems where the CAN message
identifiers are (permanently) specified to specific values and cannot easily be changed.
These message identifiers may have a higher CAN arbitration priority than other defined
messages, while in a specific application their relative arbitration priority must be inverse.
This may lead to a case where one ECU sends a burst of CAN messages that cause
another ECU CAN messages to be delayed because that other messages have a lower
CAN arbitration priority.
If, as an example, CAN ECU-1 has the feature enabled and is requested by its application
software to transmit four messages, it waits, after the first successful message transmission,
for two CAN bit times of bus idle before it is allowed to start the next requested message. If
there are other ECUs with pending messages, those messages are started in the idle time,
they would not need to arbitrate with the next message of ECU-1. After having received a
message, ECU-1 is allowed to start its next transmission as soon as the received message
releases the CAN bus.
The feature is controlled by TXP bit in CCCR register. If the bit is set, the FDCAN, each time
it has successfully transmitted a message, pauses for two CAN bit times before starting the
next transmission. This enables other CAN nodes in the network to transmit messages even
if their messages have lower prior identifiers. Default is disabled (CCCR.TXP = 0).
This feature looses up burst transmissions coming from a single node and it protects against
"babbling idiot" scenarios where the application program erroneously requests too many
transmissions.
Tx FIFO
Tx FIFO operation is configured by programming TXBC[TFQM] to 0. Messages stored in the
Tx FIFO are transmitted starting with the message referenced by the Get Index
TXFQS[TFGI]. After each transmission the Get Index is incremented cyclically until the Tx
Table 395. Possible configurations for Frame transmission
CCCR Tx Buffer element
Frame transmission
BRSE FDOE FDF BRS
Ignored 0 Ignored Ignored Classic CAN
0 1 0 Ignored Classic CAN
0 1 1 Ignored FD without bit rate switching
1 1 0 Ignored Classic CAN
1110FD without bit rate switching
1111FD with bit rate switching