Controller Area Network (CAN bus)

A Controller Area Network (CAN bus) is a vehicle bus standard consists of multiple system components that use microcontrollers to communicate with each other. It is a message-based protocol, designed originally for multiplex electrical wiring within automobiles to save on copper, but it can also be used in many other contexts. For each device, the data in a frame is transmitted serially but in such a way that if more than one device transmits at the same time, the highest priority device can continue while the others back off. Frames are received by all devices, including by the transmitting device.

The concept of how CAN works is simple: electronic control units (ECU), their sensors, and all power-consuming components on a vehicle are connected to each other via a single wire; this single wire is really two wires twisted together and is called a “twisted pair”. The twisted pair of wires used by a CAN system to communicate within the computer system is called a BUS, which is, quite simply, nothing more than a glorified communication network. The BUS allows all electronic information to be available at all times within the network of components, since digital messages are sent out by each computer, or controller, and received by all computers connected to the network.

Development of the CAN bus started in 1983 at Robert Bosch GmbH. The protocol was officially released in 1986 at the Society of Automotive Engineers (SAE) conference in Detroit, Michigan.

Bosch published several versions of the CAN specification. The latest is CAN 2.0, published in 1991. This specification has two parts. Part A is for the standard format with an 11-bit identifier, and part B is for the extended format with a 29-bit identifier. A CAN device that uses 11-bit identifiers is commonly called CAN 2.0A, and a CAN device that uses 29-bit identifiers is commonly called CAN 2.0B. These standards are freely available from Bosch along with other specifications and white papers. Starting in 2003, CAN was used on some OBD-II vehicles to communicate with scan tools, and in 2004, Ford, Mazda, Mercedes, and Toyota equipped all of their OBD-II vehicles exclusively with CAN for all vehicle-to-scan-tool communications.