CAN Frame
CAN Frame
Reference 1
Reference 2 [Location](E:\Proff\Study\CAN Protocol)
Introduction:
The CAN bus was developed by BOSCH as a multi-master, message broadcast system that specifies a
maximum signaling rate of 1 megabit per second (bps). Unlike a traditional network such as USB or
Ethernet, CAN does not send large blocks of data point-to-point from node A to node B under the
supervision of a central bus master. In a CAN network, many short messages like temperature or RPM
are broadcast to the entire network, which provides for data consistency in every node of the system.
Standard Frame
#CAN/frame/standard
SOF – Start of Frame bit - It indicates start of message and used to synchronize the nodes on a bus. A
dominant bit in the field marks the start of frame.
RTR – Remote Transmission Request - It identifies whether it’s a data frame or a remote frame. RTR is
dominant when it is a data frame and recessive when it is a remote frame.
IDE – Identifier Extension - It is used to specify the frame format. Dominant bit is for standard frame and
recessive for extended frame.
R0 – Reserved bit - Not used currently and kept for future use.
DLC – Data Length Code - It is 4 bit data length code that contains the number of bytes being
transmitted.
ACK – Acknowledge (ACK) field - It compromises of the ACK slot and the ACK delimiter. When the data is
received correctly the recessive bit in ACK slot is overwritten as dominant bit by the receiver.
EOF – End of Frame (EOF). The 7-bit field marks the end of a CAN frame (message) and disables
IFS – Inter Frame Space - Specifies minimum number of bits separating consecutive messages. It
provides the intermission between two frames and consists of three recessive bits known as intermission
bits. This time allows nodes for internal processing before the start of next frame.
Extended Frame
#CAN/frame/extended
SRR- Substitute Reverse Request - The SRR bit is always transmitted as a recessive bit to ensure that, in
the case of arbitration between a Standard Data Frame and an Extended Data Frame, the Standard Data
Frame will always have priority if both messages have the same base (11 bit) identifier.
R1- Reserved1 - It is another bit not used currently and kept for future use.
Message Frame
#CAN/frame/message
There are 4 types of messages:
1. Data Frames
2. Remote Frames
3. Error Frames
4. Overload Frames