DocID018909 Rev 11
RM0090
Controller area network (bxCAN)
1112
Scalable width
To optimize and adapt the filters to the application needs, each filter bank can be scaled
independently. Depending on the filter scale a filter bank provides:
•
One 32-bit filter for the STDID[10:0], EXTID[17:0], IDE and RTR bits.
•
Two 16-bit filters for the STDID[10:0], RTR, IDE and EXTID[17:15] bits.
.
Furthermore, the filters can be configured in mask mode or in identifier list mode.
Mask mode
In
mask
mode the identifier registers are associated with mask registers specifying which
bits of the identifier are handled as “must match” or as “don’t care”.
Identifier list mode
In
identifier list
mode, the mask registers are used as identifier registers. Thus instead of
defining an identifier and a mask, two identifiers are specified, doubling the number of single
identifiers. All bits of the incoming identifier must match the bits specified in the filter
registers.
Filter bank scale and mode configuration
The filter banks are configured by means of the corresponding CAN_FMR register. To
configure a filter bank it must be deactivated by clearing the FACT bit in the CAN_FAR
register. The filter scale is configured by means of the corresponding FSCx bit in the
CAN_FS1R register, refer to
identifier list
or
identifier mask
mode for the
corresponding Mask/Identifier registers is configured by means of the FBMx bits in the
CAN_FMR register.
To filter a group of identifiers, configure the Mask/Identifier registers in mask mode.
To select single identifiers, configure the Mask/Identifier registers in identifier list mode.
Filters not used by the application should be left deactivated.
Each filter within a filter bank is numbered (called the
Filter Number
) from 0 to a maximum
dependent on the mode and the scale of each of the filter banks.