CAN protocol specification
CAN Specification 2.0 describes the base frame format (using 11-bit CAN-identifier) and the extended frame format (using 29-bit CAN-identifier).
In order to distinguish base and extended frame format the identifier extension (IDE) bit in the control field of the CAN message, as it is defined in CAN Specification 2.0 Part A, is used. This is done in such a way that the frame format in CAN Specification 2.0 Part A is equivalent to the base frame format and therefore is still valid. Furthermore, the extended frame format has been defined so that messages in base format and extended format can coexist within the same network.
The extended frame format has some trade-offs: The bus latency time is longer (in minimum 20 bit-times), messages in extended format require more bandwidth (about 20%), and the error detection performance is lower (because the 15-bit CRC is optimized for frame length of about 80 bit).
This CAN Specification 2.0 consists of two parts, with
- CAN 2.0 Part A (pdf) describing the CAN base frame format;
- CAN 2.0 Part B (pdf) describing both base and extended frame formats.
In order to be compatible with the CAN Specification 2.0 it is required that a CAN implementation is compatible with either Part A or Part B.
- CAN 2.0 Addendum (pdf)
Implementation guide for the CAN protocol
The Controller Area Network protocol specification document describes the function of the network on the whole. Additionally, Bosch provides a Reference CAN Model to the CAN licensees, supporting the protocol’s implementation into the licensees’ CAN controller nodes.
NOTE: The official CAN specification has been released by ISO as 11898-1 (CAN data link layer protocol). There are two CAN physical layers standardized by ISO (11898-2: CAN high-speed transmission; and ISO 11898-3: CAN fault-tolerant transmission).