Controller area network (bxCAN)
RM0365
971/1080
DocID025202 Rev 7
Figure 385. Filter bank scale configuration - register organization
Filter match index
Once a message has been received in the FIFO it is available to the application. Typically,
application data is copied into SRAM locations. To copy the data to the right location the
application has to identify the data by means of the identifier. To avoid this, and to ease the
access to the SRAM locations, the CAN controller provides a Filter Match Index.
This index is stored in the mailbox together with the message according to the filter priority
rules. Thus each received message has its associated filter match index.
The Filter Match index can be used in two ways:
•
Compare the Filter Match index with a list of expected values.
•
Use the Filter Match Index as an index on an array to access the data destination
location.
For non masked filters, the software no longer has to compare the identifier.
If the filter is masked the software reduces the comparison to the masked bits only.
The index value of the filter number does not take into account the activation state of the
filter banks. In addition, two independent numbering schemes are used, one for each FIFO.
Refer to
for an example.
/NE"IT&ILTER)DENTIFIER-ASK
XFILTERBANKNUMBER
&3#X
&3#X
4HESEBITSARELOCATEDINTHE#!.?&32REGISTER
&ILTER"ANK3CALE
)$
-ASK
)$
34)$;=
-APPING
)$
)$
)$
)$
)$
)$
)$
N
N
N
N
#ONFIG
"ITS
)$)DENTIFIER
069
&"-X
&"-X
&"-X
&"-X
&ILTER"ANK-ODE
4WO"IT&ILTERS)DENTIFIER,IST
4WO"IT&ILTERS)DENTIFIER-ASK
&OUR"IT&ILTERS)DENTIFIER,IST
-APPING
-APPING
-APPING
#!.?&X2;=
#!.?&X2;=
#!.?&X2;=
#!.?&X2;=
#!.?&X2;=
#!.?&X2;=
#!.?&X2;=
#!.?&X2;=
#!.?&X2;=
#!.?&X2;=
#!.?&X2;=
#!.?&X2;=
#!.?&X2;=
#!.?&X2;=
#!.?&X2;=
#!.?&X2;=
#!.?&X2;=
#!.?&X2;=
#!.?&X2;=
#!.?&X2;=
#!.?&X2;=
#!.?&X2;=
#!.?&X2;=
#!.?&X2;=
#!.?&X2;=
#!.?&X2;=
#!.?&X2;=
#!.?&X2;=
#!.?&X2;=
#!.?&X2;=
#!.?&X2;=
#!.?&X2;=
4HESEBITSARELOCATEDINTHE#!.?&-2REGISTER
N
N
N
N
N
&ILTER
.UM
-ASK
-ASK
34)$;=
34)$;=
34)$;=
%8)$;=
%8)$;=
%8)$;=
%8)$;=
%8)$;=
%8)$;=
)$% 242
242
)$%
%8)$;=
)$%
242
34)$;=
34)$;=
%8)$;=
)$%
242
34)$;=
34)$;=