246
7679H–CAN–08/08
AT90CAN32/64/128
19.5.3
Acceptance Filter
Upon a reception hit (i.e., a good comparison between the ID + RTR + RBn + IDE received and an
IDT+ IDE specified while taking the comparison mask into account) the IDT
+ IDE received are updated in the MOb (written over the registers).
Figure 19-10.
Acceptance Filter Block Diagram
Note:
Examples:
Full filtering
: to accept only ID = 0x317 in part A.
- ID MSK = 111 1111 1111
b
- ID TAG = 011 0001 0111
b
Partial filtering
: to accept ID from 0x310 up to 0x317 in part A.
- ID MSK = 111 1111 1000
b
- ID TAG = 011 0001 0xxx
b
No filtering
: to accept all ID from 0x000 up to 0x7FF in part A.
- ID MSK = 000 0000 0000
b
- ID TAG = xxx xxxx xxxx
b
19.5.4
MOb Page
Every MOb is mapped into a page to save place. The page number is the MOb number. This
page number is set in CANPAGE register. The number 15 is reserved for factory tests.
CANHPMOB register gives the MOb having the highest priority in CANSIT registers. It is format-
ted to provide a direct entry for CANPAGE register. Because CANHPMOB codes CANSIT
registers, it will be only updated if the corresponding enable bits (ENRX, ENTX, ENERR) are
enabled (c.f.
).
19.5.5
CAN Data Buffers
To preserve register allocation, the CAN data buffer is seen such as a FIFO (with address
pointer accessible) into a MOb selection.This also allows to reduce the risks of un-controlled
accesses.
There is one FIFO per MOb. This FIFO is accessed into a MOb page thanks to the CAN mes-
sage register.
CANIDM
Registers (MOb[i])
IDMSK
RTRMSK
IDEMSK
CANIDT
Registers &
CANCDMOB
(MOb[i])
ID & RB
RTRTAG
IDE
internal
RxD
can
Rx Shift Register (internal)
ID & RB
RTR
IDE
=
Hit
MOb[i]
14(33)
13(31) - RB excluded
RB excluded
13(31)
14(33)
Write
Enable
13(31)
1