Datasheet

Figure 49-7. Rx FIFO Status
0
1
2
34
5
6
Fill Level
Get Index
Put Index
MCAN_RXFnS.FnFL
MCAN_RXFnS.FnGI
MCAN_RXFnS.FnPI
7
When reading from an Rx FIFO, Rx FIFO Get Index MCAN_RXFnS.FnGI × FIFO Element Size has to be added to
the corresponding Rx FIFO start address MCAN_RXFnC.FnSA.
T
able 49-2. Rx Buffer / FIFO Element Size
MCAN_RXESC.RBDS[2:0]
MCAN_RXESC.FnDS[2:0]
Data Field
[bytes]
FIFO Element Size
[RAM words]
0 8 4
1 12 5
2 16 6
3 20 7
4 24 8
5 32 10
6 48 14
7 64 18
49.5.4.2.1 Rx FIFO Blocking Mode
The Rx FIFO Blocking mode is configured by MCAN_RXFnC.FnOM = ‘0’. This is the default operating mode for the
Rx FIFOs.
When an Rx FIFO full condition is reached (MCAN_RXFnS.FnPI = MCAN_RXFnS.FnGI), no further messages are
written to the corresponding Rx FIFO until at least one message has been read out and the Rx FIFO Get Index has
been incremented. An Rx FIFO full condition is signalled by MCAN_RXFnS.FnF = ‘1’. In addition, the interrupt flag
MCAN_IR.RFnF is set.
In case a message is received while the corresponding Rx FIFO is full, this message is discarded and the message
lost condition is signalled by MCAN_RXFnS.RFnL = ‘1’. In addition, the interrupt flag MCAN_IR.RFnL is set.
49.5.4.2.2 Rx FIFO Overwrite Mode
The Rx FIFO Overwrite mode is configured by MCAN_RXFnC.FnOM = ‘1’.
When an Rx FIFO full condition (MCAN_RXFnS.FnPI = MCAN_RXFnS.FnGI) is signalled by MCAN_RXFnS.FnF =
‘1’, the next message accepted for the FIFO will overwrite the oldest FIFO message. Put and get index are both
incremented by one.
SAM E70/S70/V70/V71 Family
Controller Area Network (MCAN)
© 2019 Microchip T
echnology Inc.
Datasheet
DS60001527D-page 1416