CAN到CAN FD:汽车电子通信协议的重大飞跃

在汽车工业快速发展的背景下,通信协议的创新成为推动技术进步的关键因素之一。近年来,CAN FD(Flexible Data-rate CAN,即可变数据速率CAN)协议的推出,标志着传统CAN总线技术的一次重要升级。这一升级并非全面革新,而是在保持物理层不变的基础上,对通信协议进行了优化,旨在提升总线性能,同时确保与现有系统的兼容性。

随着汽车电子系统的日益复杂化,数据交互量显著增长,传统CAN 2.0总线逐渐暴露出负载过重的问题,部分场景下的负载率甚至逼近极限。传统CAN总线还面临传输速率受限、帧开销大、数据段长度不足以及延迟较高等挑战。相比之下,其他通信协议如UDP和FlexRay在数据开销方面表现更为出色,这促使汽车行业开始寻求更高效的数据传输方案。

CAN FD的研发始于2011年,并于2015年正式被纳入ISO 11898-1标准,与经典CAN协议并存。CAN FD协议的核心改进在于数据段长度的扩展以及支持更高的传输速率。具体而言,数据段长度从传统的8字节增加至64字节,最大传输速率提升至8 Mbit/s。这些改进不仅大幅提升了通信效率,还显著降低了总线负载,使CAN FD更加适应现代汽车电子系统对高速、大容量数据传输的需求。

从帧结构上看,CAN FD沿用了经典CAN帧的基本框架,但在控制字段和数据字段上进行了显著扩展。帧起始位和仲裁字段保持不变,用于标识帧的开始和进行总线仲裁。控制字段中新增了EDL位以区分CAN FD和传统CAN报文,BRS位的引入使得数据段和CRC字段可以在仲裁阶段之后切换至更高速率进行传输。同时,ESI位用于表征发送节点的错误状态,增强系统的容错能力。

数据段是CAN FD提升性能的关键所在。通过扩展数据段长度,CAN FD显著提升了单帧的有效载荷,从而减少了数据传输所需的帧数。同时,CRC校验字段也相应增强,根据数据长度使用17位或21位CRC,以确保数据的完整性。帧末部分的ACK、EOF以及IFS则保持不变,确保了CAN FD与传统CAN的兼容性。

值得注意的是,CAN FD最早由博世公司提出,并称为Bosch CAN FD。该版本在数据长度和传输速率方面进行了显著提升,但使用的是17位CRC校验码,并未支持位时间重同步。然而,随着实际应用中通信速率和负载的不断提升,Bosch版本在数据可靠性方面逐渐显露出局限性。因此,ISO组织在2015年发布了正式标准ISO 11898-1:2015,即现在所称的标准CAN FD。标准CAN FD在保留Bosch版本主要特性的基础上,引入了更强的21位CRC校验机制,并对帧格式进行了微调,从而增强了抗干扰能力和数据可靠性。

尽管Bosch CAN FD在早期实验中表现出色,但现阶段已逐渐被ISO标准CAN FD替代。两者在物理层保持兼容,但在帧结构、校验算法和协议容错机制上存在差异。因此,标准CAN FD节点在通用性和可靠性方面更具优势,成为现代汽车电子系统数据传输的首选方案。

文章采集于互联网