Controller area network (bxCAN)
RM0090
1082/1731
DocID018909 Rev 11
Figure 344. Filtering mechanism - example
The example above shows the filtering principle of the bxCAN. On reception of a message,
the identifier is compared first with the filters configured in identifier list mode. If there is a
match, the message is stored in the associated FIFO and the index of the matching filter is
stored in the Filter Match Index. As shown in the example, the identifier matches with
Identifier #2 thus the message content and FMI 2 is stored in the FIFO.
If there is no match, the incoming identifier is then compared with the filters configured in
mask mode.
If the identifier does not match any of the identifiers configured in the filters, the message is
discarded by hardware without disturbing the software.
32.7.5 Message
storage
The interface between the software and the hardware for the CAN messages is
implemented by means of mailboxes. A mailbox contains all information related to a
message; identifier, data, control, status and time stamp information.
Transmit mailbox
The software sets up the message to be transmitted in an empty transmit mailbox. The
status of the transmission is indicated by hardware in the CAN_TSR register.
Iden
tifier List
Message Discarded
Identif
ier & Mask
Identifier
0
Identifier
1
Identifier
4
Identifier
5
Identifier
2
Mask
Identifier
3
Mask
Identifier
Message Received
Ctrl
Data
Identifier #4 Match
Message
Stored
Receive FIFO
No Match
Found
Filter number stored
in the Filter Match
Index field within the
CAN_RDTxR register
FMI
Filter
b
ank
0
2
3
1
4
Example of
3
filter bank
s
in
3
2-bit Unidentified Li
s
t mode and
Num
the remainin
g
in
3
2-bit Identifier Ma
s
k mode