CAN Data Transfer Process and Message Structure

Now that you've learned the basics in Intro to CAN Bus, we're going to take an in-depth look at how the CAN bus protocol transfers data.
Now that you've learned the basics in Intro to CAN Bus, we're going to take an in-depth look at how the CAN bus protocol transfers data.
We'll examine the stages of the transfer process, and we'll decode a sample CAN bus message frame.
We'll examine the stages of the transfer process, and we'll decode a sample CAN bus message frame.
And we'll reveal the mechanics behind a CAN bus superpower - how communication occurs without a host controller or computer governing the network!
And we'll reveal the mechanics behind a CAN bus superpower - how communication occurs without a host controller or computer governing the network!

Standards

There are 2 architectures that can be used in the physical CAN bus network. (We have been using high-speed CAN networks in all of our examples.)

Low-Speed CAN

  • Specified by ISO 11898-3
  • Speed of up to 125 kb/s, over a maximum distance of 500 m
  • Low-speed CAN is very fault tolerant!
  • Each device on the network must handle termination.

High-Speed CAN

  • Specified by ISO 11898-2
  • Speed of up to up to 1 Mb/s, over a maximum distance of 40 m
  • High-speed CAN is very common in new vehicles.
  • The CAN bus cable is terminated at both ends. The nodes do not handle termination.
For now, it's enough just to be aware that the two forms of CAN bus networks exist. Don't worry about memorizing the specifications for each!
For now, it's enough just to be aware that the two forms of CAN bus networks exist. Don't worry about memorizing the specifications for each!

CAN Bus Data Message Structure

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):

  • Standard CAN (version 2.0A) uses 11 bit identifiers in the arbitration field.
  • Extended CAN (version 2.0B) supports a length of 29 bits for the identifier, made up of the 11 bit identifier (base identifier) and an 18 bit extension.
Why call it a message frame?

Think of the frame as a container of a fixed size that holds all of the pieces of a single message.

Why call it a message frame?

Think of the frame as a container of a fixed size that holds all of the pieces of a single message.

The basic structure of the message is the same for both standard and extended versions.

Start Field

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.

Message Identifier

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.

Control (A.K.A. Check) Field

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.

Data Field

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.

Cyclic Redundancy Check (A.K.A. Safety) 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.

Acknowledge (A.K.A. Confirmation) Field

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.

End Field

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.

This is just a preview!

Become a member to get immediate access to the rest of this lesson, and all the other great content on LunchBox Sessions.

Join Now

Already a member? Log In
Not ready to join? Back to the menu.

We hope you enjoyed CAN Data Transfer Process and Message Structure

This lesson has been adapted from Kiril Mucevski's original published work, Automotive CAN Bus System Explained, with his permission.

Loading
Vacuum Pressure
Atmospheric Pressure
Low Pressure
Medium Pressure
High Pressure
Ground/Common
Lowest Voltage
Medium Voltage
Highest Voltage
Magnetic Field
Check Your Console

Bad News

JavaScript is not enabled in your browser.

We use JavaScript to power our training media, so you'll need to turn JavaScript on before you can use LunchBox Sessions. If you need help, email us at support@lunchboxsessions.com

Okay