Figure 344. Filtering Mechanism - Example; Message Storage - STMicroelectronics STM32F405 Reference Manual

Advanced arm-based 32-bit mcus
Table of Contents

Advertisement

Controller area network (bxCAN)
Example of 3 filter banks in 32-bit Unidentified List mode and
Filter bank
Num
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.
1082/1731

Figure 344. Filtering mechanism - example

the remaining in 32-bit Identifier Mask mode
Identifier
Identifier
0
0
Identifier
1
Identifier
4
2
3
Identifier
5
Identifier
1
2
Mask
Identifier
3
4
Mask
No Match
Found
Message Discarded
DocID018909 Rev 11
Message Received
Data
Ctrl
Receive FIFO
Identifier #4 Match
Message
Stored
Filter number stored
FMI
in the Filter Match
Index field within the
CAN_RDTxR register
RM0090

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the STM32F405 and is the answer not in the manual?

Questions and answers

Table of Contents

Save PDF