English
Language : 

70353C Datasheet, PDF (56/76 Pages) Microchip Technology – Section 21. Enhanced Controller Area Network
dsPIC33E/PIC24E Family Reference Manual
21.7.5.1 FILTER COMPARISONS
Table 21-3 shows the filter comparisons configured by the DNCNT<4:0> control bits
(CiCTRL2<4:0>). For example, if DNCNT<4:0> = 00011, a message in which only the 11-bit SID
matches the SID acceptance filter (SID<10:0>), and bits 7, 6 and 5 of Data Byte 0 match the EID
filter (EID<2:0>) is accepted.
Table 21-3: DeviceNet™ Filter Bit Configurations
DeviceNet™ Filter
Configuration
(DNCNT<4:0>)
Received Message Data Bits to be Compared
(Byte<bits>)
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
10000
10001
10010
10011
•
•
•
11111
No comparison
Data Byte 0<7>
Data Byte 0<7:6>
Data Byte 0<7:5>
Data Byte 0<7:4>
Data Byte 0<7:3>
Data Byte 0<7:2>
Data Byte 0<7:1>
Data Byte 0<7:0>
Data Byte 0<7:0> and Data Byte 1<7>
Data Byte 0<7:0> and Data Byte 1<7:6>
Data Byte 0<7:0> and Data Byte 1<7:5>
Data Byte 0<7:0> and Data Byte 1<7:4>
Data Byte 0<7:0> and Data Byte 1<7:3>
Data Byte 0<7:0> and Data Byte 1<7:2>
Data Byte 0<7:0> and Data Byte 1<7:1>
Data Byte 0<7:0> and Data Byte 1<7:0>
Byte 0<7:0> and Byte 1<7:0> and Byte 2<7>
Byte 0<7:0> and Byte 1<7:0> and Byte 2<7:6>
Invalid Selection
EID Bits Used for
Acceptance
Filter
No comparison
EID<17>
EID<17:16>
EID<17:15>
EID<17:14>
EID<17:13>
EID<17:12>
EID<17:11>
EID<17:10>
EID<17:9>
EID<17:8>
EID<17:7>
EID<17:6>
EID<17:5>
EID<17:4>
EID<17:3>
EID<17:2>
EID<17:1>
EID<17:0>
Invalid Selection
21.7.5.2 SPECIAL CASES
There may be special cases when the message contains fewer data bits than are called for by
the DeviceNet filter configuration:
• Case 1 – If DNCNT<4:0> is greater than 18, indicating that the user application selected a
number of bits greater than the total number of EID bits, the filter comparison terminates
with the 18th bit of the data (bit 6 of data byte 2). If the SID and all 18 data bits match, the
message is accepted.
• Case 2 – If DNCNT<4:0> is greater than 16, and the received message DLC is 2 (indicat-
ing a payload of two data bytes), the filter comparison terminates with the 16th bit of data
(bit 0 of data byte 1). If the SID and all 16 bits match, the message is accepted.
• Case 3 – If DNCNT<4:0> is greater than 8, and the received message has DLC = 1
(indicating a payload of one data byte), the filter comparison terminates with the 8th bit of
data (bit 0 of data byte 0). If the SID and all 8 bits match, the message is accepted.
• Case 4 – If DNCNT<4:0> is greater than 0, and the received message has DLC = 0,
indicating no data payload, the filter comparison terminates with the SID. If the SID
matches, the message is accepted.
DS70353C-page 21-56
© 2008-2011 Microchip Technology Inc.