The CAN system is further divided into two message frame formats: 2.0A and 2.0B. The two standards differ in the size of the identifiers (ID):
The basic structure of the message is the same for both standard and extended versions.
The start field is identical in each and every message frame. It is a single dominant bit, meant to inform the rest of the network that a message is beginning.
The next 11-29 bits are the message identifier. These bits determine which message frame takes priority on the network if two frames begin transmitting at exactly the same time.
This field displays the number of items of information contained in the data field. This field allows each receiving node to determine whether it has received all the information transferred.
This is the actual data to be transferred. It can be up to 64 bits, but it doesn't have to be. The exact length of the data field is specified in the preceding Control Field.
This field summarizes the value of the info in the data field (This is also known as a checksum). If there is a mismatch between that value, and the value of the data field received by the node, there must be an error.
When it reaches the Acknowledge Field, the transmitting node sends a recessive bit, but monitors the bus for a dominant bit. This is the moment for the receiving nodes to signal that they have received a syntactically correct CAN bus message frame, by overwriting the recessive level on the bus with a dominant bit.
This field marks the end of the message frame. The End Field is always the same in every message frame — 7 recessive bits. If a dominant bit is seen on the bus during the end field, it is a signal that there is an error.
Become a member to get immediate access to the rest of this lesson, and all the other great content on LunchBox Sessions.
This lesson has been adapted from Kiril Mucevski's original published work, Automotive CAN Bus System Explained, with his permission.