Main Page | See live article | Alphabetical index

Controller Area Network

Controller Area Network (CAN) is a serial bus standard developed by Robert Bosch GmbH for connecting devices. It was initially created for the automotive market but now its applications go from high speed networks to low cost multiplex wiring.

Its specification describes mainly the data link layer - comprised by logical link control (LLC) sublayer and the Media Access Control (MAC) sublayer - and some aspects of the physical layer of the ISO/OSI Reference Model. All the other protocol layers are left to the network designer's choice.

In the CAN model, all devices are connected to a single shared bus and they are all allowed to start a transmission. Therefore, a Carrier Sense Multiple Access / Collision Resolution (CSMA/CR) scheme is implemented, i.e. if two or more devices start transmitting at same time, there is a priority based arbitration scheme to decide which one will be granted permission to continue transmitting.

It is a very robust protocol, with error detection and signalling, self-checking and fault confinement. Bitrates up to 1Mbit/s can be used.

There are currently two message formats:

In order to be compatible with CAN specification, the implementation must accept the standard format and may accept the extended format.

As only some parts of physical layer were defined, many implementations were created. The most used one is the ISO 11898 that uses a two-wire balanced signaling scheme.

Also, as the CAN standard does not include tasks of high layer protocols, such as flow control, device addressing and transportation of data blocks larger than one message, there were created many implementations of higher layer protocols. Among these are DeviceNet, CANopen, SDS and CAN Kingdom.

External links