Higher Layer Protocols

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 higher layer protocol 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

Higher Layer Protocol Types

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 the major HLPs.

Other Related Protocols and Standards

There are a number of protocols and standards closely related to CAN, but which are not higher layer protocols. Read about some of them below:

More Resources

Article: Comparison between SDS, DeviceNet and CAN Kingdom, It was written some time ago, but the comparison is still valid.

Article: Here is a paper explaining the differences between CAN Kingdom and CANopen.