Message Storage; Figure 328. Filtering Mechanism - Example - ST STM32F412 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 mode and
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.
28.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.
936/1163

Figure 328. Filtering mechanism - example

the remaining in 32-bit identifier mask mode
Identifier
Filter bank
Num
Identifier
0
Identifier
Identifier
2
3
Identifier
Identifier
1
Mask
Identifier
4
Mask
No Match
Found
Message Discarded
Message Received
Data
Ctrl
0
1
Identifier #4 Match
4
5
2
3
RM0402 Rev 6
Receive FIFO
Message
Stored
Filter number stored in the
FMI
Filter Match Index field
within the CAN_RDTxR
register
RM0402
MS31000V2

Advertisement

Table of Contents
loading
Need help?

Need help?

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

Subscribe to Our Youtube Channel

Table of Contents

Save PDF