102
CAN: Controller Area Network
6.
Controller Area Network is a half-duplex serial protocol developed in the 80’s and evolved
multiple times since then, becoming very popular in automotive and industrial applications. It
was a particularly effective data bus for usage in vehicles by meeting real-time processing,
reliability and bandwidth specifications.
It needs only a small number of wires and it can create a network of up to 2048 devices in CAN
2.0A (or over 500 million devices in CAN 2.0B) where the bus works in multi-master mode (any
station can become the transmitter). The bus access is not deterministic, multiple devices can try
to transmit at the same time, only one of them will prevail and the others wait for the bus to
become idle. CAN controllers possess multiple error detection methods that minimises the
undetected error probability up to 4.6 10
according to some manufacturers.
Figure 111: A typical CAN bus architecture with twisted pair
Physical layer is not clearly specified, it can be done on different mediums with different
connectors but it requires the use of dominant/recessive signals for allowing multiple devices to
be able to access to the medium. Most commonly twisted pair is used with differential voltages
and DB9 connectors.
A lot of standards on this protocol has been defined over the years for low-speed fault-tolerant
CAN (2.0A, <125kb/s), for high-speed CAN (2.0B, <1Mb/s) or even for single-wire CAN.