MCP2515
identifier is compared to the masks and filters to deter-
mine 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.
4.5
Message Acceptance Filters and
Masks
The message acceptance filters and masks are used to
determine if a message in the message assembly
buffer should be loaded into either of the receive
buffers (see Figure 4-5). Once a valid message has
been received into the MAB, the identifier fields of the
message are compared to the filter values. If there is a
match, that message will be loaded into the appropriate
receive buffer.
TABLE 4-2:
FILTER/MASK TRUTH TABLE
Message
Identifier
bit
Accept or
Reject bit
n
Mask Bit
n
Filter Bit n
0
1
1
1
1
X
0
0
1
1
X
0
1
0
1
Accept
Accept
Reject
Reject
Accept
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.
Note:
X= don’t care
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™).
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.
4.5.2
FILTER MATCHING
The filter masks (see Register 4-14 through
Register 4-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
FIGURE 4-4:
MASKS AND FILTERS APPLY TO CAN FRAMES
Extended Frame
ID10
ID0 EID17
EID0
Masks and Filters apply to the entire 29-bit ID field
Standard Data Frame
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.
DS21801D-page 32
Preliminary
© 2005 Microchip Technology Inc.