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 includes both the Classical CAN data link layer and CAN FD data link layer protocols. Both are internationally standardized in ISO 11898-1. The CAN XL protocol, so-to-say the third CAN generation, is still under development with CiA.

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

Besides the lower layers, the CAN knowledge pages give an overview of several higher-layer protocols. This includes, in particular, the classic CANopen application layer and the CANopen FD application layer as well as 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 layers

CAN is a very reliable producer/consumer serial bus system with multi-drop capabilities. The network arbitration method is the same for both CAN data link layer protocols: Classical CAN and CAN FD. The CAN frames are broadcasted. This means every node is able to consume any frame produced by any other node in the CAN network.

In the beginning, CAN has been 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 two 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: now, we call it Classical CAN.

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 not supporting CAN FD 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(s) and the same bit-timing settings.

Most common is a high-speed transmission up to 1 Mbit/s. This is realized by means of CAN high-speed transceivers (term recommended by CiA). These transceivers are optionally available with low-power capability and selective wake-up functionality for partial networking. They are all standardized in ISO 11898-2:2016. Nowadays, this standard includes the former ISO 11898-5 and ISO 11898-6 norms, too.

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 implemented, combining line and star. The most robust topology is a bus-line with very short stubs.

For bit-rates higher than 1 Mbit/s used in the CAN FD data-phase, the CAN FD transceivers are used. They are also standardized in ISO 11898-2:2016. There are two versions specified: one with improved parameters suitable for bit-rates up 2 Mbit/s and another one with even better parameters suitable for bit-rates up to 5 Mbit/s. Of course, the achievable bit-rate depends highly on the physical network design. This includes topology, selected cables and connectors, etc. Additionally, CiA has specified the CAN SIC (signal improvement capability) transceivers, which can suppress ringing (CiA 601-4). This gives network designers more margin for asymmetries, which can be caused by not optimized network topologies.

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 used in 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 implemented.

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, as well as 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 the CiA 1301 CANopen FD specification. 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 newly introduced Universal Service Data Object (USDO) enables meeting all communication requirements, todays and future embedded networks may be faced with. The USDO enables 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 classic CANopen to CANopen FD.

The family of J1939-based application profiles is another higher-layer approach based on CAN lower layers. 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 NMEA 2000) 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. Also, the ISO 16844 series standardizing tachographs uses J1939 messages for some purposes.

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, which is specified in the CiA 447 CANopen application profile.

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.