CAN Bus Guide

CAN Bus Guide – Message Frame Architecture

A Comprehensible Guide to Controller Area Network (CAN Bus) by Wilfried Voss
Click on image for Table of Content

After a lengthy, but necessary introduction it is time to explain the technical features of CAN in detail. The following chapter explains the CAN message frames by bit and bytes. Further chapters will address the mechanism of message broadcasting, the bus arbitration and the actual physical layer.

In the language of the CAN standard, all messages are referred to as frames; there are data frames, remote frames, error frames and overload frames. Information sent to the CAN bus must be compliant to defined frame formats of different but limited length.

CAN provides four different types of message frames:

  • Data Frame – Sends data

Data transfer from one sending node to one or numerous receiving nodes.

  • Remote Frame – Requests data[1]

Any node may request data from one source node. A remote frame is consequently followed by a data frame containing the requested data.

  • Error Frame – Reports error condition

Any bus participant, sender or receiver, may signal an error condition at any time during a data or remote frame transmission.

  • Overload Frame – Reports node overload[2]

A node can request a delay between two data or remote frames, meaning that the overload frame can only occur between data or remote frame transmissions.

The distance between consecutive frames is a minimum of 3 bit times (Interframe Space, see also Chapter 4.5 - Message Frame Format).

An 11 bit identifier (standard format) allows a total of 211 (= 2048) different messages. A 29 bit identifier (extended format) allows a total of 229 (= 536+ million) messages (see also Chapter 4.6 - Extended CAN Protocol).

Both, Data Frame and Remote Frame, are very similar. Basically, the Remote Frame is a Data Frame without the Data Field. Error frames and overload frames have a different format, which will be explained in more detail in a later chapter. In order to explain the various frames and their differences, it is necessary to have a first look into the CAN serial bus bit by bit.

[1] The use of Remote Frames is not recommended (See also chapter 4.4.1 Remote Frames on Recall)

[2] Considering today’s technologies an overload frames should not occur. As a matter of fact, some modern CAN controllers do not support the Overload Frame anymore.