2003-2012 Microchip Technology Inc. DS21801G-page 7
MCP2515
2.0 CAN MESSAGE FRAMES
The MCP2515 supports standard data frames,
extended data frames and remote frames (standard
and extended), as defined in the CAN 2.0B
specification.
2.1 Standard Data Frame
The CAN standard data frame is shown in Figure 2-1.
As with all other frames, the frame begins with a Start-
Of-Frame (SOF) b it, whic h is o f the do mina nt st ate an d
allows hard synchronization of all nodes.
The SOF is followed by the arbitration field, consisting
of 12 bits: the 11-bit identifier and the Remote
Transmission Request (RTR) bit. The RTR bit is used
to distinguish a data frame (RTR bit dominant) from a
remote frame (RTR bit recessive).
Following the arbitration field is the control field,
consisting of six bits. The first bit of this field is the
Identifier Extension (IDE) bit, which must be dominant
to specify a standard frame. The following bit, Reserved
Bit Zero (RB0), is reserved and is defined as a dominant
bit by the C AN protocol. Th e remaining four bits of th e
control field are the Data Length Code (DLC), which
specifies the number of bytes of data (0-8 bytes)
contained in the message.
After the control field, is the data field, which contains
any data bytes that are being sent, and is of the length
defined by the DLC (0-8 bytes).
The Cyclic Redundancy Check (CRC) field follows the
data field an d is used to detect transmission errors. The
CRC field consists of a 15-bit CRC sequence, followed
by the recessive CRC Delimiter bit.
The final field is the two-bit Acknowledge (ACK) field.
During the ACK Slot bit, the transmitting node sends
out a recessive bit. Any node that has received an
error-free f r am e a cknow l edg es the c orrect recepti on of
the frame by sending back a dominant bit (regardless
of whether the node is configured to accept that
specific message or not). The recessive acknowledge
delimi ter comple tes the ack nowled ge field an d may not
be overwritten by a dominant bit.
2.2 Extended Data Frame
In the extended CAN data frame, shown in Figure 2-2,
the SOF bit is followed by the arbitration field, which
consists of 32 bits. The first 11 bits are the Most
Significant bits (MSb) (Base-lD) of the 29-bit identifier.
These 11 bits are followed by the Substitute Remote
Request (SRR) bit, which is defined to be recessive.
The SRR bit is followed by the lDE bit, which is
recessive to denote an extended CAN frame.
It should be noted that if arbitration remains unresolved
after t ransmission of the first 11 bits of the identifie r, and
one of the nodes involved in the arbitration is sending
a standard CAN frame (11-bit identifier), the standard
CAN frame w i ll win arbi trat ion due to the ass erti on of a
dominant lDE bit. Also, the SRR bit in an extended
CAN fram e must be reces si ve to al low the asse rtio n of
a dominant RTR bit by a node that is sending a
standard CAN remote frame.
The SRR and lDE bits are followed by the remaining
18 bits of the identifier (Extended lD) and the remote
transmission request bit.
To enable standard and extended frames to be sent
across a share d netwo rk, the 29-bit ext ended messag e
identifi er i s sp lit into 11-bit (M os t Si gni fic ant ) an d 18-bit
(Least Significant) sections. This split ensures that the
lDE bit can remain at the same bit position in both the
standard and extended frames.
Following the arbitration field is the six-bit control field.
The first two bits of this field are reserved and must be
dominant. The remaining four bits of the control field
are the DLC, which specifies the number of data bytes
contained in the message .
The remaining portion of the frame (data field, CRC
field, acknowledge field, end-of-frame and
intermission) is constructed in the same way as a
standard data frame (see Se ction 2.1 “S t andard Da t a
Frame”).
2.3 Remote Frame
Normally, data transmission is performed on an
autonomous basis by the data source node (e.g., a
sensor sending out a data frame). It is possible,
however, for a destination node to request data from
the source. To accomplish this, the destination node
sends a remote frame with an identifier that matches
the identifier of the required data frame. The
appropriate data source node will then send a data
frame in response to the remote frame request.
There are two differences between a remote frame
(shown in Figure 2-3) and a data frame. First, the RTR
bit is at the recessive state and, second, there is no
data field. In the event of a data frame and a remote
frame with the same identifier being transmitted at the
same time, the data frame wins arbitration due to the
dominant RTR bit following the identifier. In this way,
the node that transmitted the remote frame receives
the desired data immediately.
2.4 Error Frame
An error frame is generate d by any no de that detect s a
bus error. An error frame, sho wn in Figure 2-4, consists
of two fields: an error flag field followed by an error
delimiter field. There are two types of error flag fields.
The type of er ror flag fie ld sent de pends upon the e rror
statu s of the no de that detec t s and genera tes the error
flag field.