The library contains fundamental functions for handling an interface to the CAN field bus. Layer 7 applications (such as CANopen, DeviceNet and many others) can be realized on the basis of this library.
Intention of this library is to implement a standardized interface for almost all CAN controllers available on the market. Yet, in order not to restrict the functionality of each specific chip by doing so, the library was split up into three different parts:
This library contains all functions and function block diagrams which are necessary for regular use and which are identical for all hardware platforms. These POUs also include all in- and outputs which are only of interest for an extra functionality.
The library offers a set of supplementary functions for the implementation of so-called Can Mini Drivers (Services for Can Mini Driver). These functions should not be called out of an application and are only meant to simplify the implementation of CAN bus drivers as far as possible.
Basically, the complete memory management, synchronization and communication is provided and centrally implemented once in “CAA_CANL2.lib”. This is to make sure that only the minimum chip specific functions must be provided within a Can Mini Driver (see documentation on “CAA.CanMiniDriver.lib”).
This library contains data types depending on the implementation. On the one hand, this leads to high performance on small controllers, on the other hand, the functionality on big systems is not restricted, as the data types may be enlarged ad lib. The contents of the data structures is accessed via handles.
In addition, this library allows for the provision of further POUs for an enhanced diagnosis.
This specification provides the interfaces and data types necessary for the implementation of so-called CAN Mini Drivers.
All functions defined have to be implemented. In CL2.GetProperty the driver reports, whether the output contains information or not. If a function is called with an input parameter depending on GetProperty, which is not supported by the driver, the function has to return an error.