157
ATmega16M1/32M1/64M1 [DATASHEET]
8209E–AVR–11/2012
19. CAN – Controller Area Network
19.1
Features
Full CAN controller
Fully compliant with CAN standard rev 2.0 A and rev 2.0 B
Six MOb (Message Object) with their own:
– 11 bits of Identifier Tag (rev 2.0 A), 29 bits of Identifier Tag (rev 2.0 B)
– 11 bits of Identifier Mask (rev 2.0 A), 29 bits of Identifier Mask (rev 2.0 B)
– Eight bytes data buffer (static allocation)
– Tx, Rx, frame buffer or automatic reply configuration
– Time stamping
1Mbit/s maximum transfer rate at 8MHz
TTC timer
Listening mode (for spying or autobaud)
19.2
Overview
The Controller Area Network (CAN) protocol is a real-time, serial, broadcast protocol with a very high level of secu-
rity. The Atmel ATmega16M1/32M1/64M1 CAN controller is fully compatible with the CAN Specification 2.0 Part A
and Part B. It delivers the features required to implement the kernel of the CAN bus protocol according to the
ISO/OSI Reference Model:
The data link layer
– the Logical Link Control (LLC) sublayer
– the Medium Access Control (MAC) sublayer
The physical layer
– the Physical Signalling (PLS) sublayer
– not supported - the Physical Medium Attach (PMA)
– not supported - the Medium Dependent Interface (MDI)
The CAN controller is able to handle all types of frames (data, remote, error and overload) and achieves a bitrate of
1Mbit/s.
19.3
CAN protocol
The CAN protocol is an international standard defined in the ISO 11898 for high speed and ISO 11519-2 for low
speed.
19.3.1
Principles
CAN is based on a broadcast communication mechanism. This broadcast communication is achieved by using a
message oriented transmission protocol. These messages are identified by using a message identifier. Such a
message identifier has to be unique within the whole network and it defines not only the content but also the priority
of the message.
The priority at which a message is transmitted compared to another less urgent message is specified by the identi-
fier of each message. The priorities are laid down during system design in the form of corresponding binary values
and cannot be changed dynamically. The identifier with the lowest binary number has the highest priority.
Bus access conflicts are resolved by bit-wise arbitration on the identifiers involved by each node observing the bus
level bit for bit. This happens in accordance with the “wired and” mechanism, by which the dominant state over-
writes the recessive state. The competition for bus allocation is lost by all nodes with recessive transmission and
dominant observation. All the "losers" automatically become receivers of the message with the highest priority and
do not re-attempt transmission until the bus is available again.