A controller area network (CAN bus) is a robust vehicle bus standard designed to enable microcontrollers and devices to communicate with each other in applications without a host computer. It is a message-based protocol, originally designed for multiplex electric wiring inside automobiles to save on copper, but is also used in many other contexts.
The development of the CAN bus started in 1983 at Robert Bosch GmbH. The protocol was officially launched in 1986 at the Automotive Engineers Society (SAE) conference in Detroit, Michigan. The first CAN driver chips, produced by Intel and Philips, came on the market in 1987. The 1988 BMW 8 Series was the first production vehicle to have a CAN-based multiplex cabling system.
Bosch published several versions of the CAN specification and the last one 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 for the extended format with a 29-bit identifier. A CAN device that uses 11-bit identifiers is commonly referred to as CAN 2.0A and a CAN device that uses 29-bit identifiers is commonly referred to as CAN 2.0B. These standards are freely available from Bosch along with other specifications and technical documents.
In 1993, the International Organization for Standardization (ISO) published CAN ISO 11898, which was subsequently restructured into two parts; ISO 11898-1 covering the data link layer, and ISO 11898-2 covering the CAN physical layer for high-speed CAN. ISO 11898-3 was later published and covers the CAN physical layer for low speed and fault tolerant CAN. The physical layer standards ISO 11898-2 and ISO 11898-3 are not part of the Bosch CAN 2.0 specification. These standards can be purchased from ISO.
Bosch continues to work on expanding CAN standards. In 2012 Bosch released CAN FD 1.0 or CAN with Flexible Data-Rate. This specification uses a different frame format that allows a different data length as well as optionally switching to a faster bit rate after the arbitration is decided. CAN FD is compatible with existing CAN 2.0 networks so that new CAN FD devices can coexist on the same network with existing CAN devices.
The CAN bus is one of five protocols used in on-board diagnostics (OBD) -II. The OBD-II standard has been mandatory for all cars and light trucks sold in the United States since 1996 and the EOBD standard has been mandatory for all petrol vehicles sold in the European Union since 2001 and all diesel vehicles since 2004.