All about CAN
-Hidden- -Hidden-
Nederlandse taal English language
Skip to main content

What are CAN, CAN 2.0 and CAN Classic?

A brief overview of the CAN bus.

CAN protocol

CAN is a broadcast serial bus: every CAN node can send messages that are received by all other CAN nodes. There is therefore no physical addressing; instead, the software determines what to do with a message. A CAN message consists of an 11-bit or 29-bit Identifier (=Id) followed by a maximum of 8 data bytes. CAN operates using bus arbitration: the lower the Id, the higher the message priority; when transmitted, messages with a lower Id take precedence over those with a higher Id. The message with CAN Id = 0 therefore has the very highest priority.

Identifiers have no other meaning. The assignment of IDs to messages is arbitrary, and it is again up to the software to assign a specific meaning to IDs.
A CAN message can contain a maximum of 8 data bytes. A CAN message also contains some overhead and a CRC checksum.

CAN 2.0 and CAN Classic

Originally, CAN only contained 11-bit identifiers. Bosch added the variant with 29-bit identifiers in order to support the SAE J1939 standard in America. This took place in 1991 and was introduced as CAN 2.0 or CAN 2.0A/B. Here, CAN 2.0A refers to the 11-bit identifier and CAN 2.0B to the 29-bit identifier. With the advent of CAN FD and CAN XL, CAN 2.0 was renamed CAN Classic.
Both types of identifier may be used interchangeably, but they are distinct.

CAN PCIe Interfaces
CAN PCIe Interfaces

Physical Layer

CAN is a hardware protocol: a CAN controller is required – often part of a microcontroller – to generate and receive messages. A CAN controller transmits and receives digital signals. Additional electronics are therefore required – referred to as the physical layer – to reliably transmit these signals over long distances. CAN networks utilise a standardised physical layer based on a twisted-pair cable connection. CAN via fibre optic cable is also possible.
There are no wireless CAN connections. Whilst there are Bluetooth and Wi-Fi solutions on the market, these first convert the CAN message into a different format and vice versa.

Bus speed, length and number of nodes

CAN messages can be transmitted at speeds ranging from approximately 10 Kbit/s up to 1 Mbit/s. The speed determines the maximum bus length: at 1 Mbit/s, this is a maximum of 40 metres; at 10 Kbit/s, it is 5,000 metres. The number of CAN nodes in a network is, in principle, infinite but is limited in practice by the physical layer. Standard physical layers support a maximum of 112 nodes, but this can be increased by using repeaters.

Higher-level protocols

The CAN protocol does not specify the function or content of messages; users can determine this themselves. This works very well in closed systems, such as in cars, but is problematic when combining network nodes from different suppliers. To this end, higher-level protocols such as CANopen, DeviceNet and SAE J1939 have been developed. They handle the allocation of IDs and the composition of data bytes. In addition, they provide network management, which CAN itself does not offer.

CAN Analyser - PEAK PCAN-Explorer 7
CAN Analyser - PEAK PCAN-Explorer 7