Controller Area Network: A Comprehensive Guide by Konrad Etschberger
Konrad Etschberger: The Pioneer of Controller Area Network
If you have ever used a car, a machine or a device that relies on data communication between different components or systems, chances are you have encountered Controller Area Network (CAN) technology. CAN is a serial bus protocol that enables fast, reliable and efficient data exchange between multiple nodes in a network. It was originally developed for automotive applications but has since become a de-facto standard in various domains such as industrial automation, medical equipment, aerospace and robotics.
Konrad Etschberger, Controller Area Network , IXXAT Automation GmbH,2001
One of the key figures behind the development and success of CAN technology is Konrad Etschberger. He was a researcher, engineer and author who contributed significantly to the design, implementation and promotion of CAN as a universal data communication system. In this article, we will explore the life and work of Konrad Etschberger, as well as the basics, protocols, chips and applications of CAN technology.
What is Controller Area Network and why is it important?
Controller Area Network (CAN) is a serial bus protocol that allows data communication between multiple nodes in a network. A node can be any device or system that has a CAN controller and a CAN transceiver. A CAN controller is a microcontroller or a chip that implements the CAN protocol, while a CAN transceiver is a device that converts the digital signals from the CAN controller to the physical signals on the bus.
CAN has several features and benefits that make it suitable for data communication in various domains. Some of these are:
It supports multi-master communication, which means that any node can initiate data transmission without needing a central master node.
It uses message-based communication, which means that each node can send and receive messages with unique identifiers that specify the content and priority of the data.
It uses bitwise arbitration, which means that the node with the highest priority message wins the bus access and can transmit its data without interference from other nodes.
It has built-in error detection and correction mechanisms, which ensure the reliability and integrity of the data transmission.
It has a flexible and scalable network topology, which means that it can support different types of physical media and connectors, as well as different numbers and types of nodes.
It has a high data rate and low latency, which enable fast and real-time data exchange between nodes.
CAN has many applications in various domains, such as:
In automotive applications, CAN is used to connect different electronic control units (ECUs) such as engine, transmission, brake, airbag and dashboard systems.
In industrial automation applications, CAN is used to connect different sensors, actuators, controllers and machines in a production line or a process plant.
In medical equipment applications, CAN is used to connect different devices and systems such as patient monitors, infusion pumps, ventilators and scanners.
In aerospace applications, CAN is used to connect different avionics systems such as flight control, navigation, communication and instrumentation systems.
In robotics applications, CAN is used to connect different components and subsystems such as motors, sensors, controllers and cameras.
The history of CAN development
The development of CAN technology can be traced back to the late 1970s and early 1980s, when the need for a standardized and efficient data communication system for automotive applications emerged. The following is a timeline of the major milestones and events in the evolution of CAN technology:
YearEvent
1979Bosch GmbH initiates a project to develop a serial bus system for automotive applications.
1983Konrad Etschberger joins Bosch as a researcher and becomes involved in the development of the CAN protocol.
1986Bosch presents the first version of the CAN protocol at the SAE Congress in Detroit.
1987Bosch publishes the first specification of the CAN protocol (version 1.0).
1988Intel introduces the first CAN controller chip (82526).
1991Bosch publishes an updated specification of the CAN protocol (version 2.0), which introduces two formats of message identifiers: standard (11 bits) and extended (29 bits).
1992Konrad Etschberger leaves Bosch and joins IXXAT Automation GmbH as an engineer and manager.
1993The International Organization for Standardization (ISO) adopts the CAN protocol as an international standard (ISO 11898).
1994Konrad Etschberger publishes his first book on CAN technology: "CAN Controller Area Network: Grundlagen und Praxis".
1995The first higher layer protocols based on CAN are developed: CANopen by CiA (CAN in Automation) and DeviceNet by ODVA (Open DeviceNet Vendor Association).
```html 2003The ISO standard for CAN is revised and split into six parts: ISO 11898-1 (data link layer and physical signaling), ISO 11898-2 (high-speed medium access unit), ISO 11898-3 (low-speed, fault-tolerant medium dependent interface), ISO 11898-4 (time-triggered communication), ISO 11898-5 (high-speed medium access unit with low-power mode) and ISO 11898-6 (high-speed medium access unit with selective wake-up).
2007The first CAN FD (flexible data rate) controller chip is introduced by Bosch, which allows higher data rates and longer data fields than the standard CAN.
2012The CAN FD protocol is officially released by Bosch.
2015The ISO standard for CAN FD is published: ISO 11898-1:2015.
2016Konrad Etschberger passes away at the age of 67.
The basics of CAN protocol
The CAN protocol is a set of rules and conventions that govern the data communication between nodes in a CAN network. The CAN protocol defines two layers of the OSI model: the physical layer and the data link layer. The physical layer deals with the transmission and reception of the physical signals on the bus, while the data link layer deals with the organization and interpretation of the data frames on the bus.
The physical layer of CAN
The physical layer of CAN specifies the type and characteristics of the physical media and connectors that are used for CAN communication. There are different types of physical media that can be used for CAN, such as:
Twisted pair: This is a pair of wires that are twisted together to reduce electromagnetic interference and increase signal quality. Twisted pair can be used for high-speed CAN (up to 1 Mbps) or low-speed CAN (up to 125 kbps).
Fiber optic: This is a thin strand of glass or plastic that carries light signals. Fiber optic can be used for high-speed CAN (up to 1 Mbps) or low-speed CAN (up to 125 kbps).
RJ45: This is a standard connector that is commonly used for Ethernet networks. RJ45 can be used for high-speed CAN (up to 1 Mbps).
The physical layer of CAN also defines the electrical characteristics of the signals on the bus, such as voltage levels, current levels, impedance and termination. The signals on the bus can have two states: dominant and recessive. A dominant state means that the signal voltage is high (e.g. 5V) and a recessive state means that the signal voltage is low (e.g. 0V). The dominant state always overrides the recessive state on the bus.
The data link layer of CAN
The data link layer of CAN specifies the structure and format of the data frames that are transmitted and received on the bus. A data frame is a unit of data that contains information such as message identifier, data length, data field and checksum. There are different types of data frames that can be used for CAN, such as:
Standard frame: This is a data frame that uses an 11-bit message identifier. The standard frame can have up to 8 bytes of data field.
Extended frame: This is a data frame that uses a 29-bit message identifier. The extended frame can have up to 8 bytes of data field.
Data frame: This is a data frame that contains actual data in the data field.
Remote frame: This is a data frame that requests data from another node. The remote frame has no data field.
The data link layer of CAN also defines the rules and mechanisms for data transmission and reception on the bus, such as:
Bit stuffing: This is a technique that inserts an extra bit after five consecutive bits of the same value to ensure synchronization and avoid false detection of start and end bits.
Arbitration: This is a process that determines which node can access the bus and transmit its data when multiple nodes attempt to do so at the same time. The node with the highest priority message (i.e. the lowest numerical value of the message identifier) wins the arbitration and can transmit its data without interference from other nodes.
Error detection and correction: This is a set of methods that detect and correct errors that may occur during data transmission and reception on the bus. The methods include checksum, frame check sequence, bit monitoring, bit error, stuff error, form error, acknowledgment error and cyclic redundancy check.
The higher layer protocols of CAN
The higher layer protocols of CAN are protocols that are built on top of the CAN protocol and provide additional functionality and features for data communication in specific domains or applications. The higher layer protocols define aspects such as network management, device profiles, application objects, communication objects and service primitives. There are many higher layer protocols that are based on CAN, but two of the most common and widely used ones are CANopen and DeviceNet.
CANopen
CANopen is a higher layer protocol that is designed for industrial automation and embedded systems applications. It was developed by CiA (CAN in Automation), an international non-profit organization that promotes the use and standardization of CAN technology. CANopen has several features and benefits, such as:
It supports a variety of communication modes, such as event-driven, cyclic, synchronous, asynchronous and time-triggered.
It defines a set of standardized device profiles for different types of devices, such as sensors, actuators, controllers and displays.
It defines a set of standardized application objects for different types of data, such as process data, configuration data, diagnostic data and service data.
It defines a set of standardized communication objects for different types of messages, such as process data object (PDO), service data object (SDO), network management object (NMT), emergency object (EMCY) and synchronization object (SYNC).
It defines a set of standardized service primitives for different types of services, such as read, write, initiate, confirm, request and respond.
CANopen has many applications in industrial automation and embedded systems, such as:
In industrial automation applications, CANopen is used to connect different devices and systems in a production line or a process plant, such as PLCs (programmable logic controllers), HMIs (human-machine interfaces), robots and drives.
In embedded systems applications, CANopen is used to connect different components and subsystems in a device or a system, such as microcontrollers, sensors, actuators and displays.
DeviceNet
DeviceNet is a higher layer protocol that is designed for factory automation and process control applications. It was developed by ODVA (Open DeviceNet Vendor Association), an international non-profit organization that promotes the use and standardization of DeviceNet technology. DeviceNet has several features and benefits, such as:
It supports a simple and robust network topology, which consists of a trunk line (main bus) and drop lines (branches) that connect the nodes to the trunk line.
It defines a set of standardized device profiles for different types of devices, such as sensors, actuators, valves and motors.
It defines a set of standardized application objects for different types of data, such as input data, output data, configuration data and status data.
It defines a set of standardized communication objects for different types of messages, such as explicit message (EMSG), implicit message (IMSG), unconnected message (UCMSG) and connected message (CCMSG).
It defines a set of standardized service primitives for different types of services, such as get attribute single (GAS), set attribute single (SAS), get attribute all (GAA) and set attribute all (SAA).
DeviceNet has many applications in factory automation and process control, such as:
In factory automation applications, DeviceNet is used to connect different devices and systems in a manufacturing facility or a warehouse, such as conveyor belts, scanners, printers and robots.
In process control applications, DeviceNet is used to connect different devices and systems in a chemical plant or a power plant, such as pumps, valves, meters and controllers.
The architecture and chips of CAN controllers
```html and receive extended frames with 29-bit identifiers.
The general architecture of CAN controllers
The general architecture of CAN controllers consists of three main components: the host interface, the memory and the CAN core. The host interface is the component that connects the CAN controller to the host device or system, such as a microcontroller, a microprocessor or a PC. The host interface can use different types of interfaces, such as parallel, serial, SPI or USB. The memory is the component that stores the data and configuration parameters for the CAN controller. The memory can be either internal or external to the CAN controller. The memory can use different types of memory devices, such as RAM, ROM, EEPROM or flash. The CAN core is the component that implements the CAN protocol and handles the data transmission and reception on the bus. The CAN core consists of several subcomponents, such as the bit timing logic, the arbitration logic, the error management logic and the message handler.
The most important CAN chips on the market
There are many CAN chips available on the market from different manufacturers. Some of the most popular and widely used CAN chips are:
Intel 82527: This is a full CAN controller chip that supports both standard and extended frames. It has an 8-bit parallel host interface and an internal RAM of 64 bytes.
Philips SJA1000: This is a full CAN controller chip that supports both standard and extended frames. It has a serial or parallel host interface and an internal RAM of 64 bytes.
Bosch CC770: This is a full CAN controller chip that supports both standard and extended frames. It has a serial or parallel host interface and an internal RAM of 32 bytes.
Microchip MCP2515: This is a full CAN controller chip that supports both standard and extended frames. It has a SPI host interface and an external RAM of 256 bytes.
The design and implementation of CAN networks
The design and implementation of CAN networks involve several aspects and considerations that affect the performance and functionality of the data communication system. Some of these aspects and considerations are:
The network topology
The network topology refers to the physical layout and arrangement of the nodes and the bus in a CAN network. The network topology can affect factors such as signal quality, bus length, baud rate and termination. The most common network topology for CAN networks is the linear bus topology, which consists of a single bus line that connects all nodes in series. The linear bus topology has advantages such as simplicity, scalability and reliability. However, it also has disadvantages such as susceptibility to noise, interference and reflections.
The bus length
The bus length refers to the total length of the physical media that is used for CAN communication. The bus length can affect factors such as signal quality, baud rate and termination. The maximum bus length for CAN networks depends on several factors, such as the type of physical media, the number of nodes, the baud rate and the termination. The following table shows some examples of maximum bus lengths for different types of physical media and baud rates:
Physical mediaBaud rateMaximum bus length
Twisted pair1 Mbps40 m
Twisted pair500 kbps100 m
Twisted pair125 kbps500 m
Fiber optic1 Mbps5 km
Fiber optic500 kbps10 km
Fiber optic125 kbps50 km
RJ451 Mbps100 m
RJ45500 kbps200 m
RJ45125 kbps1 km
The baud rate
The baud rate refers to the speed of data transmission and reception on the bus. The baud rate can affect factors such as signal quality, bus length and termination. The maximum baud rate for CAN networks depends on several factors, such as the type of physical media, the number of nodes, the bus length and the termination. The following table shows some examples of maximum baud rates for different types of physical media and bus lengths:
Physical mediaBus lengthMaximum baud rate
Twisted pair40 m1 Mbps
Twisted pair100 m500 kbps
Twisted pair500 m125 kbps
Fiber optic5 km1 Mbps
Fiber optic10 km500 kbps
Fiber optic50 km125 kbps
RJ45100 m1 Mbps
RJ45200 m500 kbps
```html
The termination
The termination refers to the use of resistors at the ends of the bus to reduce signal reflections and improve signal quality. The termination can affect factors such as signal quality, bus length and baud rate. The optimal value of the termination resistors depends on several factors, such as the type of physical media, the impedance of the bus and the number of nodes. The following table shows some examples of optimal termination resistor values for different types of physical media and impedances:
Physical mediaImpedanceTermination resistor value
Twisted pair120 ohms120 ohms
Fiber optic110 ohms110 ohms
RJ45100 ohms100 ohms
The future trends and challenges of CAN technology
CAN technology has proven to be a robust, reliable and efficient data communication system for various domains and applications. However, as technology evolves and new demands and requirements emerge, CAN technology also faces some potential opportunities and issues that m