168
ATmega16M1/32M1/64M1 [DATASHEET]
8209E–AVR–11/2012
the mode setting, only one set is possible. A frame buffer completed flag (or interrupt) - BXOK - will rise only when
all the MObs of the set will have received their dedicated CAN frame.
1.
MObs in frame buffer receive mode need to be initialized as MObs in standard receive mode.
2.
The MObs are ready to receive data (or a remote) frames when their respective configurations are set
(CONMOB).
3.
When a frame identifier is received on CAN network, the CAN channel scans all the MObs in receive
mode, tries to find the MOb having the highest priority which is matching.
4.
On a hit, the IDT, the IDE and the DLC of the matched MOb are updated from the incoming (frame)
values.
5.
Once the reception is completed, the data bytes of the received message are stored (not for remote frame)
in the data buffer of the matched MOb and the RXOK flag is set (interrupt).
6.
When the reception in the last MOb of the set is completed, the frame buffer completed BXOK flag is set
(interrupt). BXOK flag can be cleared only if all CONMOB fields of the set have been re-written before.
7.
All the parameters and data are available in the MObs until a new initialization.
19.6.3
Acceptance filter
Upon a reception hit (that is, a good comparison between the ID + RTR + RBn + IDE received and an IDT+ RTRTAG +
RBnTAG + IDE specified while taking the comparison mask into account) the IDT + RTRTAG + RBnTAG + 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
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.6.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 other numbers are reserved for factory tests.
CANIDM registers (MOb[i])
IDMSK
RTRMSK
IDEMSK
CANIDT registers & CANCDMOB (MOb[i])
ID & RB
RTRTAG
IDE
internal RxDcan
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