66.5.7.6 Extended Message ID Filter Element

Up to 64 filter elements can be configured for 29-bit extended IDs. When accessing an Extended Message ID Filter element, its address is the Filter List Extended Start Address MCAN_XIDFC.FLESA plus two times the index of the filter element (0…63).

Table 66-11. Extended Message ID Filter Elemen
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
F0 EFEC[2:0] EFID[28:0]
F1 EFT[1:0] EFID[28:0]

F0 Bit 31:29 EFEC[2:0]: Extended Filter Element Configuration

All enabled filter elements are used for acceptance filtering of extended frames. Acceptance filtering stops at the first matching enabled filter element or when the end of the filter list is reached. If EFEC = “100”, “101”, or “110”, a match sets the interrupt flag MCAN_IR.HPM and, if enabled, an interrupt is generated. In this case, register MCAN_HPMS is updated with the status of the priority match.

Value Description
0 Disable filter element
1 Store in Rx FIFO 0 if filter matches
2 Store in Rx FIFO 1 if filter matches
3 Reject ID if filter matches
4 Set priority if filter matches
5 Set priority and store in FIFO 0 if filter matches
6 Set priority and store in FIFO 1 if filter matches
7 Store into Rx Buffer or as debug message, configuration of EFT[1:0] ignored

F0 Bits 28:0 EFID1[28:0]: Extended Filter ID 1

First ID of extended ID filter element.

When filtering for Rx Buffers or for debug messages this field defines the ID of an extended message to be stored. The received identifiers must match exactly, only MCAN_XIDAM masking mechanism (see Extended Message ID Filtering) is used.

F1 Bits 31:30 EFT[1:0]: Extended Filter Type

Value Description
0 Range filter from EF1ID to EF2ID (EF2ID ≥ EF1ID)
1 Dual ID filter for EF1ID or EF2ID
2 Classic filter: EF1ID = filter, EF2ID = mask
3 Range filter from EF1ID to EF2ID (EF2ID ≥ EF1ID), MCAN_XIDAM mask not applied

F1 Bits 28:0 EFID2[28:0]: Extended Filter ID 2

This field has a different meaning depending on the configuration of EFEC:

  • EFEC = “001”...“110”–Second ID of extended ID filter element
  • EFEC = “111”–Filter for Rx Buffers or for debug messages

EFID2[10:9] decides whether the received message is stored into an Rx Buffer or treated as message A, B, or C of the debug message sequence.

Value Description
0 Store message in an Rx buffer
1 Debug Message A
2 Debug Message B
3 Debug Message C

EFID2[5:0] defines the index of the dedicated Rx Buffer element to which a matching message is stored.