CAN Protocol Principles of Data Exchange
CAN Protocol Principles of Data Exchange
CAN Protocol Principles of Data Exchange
The CAN protocol is an international standard defined in the ISO 11898. Beside the CAN
protocol itself the conformance test for the CAN protocol is defined in the ISO 16845, which
guarantees the interchangeability of the CAN chips.
As a result of the content-oriented addressing scheme a high degree of system and configuration
flexibility is achieved. It is easy to add stations to an existing CAN network without making any
hardware or software modifications to the present stations as long as the new stations are purely
receivers. This allows for a modular concept and also permits the reception of multiple data and
the synchronization of distributed processes. Also, data transmission is not based on the
availability of specific types of stations, which allows simple servicing and upgrading of the
network.
The priority, at which a message is transmitted compared to another less urgent message, is
specified by the identifier of each message. The priorities are laid down during system design in
the form of corresponding binary values and cannot be changed dynamically. The identifier with
the lowest binary number has the highest priority.
Bus access conflicts are resolved by bit-wise arbitration of the identifiers involved by each
station observing the bus level bit for bit. This happens in accordance with the wired-and-
mechanism, by which the dominant state overwrites the recessive state. All those stations (nodes)
with recessive transmission and dominant observation lose the competition for bus access. All
those "losers" automatically become receivers of the message with the highest priority and do not
re-attempt transmission until the bus is available again.
Transmission requests are handled in order of their importance for the system as a whole. This
proves especially advantageous in overload situations. Since bus access is prioritized on the basis
of the messages, it is possible to guarantee low individual latency times in real-time systems.
The CAN protocol supports two message frame formats, the only essential difference being in
the length of the identifier. The “CAN base frame” supports a length of 11 bits for the identifier,
and the “CAN extended frame” supports a length of 29 bits for the identifier.
CAN controllers, which support extended frame format messages are also able to send and
receive messages in CAN base frame format. CAN controllers that just cover the base frame
format do not interpret extended frames correctly. However there are CAN controllers, which
only support the base frame format but recognize extended messages and ignore them.
However effective and efficient the method described may be, in the event of a defective station
it might lead to all messages (including correct ones) being aborted. If no measures for self-
monitoring were taken, the bus system would be blocked by this. The CAN protocol therefore
provides a mechanism to distinguish sporadic errors from permanent errors and local failures at
the station. This is done by statistical assessment of station error situations with the aim of
recognizing a station's own defects and possibly entering an operation mode in which the rest of
the CAN network is not negatively affected. This may continue as far as the station switching
itself off to prevent other nodes' messages erroneously from being recognized as incorrect.