158
ATmega16M1/32M1/64M1 [DATASHEET]
8209E–AVR–11/2012
19.3.2
Message formats
The CAN protocol supports two message frame formats, the only essential difference being in the length of the
identifier. The CAN standard frame, also known as CAN 2.0 A, supports a length of 11 bits for the identifier, and the
CAN extended frame, also known as CAN 2.0 B, supports a length of 29 bits for the identifier.
19.3.2.1
CAN standard frame
Figure 19-1. CAN standard frames.
A message in the CAN standard frame format begins with the "Start Of Frame (SOF)", this is followed by the "Arbi-
tration field" which consist of the identifier and the "Remote Transmission Request (RTR)" bit used to distinguish
between the data frame and the data request frame called remote frame. The following "Control field" contains the
"IDentifier Extension (IDE)" bit and the "Data Length Code (DLC)" used to indicate the number of following data
bytes in the "Data field". In a remote frame, the DLC contains the number of requested data bytes. The "Data field"
that follows can hold up to 8 data bytes. The frame integrity is guaranteed by the following "Cyclic Redundant
Check (CRC)" sum. The "ACKnowledge (ACK) field" compromises the ACK slot and the ACK delimiter. The bit in
the ACK slot is sent as a recessive bit and is overwritten as a dominant bit by the receivers which have at this time
received the data correctly. Correct messages are acknowledged by the receivers regardless of the result of the
acceptance test. The end of the message is indicated by "End Of Frame (EOF)". The "Intermission Frame Space
(IFS)" is the minimum number of bits separating consecutive messages. If there is no following bus access by any
node, the bus remains idle.
19.3.2.2
CAN extended frame
Figure 19-2. CAN extended frames.
11-bit identifier
ID10..0
Interframe
Space
4-bit DLC
DLC4..0
CRC
del.
ACK
del.
15-bit CRC
0 - 8 bytes
SOF
RTR IDE
r0
ACK
7 bits
Intermission
3 bits
Bus Idle
(Indefinite)
Arbitration
Field
Data
Field
Data frame
Control
Field
End of
Frame
CRC
Field
ACK
Field
Interframe
Space
11-bit identifier
ID10..0
Interframe
pace
4-bit DLC
DLC4..0
CRC
del.
ACK
del.
15-bit CRC
SOF
RTR IDE
r0
ACK
7 bits
Intermission
3 bits
Bus Idle
(Indefinite)
Arbitration
Field
Remote frame
Control
Field
End of
Frame
CRC
Field
ACK
Field
Interframe
Space
11-bit base identifier
IDT28..18
Interframe
Space
CRC
del.
ACK
del.
15-bit CRC
0 - 8 bytes
SOF
SRR IDE
ACK
7 bits
Intermission
3 bits
Bus Idle
(Indefinite)
Arbitration
Field
Arbitration
Field
Data
Field
Data frame
Control
Field
Control
Field
End of
Frame
CRC
Field
ACK
Field
Interframe
Space
11-bit base identifier
IDT28..18
18-bit identifier extension
ID17..0
18-bit identifier extension
ID17..0
Interframe
Space
4-bit DLC
DLC4..0
CRC
del.
ACK
del.
15-bit CRC
SOF
SRR IDE
r0
4-bit DLC
DLC4..0
RTR
r0
r1
ACK
7 bits
Intermission
3 bits
Bus Idle
(Indefinite)
Remote frame
End of
Frame
CRC
Field
ACK
Field
Interframe
Space