|
The CAN standard defines the hardware ("the physical
layer" - there are several) and the communication on a basic
level ("the data link layer"). The CAN protocol itself just
specifies how to transport small packets of data from point A to point
B using a shared communications medium. It contains nothing on topics
such as flow control, transportation of data larger than can fit in
a 8-byte message, node addresses, establishment of communication,
etc.
In order to manage the communication within a system, a higher
layer protocol (HLP) is required. The term HLP is derived from the
OSI model and its seven layers. The HLP typically specifies things
like:
- Start-up behaviour
- How to distribute message identifiers among the different nodes
in a system
- How to translate the contents of the data frames
- Status reporting within the system
Different Higher Layer Protocols
The are many (several dozens) higher layer protocols for the CAN bus. The most common ones
are listed below. In addition, you may want to read the articles
below explaining the differences between between the major HLPs.
Comparison between SDS, DeviceNet
and CAN Kingdom >>
It was written some time ago, but the comparison
is still valid.
Here is a paper explaining the differences
between CAN Kingdom and CANopen >>
|