
MCP2515
DS21801F-page 32
2010 Microchip Technology Inc.
4.5
Message Acceptance Filters and
Masks
The message acceptance filters and masks are used to
determine if a message in the message assembly buf-
fer should be loaded into either of the receive buffers
received into the MAB, the identifier fields of the mes-
sage are compared to the filter values. If there is a
match, that message will be loaded into the appropriate
receive buffer.
4.5.1
DATA BYTE FILTERING
When receiving standard data frames (11-bit identifier),
the MCP2515 automatically applies 16 bits of masks
and
filters
normally
associated
with
extended
identifiers to the first 16 bits of the data field (data bytes
0 and 1).
Figure 4-4 illustrates how masks and filters
apply to extended and standard data frames.
Data byte filtering reduces the load on the MCU when
implementing Higher Layer Protocols (HLPs) that filter
on the first data byte (e.g., DeviceNet).
4.5.2
FILTER MATCHING
17) are used to determine which bits in the identifier are
examined with the filters. A truth table is shown in
Table 4-2 that indicates how each bit in the identifier is
compared to the masks and filters to determine if the
message should be loaded into a receive buffer. The
mask essentially determines which bits to apply the
acceptance filters to. If any mask bit is set to a zero,
that bit will automatically be accepted, regardless of the
filter bit.
TABLE 4-2:
FILTER/MASK TRUTH TABLE
As shown in the receive buffers block diagram
(
Figure 4-2), acceptance filters RXF0 and RXF1 (and
filter mask RXM0) are associated with RXB0. Filters
RXF2, RXF3, RXF4, RXF5 and mask RXM1 are
associated with RXB1.
FIGURE 4-4:
MASKS AND FILTERS APPLY TO CAN FRAMES
Mask Bit n
Filter Bit n
Message
Identifier
bit
Accept or
Reject bit n
0X
X
Accept
10
0
Accept
10
1
Reject
11
0
Reject
11
1
Accept
Note:
X
= don’t care
Extended Frame
Standard Data Frame
ID10
ID0 EID17
EID0
Masks and Filters apply to the entire 29-bit ID field
ID10
ID0
Data Byte 0
Data Byte 1
11-bit ID Standard frame
*
16-bit data filtering *
* The two MSb (EID17 and EID16) mask and filter bits are not used.