
245
7682C–AUTO–04/08
AT90CAN32/64/128
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
Partiel 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’s from 0x000 up to 0x7FF in part A.
- ID MSK = 000 0000 0000
b
- ID TAG = xxx xxxx xxxx
b
19.5.3
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
19.5.4
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.
The data index (INDX) is the address pointer to the required data byte. The data byte can be
read or write. The data index is automatically incremented after every access if the AINC* bit is
reset. A roll-over is implemented, after data index=7 it is data index=0.
The first byte of a CAN frame is stored at the data index=0, the second one at the data index=1,
...
CANIDM Registers (MOb[i])
IDMSK
RTRMSK
IDEMSK
=
CANIDT Registers & CANCDMOB (MOb[i])
ID &RB
RTRTAG
IDE
internal RxDcan
Hit MOb[
Rx Shift Register (internal)
ID &RB
RTR
IDE
13(32)
Write
Enable
13(32)
1