1. CAN protocol evolution: from CAN to CAN FD
CAN FD (Flexible Data-rate) is the abbreviation of "variable data rate CAN", which can be understood as a protocol layer upgrade of the traditional CAN bus. It should be noted that CAN FD only upgrades the communication protocol, and the physical layer remains unchanged. This design is to solve some bottleneck problems of traditional CAN while ensuring compatibility.
With the increasing complexity of automotive electronic system functions and frequent data interactions, the traditional CAN 2.0 bus faces serious load problems, and the load rate is as high as 95% in some scenarios. At the same time, the CAN bus also has the following major limitations:
The maximum transmission rate is limited to 1 Mbit/s (the actual common rate is 500 kbit/s);
The frame overhead is too large, and less than 50% of the bandwidth in a traditional CAN frame is used for effective data transmission;
The frame data segment is only 8 bytes, which is difficult to meet the needs of modern applications for large data communication;
The delay is limited by the physical architecture, such as ACK response delay, transceiver and wiring propagation delay, etc.
In comparison, other communication protocols have significantly less overhead, for example:
UDP: only 64 bytes of a 1500-byte data packet are overhead;
FlexRay: only 8 bytes of a 254-byte data packet are control overhead.
Since it is impossible for the automotive industry to completely abandon the existing CAN architecture and redesign it, CAN FD came into being to be compatible with existing systems, control upgrade costs, and improve bus performance. The research and development of CAN FD began in 2011, and it was officially included in the ISO 11898-1 standard in 2015, coexisting with the classic CAN protocol.
2.CAN FD has two core improvements over traditional CAN:
2.1. The data segment length is extended to 64 bytes;
2.2. It supports a higher transmission rate (maximum 8 Mbit/s) in the data phase.
These improvements have greatly improved communication efficiency and reduced bus load, making it more adaptable to today's demand for high-speed and large-capacity data transmission. Therefore, CAN FD is not only a continuation of traditional CAN, but also an important evolution for future vehicle networks.
3. Differences between CAN and CAN FD frame structures
The frame structures of CAN and CAN FD are shown in the figure below.
As can be seen from the figure, the overall structure of the CAN FD frame follows the basic framework of the classic CAN frame, but in order to support higher bandwidth and larger data transmission volume, the control field and data field have been significantly expanded. The frame start bit OF is used to identify the beginning of a frame of data, which is the same as the traditional CAN. The arbitration field that follows contains an 11-bit identifier and a reserved bit r1, which is used for bus arbitration and frame priority determination. The control field is the key extension area of CAN FD. In addition to using the IDE bit, the newly added EDL (Extended Data Length) bit is used to clearly distinguish CAN FD from traditional CAN messages, and the introduction of the BRS (Bit Rate Switch) bit allows the data segment and CRC field to switch to a higher rate for transmission after the arbitration stage; ESI (Error State Indicator) is used to characterize the error state of the sending node, thereby assisting the system in fault-tolerant judgment. The data segment is the core of CAN FD bandwidth improvement. Its length can be specified by the DLC field, which is extended from the maximum 8 bytes of traditional CAN to the maximum 64 bytes, greatly increasing the single-frame payload. As a result, the CRC check field is also enhanced accordingly, using 17-bit or 21-bit CRC according to the data length to improve the data integrity protection capability. The ACK, EOF and IFS at the end of the frame are consistent with traditional CAN, ensuring that CAN FD has good backward compatibility.
4. The difference between standard CAN FD and Bosch CAN FD
CAN FD was first proposed by Bosch and is called Bosch CAN FD. As an extension of the traditional CAN bus, it mainly introduces a larger data length (up to 64 bytes) and a higher data segment rate (up to 8 Mbps). The frame structure uses a 17-bit CRC check code, and does not need to support bit time resynchronization. However, as the communication rate and load in actual applications increase, the Bosch version has certain limitations in data reliability. Therefore, in 2015, the ISO organization released the official standard ISO 11898-1:2015, which is now called the standard CAN FD. On the basis of retaining the main features of the Bosch version, it introduced a stronger 21-bit CRC check mechanism and fine-tuned the frame format to enhance the anti-interference ability. The two are compatible at the physical layer, but there are differences in frame structure, check algorithm and protocol fault tolerance mechanism. Therefore, the standard CAN FD node is more versatile and reliable, while the Bosch version is an early experimental version, which has been gradually replaced by the ISO standard at this stage.