Technology overview
As all modern communication technologies, CAN-based networks follow the internationally standardized Open Systems Interconnect (OSI) reference model as defined in ISO 7498-1. For CAN technology, this model has been adapted. The CAN reference model comprises the CAN physical layer (layer-1), the CAN data link layer (layer-2), and the CAN application layer (layer-7). Some layer-7 solutions include also network and transport layer functionality. All these communication services and protocols specify just the communication behavior. The application functionality may be described in standardized profile specifications. In order to verify the correctness of implementations standardized conformance test plans are necessary. A manufacturer-independent certification based on these test plans minimizes compatibility problems.
Bus-line and topology
In order to achieve compatibility on the physical layer, it is essential that all devices in the CAN network sample the bit-value at the same moment. The bit-timing settings in all devices should be as much as possible the same. The selected data rate also determines the maximum bus length and length of not terminated stub cables.
Services and protocols
The usage of CAN base or extended frame formats is determined by the used higher-layer protocol. The selected higher-layer protocol provides services and protocols in order to achieve a higher degree of syntax compatibility. The semantic of the transferred data is not specified in higher-layer protocols.
Device and application profiles
In order to provide a communication interface that is standardized on the level of parameter semantic, the device needs to follow a standardized profile specification. Device profiles specify the parameter meaning and grouping for a single physical device. The system designer needs to program or configure the device in order to achieve interoperability. Devices following an application profile specifying a set of virtual devices does not require to be programmed or configured if just the specified default functionality is needed.








