The Controller Area Network (CAN) is a serial communications protocol which
efficiently supports distributed realtime control with a very high level of security.
Its domain of application ranges from high speed networks to low cost multiplex wiring.
In automotive electronics, engine control units, sensors, anti-skid-systems, etc. are
connected using CAN with bitrates up to 1 Mbit/s. At the same time it is cost effective to
build into vehicle body electronics, e.g. lamp clusters, electric windows etc. to replace
the wiring harness otherwise required.
The intention of this specification is to achieve compatibility between any two CAN
implementations. Compatibility, however, has different aspects regarding e.g. electrical
features and the interpretation of data to be transferred. To achieve design
transparency and implementation flexibility CAN has been subdivided into different
layers.
•
the (CAN-) object layer
•
the (CAN-) transfer layer
•
the physical layer
The object layer and the transfer layer comprise all services and functions of the data
link layer defined by the ISO/OSI model. The scope of the object layer includes
•
finding which messages are to be transmitted
•
deciding which messages received by the transfer layer are actually to be used,
•
providing an interface to the application layer related hardware.
There is much freedom in defining object handling. The scope of the transfer layer
mainly is the transfer protocol, i.e. controlling the framing, performing arbitration, error
checking, error signalling and fault confinement. Within the transfer layer it is decided
whether the bus is free for starting a new transmission or whether a reception is just
starting. Also some general features of the bit timing are regarded as part of the
transfer layer. It is in the
1