Any application running on a microcontroller may access Controller Area Network (CAN) data link layer components directly through their CAN mailboxes and related control and status flags. In order to reduce complexity for the application programmer, it is highly recommended and currently state of the art to install “CAN drivers” as an interface between CAN module and the application itself—the so-called Higher Layer Protocols. In the beginning of the CAN age, these higher layers were tailored very much to the specific needs of the individual application suppliers due to the limited microcontroller resources and as a protection means for that application implementation. In the course of time, these “CAN drivers” proliferated to industrial or even international standards. They all differ in their scope of application, their own power and complexity and resources requirements.
This chapter outlines the main characteristics and application scope of CANopen and CanKingdom, for both industrial control applications and AUTOSAR, an automotive diagnostic implementation and SAE 1939, which are all higher layer protocols, dedicated to automotive applications.