Datasheet
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
20.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.
CANHPMOB register gives the MOb having the highest priority in CANSIT registers. It is formatted 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. See Figure 20-14
20.6.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 message
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, ...
20.7. CAN timer
A programmable 16-bit timer is used for message stamping and time trigger communication (TTC).
Figure 20-11. CAN timer block diagram.
clk
IO
clk
CANTIM
CANTIM
CANTTCCANSTM[i]
CANTCON
TTC SYNCTTC
"EOF
"
"SOF
"
OVRTIM
TXOK[i]
RXOK[i]
overrun
ENFG
8
20.7.1. Prescaler
An 8-bit prescaler is initialized by CANTCON register. It receives the clk
IO
frequency divided by 8. It
provides clk
CANTIM
frequency to the CAN Timer if the CAN controller is enabled.
Tclk
CANTIM
= Tclk
IO
x 8 x (CANTCON [7:0] + 1)
Atmel ATmega16M1/32M1/64M1 [DATASHEET]
Atmel-8209F-ATmega16M1/32M1/64M1_Datasheet_Complete-10/2016
236