English
Language : 

70353C Datasheet, PDF (4/76 Pages) Microchip Technology – Section 21. Enhanced Controller Area Network
dsPIC33E/PIC24E Family Reference Manual
21.2
CAN MESSAGE FORMATS
The CAN bus protocol uses asynchronous communication. Information is passed from the
transmitters to receivers in data frames, which are composed of byte fields that define the
contents of the data frame as illustrated in Figure 21-3.
Each frame begins with a Start-of-Frame bit (SOF) and terminates with an End-of-Frame
bit (EOF) field. The SOF is followed by the Arbitration and Control fields, which identify the
message type, format, length and priority. This information allows each node on the CAN bus to
respond appropriately to the message. The Data field conveys the message content and is of
variable length, ranging from 0 bytes to eight bytes. Error protection is provided by the Cyclic
Redundancy Check (CRC) and Acknowledgement (ACK) fields.
Figure 21-3: CAN Bus Message Frame
S
O ARBITRATION CONTROL
F
DATA
E
CRC ACK O
F
The CAN bus protocol supports four frame types:
• Data Frame – carries data from transmitter to the receivers
• Remote Frame – transmitted by a node on the bus, to request transmission of a data
frame with the same identifier from another node
• Error Frame – transmitted by any node when it detects an error
• Overload Frame – provides an extra delay between successive Data or remote frames
Data frames and remote frames are separated from preceding frames by an Interframe Space.
The CAN Specification 2.0B defines two additional data formats:
• Standard Data Frame – intended for standard messages that use 11 identifier bits
• Extended Data Frame – intended for extended messages that use 29 identifier bits
There are three CAN Specification versions:
• 2.0A – considers 29-bit identifier as error
• 2.0B Passive – ignores 29-bit identifier messages
• 2.0B Active – handles both 11-bit and 29-bit identifiers
The dsPIC33E/PIC24E ECAN module is compliant with the CAN Specification 2.0B, while
providing enhanced message filtering capabilities.
Note: For detailed information on the CAN bus protocol, refer to the Bosch CAN
Specification.
21.2.1 Standard Data Frame
The standard data frame message begins with an SOF bit followed by a 12-bit Arbitration field
as shown in Figure 21-4. The Arbitration field contains an 11-bit identifier and RTR bit. The
identifier defines the type of information contained in the message, and is used by each receiving
node to determine if the message is of interest to it. The RTR bit distinguishes a data frame from
a remote frame. For a standard data frame, the RTR bit is clear.
Following the Arbitration field is a 6-bit Control field, which provides more information about the
contents of the message. The first bit in the Control field is an Identifier Extension bit (IDE), which
distinguishes the message as either a standard data frame or extended data frame. A standard
data frame is indicated by a dominant state (logic level ‘0’) during transmission of the IDE bit. The
second bit in the Control field is a reserved (RB0) bit, which is in the dominant state (logic
level ‘0’). The last four bits in the Control field represent the Data Length Code (DLC), which
specifies the number of data bytes present in the message.
The Data field follows the Control field. This field carries the message data – the actual payload
of the data frame. This field is of variable length, ranging from 0 byte to eight bytes. The number
of bytes is user-selectable.
The Data field is followed by the CRC field, which is a 16-bit CRC sequence with one delimiter bit.
DS70353C-page 21-4
© 2008-2011 Microchip Technology Inc.