CAN lower- and higher-layer protocols

The knowledge pages provide technical information on the CAN (Controller Area Network) data link layer protocols and several CAN physical layer options. The CAN protocol description covers both the Classical CAN data link layer and CAN FD data link layer protocols. Both are internationally standardized in ISO 11898-1.

According to the ISO Open System Interconnection (OSI) seven-layer model, the lower layers cover the data link and the physical layer. The upper layers are usually referenced as higher-layer protocols. Often, the CAN-based application layer includes functional elements of other upper layers, too.

Besides the lower-layers, the CAN knowledge pages give an overview of several higher-layer protocols. This includes, in particular, the CANopen application layer and the related device, interface, and application profiles. Additionally, some basic information on other CAN-based higher-layer protocols such as DeviceNet, SAE J1939, Isobus (ISO 11783), ISO 11992 series, etc can be found here.

CAN data link layer

CAN is a very reliable multi-master serial bus system with multi-drop capabilities. The bus arbitration method is the same for both CAN data link layer protocols. The CAN messages are broadcasted. This means every node is able to consume any message produced by any other node in the CAN bus system.

Originally developed for use as an in-vehicle network in passenger cars, nowadays CAN is used in many other industries. This includes applications in any kind of transportation system (rail vehicle, aircraft, marine, etc.), in industrial machine control systems, in home and building automation (e.g. HVAC, elevators), in mobile machines (construction and agriculture equipment), in medical devices and laboratory automation, as well as in many other embedded and deeply embedded applications. Each year, about 1 billion CAN nodes are sold. The price for CAN protocol controllers is very reasonable.

Originally, there was just the data link layer protocol, what we today refer to as Classical CAN. Introduced by Bosch as CAN 2.0 A/B, it has been internationally standardized in the ISO 11898 series since 1993. CiA doesn’t use the term CAN 2.0 anymore, we call it Classical CAN now.

A couple of years ago, Bosch and other CAN experts improved the CAN protocol to what is known as the CAN FD protocol. The Classical CAN and CAN FD protocols are backward compatible. Any CAN FD-compliant node understands Classical CAN frames. However, Classical CAN nodes destroy a consumed CAN FD frame by means of an error frame.

Both protocols are internationally standardized in ISO 11898-1:2015 and feature a high reliability. All single-bit failures are detectable. Multi-bit failures are found with a very high probability. One of the unique features is the fault confinement, which provides a network-wide data consistency.

Physical layer options

CAN is one of the most robust network technologies, especially if you are using a line-topology with very short stubs and a twisted-pair of cable

CAN is one of the most robust network technologies, especially if you are using a line-topology with very short stubs and a twisted-pair of cable.

A twisted-pair copper cable with common ground usually realizes the physical transmission. Of course, all connected nodes need to support the same data-rate and the same bit-timing settings.

Most common is the high-speed transmission as standardized in ISO 11898-2:2003. It supports data-rates up to 1 Mbit/s. There are also high-speed transceivers with low-power capability (ISO 11898-5) and selective wake-up functionality for partial networking (ISO 11898-6). The three standards mentioned above are merged into one standard (ISO 11898-2:2016).

The robustness of high-speed CAN networks is excellent. In-vehicle networks often use star-topologies, sometimes with multiple stars. In some applications, hybrid topologies are used, combining line and star. However, the most robust topology is a bus-line with very short stubs.

The other physical layer standard used in the automotive industry is ISO 11898-3, a so-called fault-tolerant, low-power transmission. It is not widely used in other industries, and it is limited to 125 kbit/s. An application-specific physical layer is standardized in ISO 11992-1, which is also limited to 125 kbit/s. It is only used in European truck-trailer point-to-point networks. The single-wire transmission as specified in SAE J2411 has some restrictions regarding the robustness and the transmission rate. It is not widely used in Europe.

Other medias are also in use: Fiber-optical and power-line transmissions, for example. However, their specifications are proprietary.

Standardized higher-layer protocols

There are several CAN-based higher-layer protocols. The most generic one is CANopen. It comprises the CiA 301 application layer standardized internationally in EN 50325-4 and several device, interface, and application profiles (CiA 4xx series). Additionally, there are other protocol specifications for additional communication functions (CiA 3xx series). CANopen is used in many embedded and deeply embedded control applications.

To provide the broad range of CANopen users the possibility of making use of the advantages offered by CAN FD, CiA has released CANopen FD, by September 2017. Due to lengthened PDOs, CANopen FD enables the transmission of more complex process data together with further application data, e.g. relevant for condition monitoring or authentication purposes. The new Universal Service Data Object (USDO) enables meeting all communication requirements, todays and future embedded networks may faced with. The USDO allows accessing any CANopen FD device by read and write access. In unicast or broadcast, any size of data can be transferred in a way that is optimized with regard to the size of the transferred data, e.g. by means of expedited, segmented or bulk transfer. The updated extended EMCY write protocol supports comprehensive diagnosis, e.g. by providing more detailed error information and a time stamp. Especially with regard to the CANopen FD network-management-related services and the internal CANopen FD device architecture, CANopen FD keeps the attributes of CANopen, so that users of CANopen can easily transfer from CANopen to CANopen FD.

The family of J1939-based application profiles is another approach. The original J1939 specifications were designed for in-vehicle networks in trucks and buses. The Society of Automotive Engineers (SAE) develops and maintains these recommended practices. The internationally standardized ISO 11783 series (also known as Isobus), one of the J1939 derivatives, is dedicated to implementing communication in agriculture tractors. It can also be used for forestry mobile machines. The IEC 61162-3 (also known as NMEA2000) is another J1939 derivate; it is optimized for CAN-based marine navigation networks. The ISO 11992 series standardizes the communication between trucks and trailers. This J1939 derivate is a base for the European regulation of towed vehicles.

In the passenger car industry, application layers are usually proprietary. Exceptions are the CAN transport layer and the diagnostic services, which are internationally standardized in ISO 15765-2 respectively in the ISO 15031 series. Another exception is an open network for add-on devices. This is specified in the CANopen application profile CiA 447.

DeviceNet is a further CAN-based higher-layer protocol. It was originally developed with special regard to factory automation. It comprises a broad set of profile specifications. DeviceNet is internationally standardized in IEC 62026-3. The ODVA nonprofit association maintains this standard and the related profiles.