English
Language : 

MEGA128CAN Datasheet, PDF (240/413 Pages) ATMEL Corporation – Microcontroller WITH 128K BYTES OF ISP FLASH AND CAN CONTROLLER
CAN Data Buffers
CAN Timer
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, ...
A programmable 16-bit timer is used for message stamping and time trigger communi-
cation (TTC).
Figure 121. CAN Timer Block Diagram
CLKIO
÷8
CANTCON
ENFG
OVRTIM overrun
TXOK[i]
RXOK[i]
CANSTM[i]
CLK CANTIM
CANTIM
CANTTC
TTC SYNCTTC
"EOF "
"SOF "
Prescaler
16-bit Timer
Time Triggering
Stamping Message
An 8-bit prescaler is initialized by CANTCON register. It receives the clkIO divided by 8.
It provides CLKCANTIM to the CAN Timer if the CAN controller is enabled.
CLKCANTIM = CLKIO x 8 x (CANTCON [7:0] + 1)
This timer starts counting from 0x0000 when the CAN controller is enabled (ENFG bit).
When the timer rolls over from 0xFFFF to 0x0000, an interrupt is generated (OVRTIM).
Two synchronization modes are implemented for TTC (TTC bit):
– synchronization on Start of Frame (SYNCTTC=0),
– synchronization on End of Frame (SYNCTTC=1).
In TTC mode, a frame is sent once, even if an error occurs.
The capture of the timer value is done in the MOb which receives or sends the frame. All
managed MOb are stamped, the stamping of a received (sent) frame occurs on RxOk
(TXOK).
240 AT90CAN128
4250E–CAN–12/04