Controller area network

A controller area network (CAN bus) is a vehicle bus standard designed to allow microcontrollers and devices to communicate in applications without a host computer. It is a message-based protocol designed originally for automotive applications but is also used in many other contexts.

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) congress in Detroit, Michigan. The first CAN controller chips, produced by Intel and Philips, came on the market in 1987. 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.

In 1993 the International Organization for Standardization released the CAN standard ISO 11898, which was later restructured into two parts; ISO 11898-1, which covers the data link layer, and ISO 11898-2, which covers the CAN physical layer for high-speed CAN.

ISO 11898-3 was released later and covered the CAN physical layer for low-speed, 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 may be purchased from the International Organization for Standardization (ISO).

CAN in Automation (CIA) also published CAN standards, CAN Specification 2.0 part A and part B, but their status is now obsolete (superseded by ISO 11898-1). Bosch is still active in extending the 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 an extra data length and optionally switches to a faster bit rate after the arbitration is decided.

CAN FD is compatible with existing CAN 2.0 networks, so new CAN FD devices can coexist on the same network as existing CAN devices. CAN bus is one of five protocols used in the onboard diagnostics (OBD)-II vehicle diagnostics standard.

The OBD-II standard has been mandatory for all cars and light trucks sold in the United States since 1996. The EOBD standard has been mandatory for all petrol vehicles sold in the European Union since 2001 and all diesel vehicles since 2004.