39.9.2 Rx Buffer and FIFO Element

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

Table 39-8. Rx Buffer and FIFO Element
31

30

29282726252423222120191817161514131211109876543210
R0

E

S

I

X

T

D

R

T

R

ID[28:0]
R1

A

N

M

F

FIDX[6:0]

F

D

F

B

R

S

DLC[3:0]RXTS[15:0]
R2DB3[7:0]DB2[7:0]DB1[7:0]DB0[7:0]
R3DB7[7:0]DB6[7:0]DB5[7:0]DB4[7:0]
...............
RnDBm[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 Host 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 Host 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.

    Note: There are no remote frames in CAN FD format. In case a CAN FD frame was received (EDL = ‘1’), bit RTR reflects the state of the reserved bit r1.
  • 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 GFC.ANFS and 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’).

    Note: Range is 0 to SIDFC.LSS-1 for standard and 0 to XIDFC.LSE-1 for extended.
  • R1 Bits 23:22 - Reserved

  • 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 Search

    0 : Frame received without bit rate switching.

    1 : Frame received with bit rate switching.

  • 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 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

Warning: Depending on the configuration of RXESC, between two and sixteen 32-bit words (Rn = 3 ... 17) are used for storage of a CAN message’s data field.