Up to 64 Rx Buffers and two Rx FIFOs can be configured in the Message RAM. Each Rx FIFO section can be configured to store up to 64 received messages. The structure of a Rx Buffer / FIFO element is shown in the table below. The element size can be configured for storage of CAN FD messages with up to 64 bytes data field via register MCAN_RXESC.
31 | 24 | 23 | 16 | 15 | 8 | 7 | 0 | |||||||||||||||||||||||||
R0 | ESI | XTD | RTR | ID[28:0] | ||||||||||||||||||||||||||||
R1 | ANMF | FIDX[6:0] | – | FDF |
BRS | DLC[3:0] | RXTS[15:0] | |||||||||||||||||||||||||
R2 | DB3[7:0] | DB2[7:0] | DB1[7:0] | DB0[7:0] | ||||||||||||||||||||||||||||
R3 | DB7[7:0] | DB6[7:0] | DB5[7:0] | DB4[7:0] | ||||||||||||||||||||||||||||
... | ... | ... | ... | ... | ||||||||||||||||||||||||||||
Rn | DBm[7:0] | DBm-1[7:0] | DBm-2[7:0] | DBm-3[7:0] |
• R0 Bit 31 ESI: Error State Indicator
0: Transmitting node is error active.
1: Transmitting node is error passive.
• R0 Bit 30 XTD: Extended Identifier
Signals to the processor whether the received frame has a standard or extended identifier.
0: 11-bit standard identifier.
1: 29-bit extended identifier.
• R0 Bit 29 RTR: Remote Transmission Request
Signals to the processor whether the received frame is a data frame or a remote frame.
0: Received frame is a data frame.
1: Received frame is a remote frame.
• R0 Bits 28:0 ID[28:0]: Identifier
Standard or extended identifier depending on bit XTD. A standard identifier is stored into ID[28:18].
• R1 Bit 31 ANMF: Accepted Non-matching Frame
Acceptance of non-matching frames may be enabled via MCAN_GFC.ANFS and MCAN_GFC.ANFE.
0: Received frame matching filter index FIDX.
1: Received frame did not match any Rx filter element.
• R1 Bits 30:24 FIDX[6:0]: Filter Index
0-127: Index of matching Rx acceptance filter element (invalid if ANMF = ‘1’). Range is 0 to MCAN_SIDFC.LSS - 1 resp. MCAN_XIDFC.LSE - 1.
• R1 Bit 21 FDF: FD Format
0: Standard frame format.
1: CAN FD frame format (new DLC-coding and CRC).
• R1 Bit 20 BRS: Bit Rate Switch
0: Frame received without bit rate switching.
1: Frame received with bit rate switching.
Bits ESI, FDF, and BRS are only evaluated when CAN FD operation is enabled (MCAN_CCCR.FDOE = 1). Bit BRS is only evaluated when in addition MCAN_CCCR.BRSE = 1.
• R1 Bits 19:16 DLC[3:0]: Data Length Code
0-8: CAN + CAN FD: received frame has 0-8 data bytes.
9-15: CAN: received frame has 8 data bytes.
9-15: CAN FD: received frame has 12/16/20/24/32/48/64 data bytes.
• R1 Bits 15:0 RXTS[15:0]: Rx Timestamp
Timestamp Counter value captured on start of frame reception. Resolution depending on configuration of the Timestamp Counter Prescaler MCAN_TSCC.TCP.
• R2 Bits 31:24 DB3[7:0]: Data Byte 3
• R2 Bits 23:16 DB2[7:0]: Data Byte 2
• R2 Bits 15:8 DB1[7:0]: Data Byte 1
• R2 Bits 7:0 DB0[7:0]: Data Byte 0
• R3 Bits 31:24 DB7[7:0]: Data Byte 7
• R3 Bits 23:16 DB6[7:0]: Data Byte 6
• R3 Bits 15:8 DB5[7:0]: Data Byte 5
• R3 Bits 7:0 DB4[7:0]: Data Byte 4
... ... ...
• Rn Bits 31:24 DBm[7:0]: Data Byte m
• Rn Bits 23:16 DBm-1[7:0]: Data Byte m-1
• Rn Bits 15:8 DBm-2[7:0]: Data Byte m-2
• Rn Bits 7:0 DBm-3[7:0]: Data Byte m-3