SLAU846A June 2023 – October 2023 MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G3105 , MSPM0G3105-Q1 , MSPM0G3106 , MSPM0G3106-Q1 , MSPM0G3107 , MSPM0G3107-Q1 , MSPM0G3505 , MSPM0G3505-Q1 , MSPM0G3506 , MSPM0G3506-Q1 , MSPM0G3507 , MSPM0G3507-Q1
The Tx handler is used to handle the Tx requests. It controls the transfer of transmit messages from the dedicated Tx buffers, the Tx FIFO, and the Tx Queue to the CAN Core, the Tx Event FIFO, and the Put and GetIndex operations. The MCAN module supports up to 32 Tx buffers. These Tx buffers can be configured as dedicated Tx buffers, Tx FIFO, or Tx Queue and as combination of dedicated Tx buffers/Tx FIFO or dedicated Tx buffers/Tx Queue. For each Tx Buffer element Classical CAN or CAN FD transmission mode can be configured. Table below shows the possible configurations for message transmission.
MCAN_CCCR Register | Buffer Element | Frame Transmission | ||
---|---|---|---|---|
BRSE | FDOE | FDF | BRS | |
ignored | 0 | ignored | ignored | Classic CAN |
0 | 1 | 0 | ignored | Classic CAN |
0 | 1 | 1 | ignored | CAN FD without bit rate switching |
1 | 1 | 0 | ignored | Classic CAN |
1 | 1 | 1 | 0 | CAN FD without bit rate switching |
1 | 1 | 1 | 1 | CAN FD with bit rate switching |
When the Tx Buffer RequestPending (MCAN_TXBRP) register is updated, or when a transmission has been started the Tx Handler starts scanning to check for the highest priority pending Tx request. The Tx Buffer with the lowest Message ID has highest priority.
AUTOSARrequires at least three Tx Queue buffers and support of transmit cancellation