Updated March 18, 2021
— CAN bus (Controller Area Network) is a vehicle bus standard that allows devices and microcontrollers to communicate with each other's applications.

Find the perfect solution service for your business
All solutions are customizable and designed to meet all your needs.
find the solution
CAN bus stands for Controller Area Network Communication and consists of two electrical lines called CAN_Low and CAN_High. The information within each vehicle is transmitted to and fromcontrol units. In addition, the CAN bus is designed for robust performance in harsh environments.
We have prepared a simple introduction to the CAN bus. Several topics have been covered to give you the best explanation of the CAN protocol.
While working on the article, we combined the knowledge of our top experts within the company as well as non-expert team members.
Why? The idea was to write a professional but simple introductory guide to the CAN bus for everyone, no matter how experienced you are.
In conclusion, it doesn't matter if you have absolutely no knowledge of the CAN bus protocol or if you are already a professional. This simple introductory guide to the CAN bus will give you all the information you need.
What is CAN bus?
CAN bus is a set of two electrical lines in the vehicle network (CAN_Low and CAN_High) where the information is sent to and from ECUs. The network via which control units can communicate is called the Controller Area Network (CAN).
The CAN bus is a serial communication bus designed for robust performance in harsh environments, mainly in industrial and automotive applications.
It's basically a vehicle bus standard that allows microcontrollers and devices to talk to each other.
CAN bus is one of the protocols used inOn-Board-Diagnose (OBD). Today, the OBD-2 is mandatory in all newer cars and light trucks around the world.
CAN bus system simply explained
Let's try to look at it from a completely different perspective.
Imagine the car is like the human body and the nervous system in the human body is the controller area network (CAN bus) in the car, which also enables communication.
node orelectronic control units (ECUs)are something like body parts that are connected to each other via CAN bus communication. Information can be easily shared between parties. That's a lot easier to understand, isn't it?
The CAN bus system
Depending on the vehicle type, it can have up to 70 ECUs (Electronic Control Units), each of which must be shared with other parts of the network.
Some of the examples are for example;audio system, Airbags,engine control unit,door controlleretc. The CAN bus enables the control units to communicate with one another.
Think of controllers as specific people. A control unit can formulate the information and transmit it via CAN bus to other control units, which accept the data. After that, they examine the data and decide whether to receive it or ignore it.
The CAN bus uses two wires for communication -CAN niedrigandCAN hoch(CANL and CANH). ISO 11898-2 describes the physical layer of the CAN bus and ISO 11898-1 describes the data link layer.
The physical layer represents cable types, node requirements, electrical signal levels, cable impedance, etc.
On the other hand, ISO 11898-2 represents things like baud rate, cable length, and termination.
-
The cable length should be 40 meters (1 Mbit/s) or 500 meters (125 kbit/s).
-
The CAN bus must be terminated at the end of each bus with a 120 ohm CAN bus resistor.
-
CAN nodes must be connected via a two-wire bus with baud rates of up to 1 Mbit/s (CAN) or 5 Mbit/s (CAN FD).
5 advantages of the CAN bus protocol
The CAN bus standard is used in all vehicles due to its significant advantages, e.g. e.g.:
-
robustness
See AlsoCan, czasownik i odmiana canThe CAN bus standard is ideal for security applications such as vehicles due to its durability and reliability. There are also 5 mechanisms to detect errors in the CAN protocol, such as: B. bit stuffing, bit monitoring, frame check, confirmation check and cyclic redundancy check.
-
Inexpensive
When the CAN protocol was developed, its purpose was to enable high-speed communication between electronic devices and modules while reducing errors, weight, wiring, and cost.
-
speed
Currently defined by two physical layers – High Speed CAN (CAN h) and Low Speed CAN (CAN L), both with their own advantages and disadvantages.
-
flexibility
The CAN bus protocol is known as a message-based protocol, which means that nodes can be easily added or removed without the need for system updates. This makes it very easy for engineers to integrate new electronic devices and adapt them to your requirements without much programming effort.
-
efficiency
High priority data is prioritized by ID to get instant bus access - without interrupting other frames.
CAN bus wiring
One of the best advantages ofCAN-Busis the reduced wiring effort in combination with a sophisticated avoidance of message collisions.
In other words, no data is lost during message transmission.
The following two examples illustrate thisCAN-Protokolland how it would look like with CAN bus system and without CAN bus system.
With the CAN bus, it is of course much easier for the nodes to communicate and navigate.
On the other hand, without a CAN bus, it is much more difficult for the nodes to communicate with each other and the communication is ineffective.
There are different types of networks. See below for a simple explanation.
High speed CAN bus (ISO 11898)
-
Supports bit rates between 40 kbps and 1 Mbps.
-
Easy wiring.
-
Most commonly used today.
-
Basis for higher-level protocols such as e.gOBD2,can open,j1939and more.
Low speed CAN bus
-
Supports bit rates between 40 kbps and 125 kbps.
-
Allows communication to continue despite the fault in one of the two cables.
-
Also known as fault-tolerant CAN.
-
Each CAN node has its own CAN termination.
LIN-Bus
-
Inexpensive supplement.
-
Less dishes.
-
Cheaper knots.
-
Usually consists of aLIN-BusMaster acting as gateway - up to 16 slave nodes.
-
Typically includes vehicle functions such as door functions or air conditioning.
Automotive-Ethernet
-
Ethernetsupports high bandwidth requirements of driver assistance systems (ADAS), cameras, infotainment systems, etc.
-
Offers much higher data transfer rates than CAN bus.
-
Missing safety functions of CAN and CAN FD.
-
Most likely will be widely used in the years to comeautomotive industry.
CAN-FD
-
Typically used in modern high performance vehicles.
-
CAN-FDis an extension of the original CAN bus protocol.
-
Released in 2012 by Bosch.
-
Designed to meet the need to increase data transfer.
What is a CAN telegram?
CAN frames are used for communication over the CAN bus. CAN uses the differential signal with two logic states - dominant and recessive.
The CAN network uses two CAN messages - standard CAN and extended CAN, which are described below.
The image below shows a typical CAN frame with an 11-bit identifier used in most cars. The extended 29-bit identifier frame is identical except for the larger ID.
Standard CAN frame
The first bit is the start of frame (SOF), which represents the start of the frameCAN message. Next comes the 11-bit identifier that organizes the priority of the CAN message. The smaller the identifier, the higher its priority.
The Remote Transmission Request (RTR) is typically dominant but becomes recessive as nodes request data from each other.
Next is the Identifier Extension (IDE) bit, which is dominant when the standard CAN frame is being sent - not the extended one. The r0 bit is reversed and not currently used.
Next is the data length code (DLC), which indicates how many bytes of data are in the current message. Another important part is the data itself, which is the same number of bytes as DLC bits.
Next is Cyclic Redundancy Check (CRC), a 16-bit checksum that detects errors and problems in transmitted data.
If the message is properly received, the receiving node overwrites the recessive acknowledgment (ACK) bit with a dominant bit. The end of frame (EOF) indicates the end of the CAN message.
It is 7 bits wide and detects bit stuffing errors. The last part of the CAN message is the Interframe Space (IFS), which is used as a time delay.
Extended CAN framework
The extended CAN frame uses a 29-bit identifier with a few extra bits. The Extended 29 Bit Identifier (CAN 2.0B) is identical, but has a longer ID and is mostly used in thej1939 protocol- heavy-duty vehicles. CAN uses two logical states; dominant and recessive.
-
Dominant
Indicates that the differential voltage is greater than the minimum threshold. In addition, the dominant state is also achieved by placing a logical "0" on the bus.
-
Recessive
Indicates that the differential voltage is less than the minimum threshold. On the other hand, the recessive state is reached by a logical "1".
It also has a Spare Remote Request Bit (SRR) that comes after the 11-bit identifier and acts like a placeholder to keep the same structure as a standard CAN frame.
The identifier extension (IDE) should be recessive and the extended identifier should follow it accordingly.
The Remote Transmission Request (RTR) comes right after the 18-bit ID. The reversal bit r1 follows the path and the rest of the message stays the same.
CAN bus data logging
Recording of CAN datacan be used by different types of vehicles such as cars, heavy-duty vehicles,foresightedMaintenance and machine black box.
Dievehicle dataare collected through the OBD2 port and are typically used to reduce fuel costs, improve car mileage and more.
On the other hand, heavy vehicle data is collected by j1939 and usually used to improve safety and reduce costs.
Vehicles and machines can also be monitored byInternet of Things CAN-Logger. This can be done in the cloud to avoid failures. A CAN logger can provide data for disputes or diagnostics. It is also called a black box.
CAN bus logging is commonly used infleet management, due to its effectiveness and the increased number of possibilities.
A CAN logger is required to record CAN data. This allows you to store time-stamped CAN data on an SD card. In some situations, a CAN interface is required to transfer data to a PC, e.g. B. ifdecrypt data.
Example:TMU SocketCAN
With the TMU SocketCAN you can easily record data from any CAN bus onto an 8-32 GB micro SD card. Simply attach it to a car or truck to start recording, then encode the data with our freeManagement-Software.
In addition, the TMU SocketCAN has WiFi, so you can automatically upload data to your own server and update devicesabove the air.
Decoding of raw CAN data
Raw CAN data is not easy to read. That is why we have prepared a guide for you. Check out the instructionshow to log raw CAN messages.
The CAN bus supports the basis for communication, but no more. The CAN protocol does not specify how to handle messages longer than 8 bytes or how to decode the RAW data.
A set of standardized protocols is useful to specify how data is communicated between CAN nodes on a network. There are several higher layer protocols such asOBD2,can open,CAN-FDandSAE J1939.
-
OBD2
OBD has a self-diagnostic function that is mainly used by mechanics to analyze vehicle problems and the overall condition of the vehicle. OBD2 determines Trouble Codes (DTCs) and real-time data (RPM, speed, etc.) which can be recorded via OBD2 loggers.
-
can open
CANopen is typically used in embedded control applications such as industrial automation and is based on a CAN, which means that the CAN bus data logger can also log CANopen data.
-
CAN-FD
CAN FD is essentially a flexible data rate CAN bus and an extension of the classic CAN data link layer. Compared to the classic CAN protocol, CAN FD increases the payload from 8 to 64 bytes. Depending on the CAN transceiver, it also enables a higher data bit rate.
-
SAE J1939
J1939 is commonly used in heavy duty vehicles. J1939 parameters such as RPM and Velocity are analyzed using a Suspicious Parameter Number (SPN). They are then grouped into parameter groups and classified by a PG number (PGN).
A high-speed data transfer rate providesDoIP-Diagnose, more precisely about 100 times CAN diagnosis.
History of the CAN bus
Control Area Network (CAN-Bus) have a long history and went through several stages of development. The actual stages of development over the years can be seen below.
-
The development of the CAN bus dates back to 1983 when Bosch originally invented the Control Area Network and later codified it into the ISO 11898-1 standard.
-
The CAN protocol was later released to the Society of Automotive Engineers (SAE) in 1986.
-
Intel was the first to introduce the CAN controller chips in 1987, and Phillips joined Intel shortly after.
-
In 1991, Bosch released CAN 2.0 (CAN 2.0A: 11 bits, 2.0B: 29 bits).
-
CAN bus as an international standard in ISO 11898 was adopted in 1993.
-
In 2003, ISO 11898 became a series of standards.
-
In 2012, Bosch published the CAN FD 1.0 – flexible data rate.
-
In 2015, the CAN FD protocol was standardized in ISO 11898-1.
-
Finally, the physical CAN layer up to 5 Mbit/s was standardized in 2016 in ISO 11898-2.
In the future, the CAN bus will still be widespread, but will be heavily influencedTrends in the automotive industrysuch as; the growth of the Internet of Things and connected vehicles, the impact of autonomous vehicles, the rise of cloud computing, the need for advanced vehicle capabilities, and more.
The demand for CAN FD is increasing and many experts assume that it will slowly replace the classic CAN bus protocol. Stay tuned to see what's happening.

Make your fleet management KEYLESS
Tailored solutions for fleets that enable fleet managersmanage remotelytheir fleet.
Discover the solution


Article by
Philipp Hundevad Nymann
Business Developer / Sales
Do you like what we do?Contact us.
Find the perfect solution service for your business
All solutions are customizable and designed to meet all your needs.
find the solution