SPRUIU1C July 2020 – February 2024 DRA821U , DRA821U-Q1
The MCAN supports up to 64 dedicated Rx Buffers. The start address of the Rx Buffers section in the Message RAM is configured via MCAN_RXBC[15-2] RBSA field. To store in an Rx Buffer a Standard or Extended Message ID Filter Element with SFEC/EFEC = 111 and SFID2/EFID2[10-9] = 00 has to be configured (see Section 12.4.4.4.10.5, Standard Message ID Filter Element and Section 12.4.4.4.10.6, Extended Message ID Filter Element).
After a received message has been accepted by a filter element, the message is stored into the Rx Buffer in the Message RAM referenced by the filter element (the format is the same as for an Rx FIFO element). In addition the flag MCAN_IR[19] DRX (Message stored in Dedicated Rx Buffer) is set.
Table 12-5205 shows Example Filter Configuration for Rx Buffers.
Filter Element | SFID1[10-0] EFID1[28-0] | SFID2[10-9] EFID2[10-9] | SFID2[5-0] EFID2[5-0] | |||
---|---|---|---|---|---|---|
0 | ID message 1 | 00 | 00 0000 | |||
1 | ID message 2 | 00 | 00 0001 | |||
2 | ID message 3 | 00 | 00 0010 |
After the last word of a matching received message has been written to the Message RAM, the respective New Data flag in register MCAN_NDAT1/MCAN_NDAT2 is set. As long as the New Data flag is set, the respective Rx Buffer is locked against updates from received matching frames. The New Data flags have to be reset by the Host CPU by writing a 1 to the respective bit position.
While an Rx Buffer's New Data flag is set, a Message ID Filter Element referencing this specific Rx Buffer will not match, causing the acceptance filtering to continue. Following Message ID Filter Elements may cause the received message to be stored into another Rx Buffer, or into an Rx FIFO, or the message may be rejected, depending on filter configuration.