CAN通信方案在1986年的SAE大会上, 由Bosch首次提出,由于其可靠性及强兼容性被主流OEM采用。但近年自动驾驶,电动汽车技术的快速突破,不断对传统CAN总线系统发起了挑战。
最近工作上需要也在学习,遂对CAN-FD做了个简单的梳理与总结,供与大家参考。
1
CAN-FD背景
传统CAN总线最高传输速率为1Mbit/s,车载领域实际使用速率最高却仅为500 Kbit/s,已然满足不了越来越高的数据吞吐量需求,因而CAN方案的瓶颈逐步凸显,尤其未来更多的ECU搭载终会导致总线负载率持续增加导致网络拥堵。
在2011年,为满足带宽与可靠性需求,依然是由Bosch发布了CAN-FD(CAN With Flexible Data-Rate)方案,它因继承了传统CAN总线主要特性,如使用改动较小的物理层,双线串行通讯协议,基于非破坏性仲裁技术,分布式实时控制,可靠的错误处理和检测机制等,并对带宽及数据长度做了优化,而被视为是下一代主流汽车总线系统。
2
CAN-FD主要特点
相对于传统CAN线系统,CAN-FD的明显优势有以下几点:
传输速率更快
CAN FD全称是Flexible Data-Rate,意为帧报文中数据段波特率可变的特性,即仲裁段和数据控制段使用标准的通信波特率,而传输数据段时就会切换到更高的通信波特率,数据传输率可大于1Mbit/s,5Mbit/s,甚至更高。
有效数据场更长
相对于传统CAN报文有效数据场的8 字节,CAN FD对有效数据场长度作了很大的扩充,数据场长度最大可达到64bytes,当数据长度码DLC小于等于8时与原CAN总线一致,大于8时为非线性增长,大大提高帧报文中的有效数据,意味着CAN FD具有更高有效传输负载。如原本对于PEPS模块的身份认证上,原本需要多条CAN报文进行校验,现在只需一条长帧报文即可完成。
优化了CRC校验场
在传统的CAN系统中,使用位填充的方式来保持通信同步。但这种方式会造成对CRC,即循环冗余校验码(Cyclic Redundancy Check)的干扰,导致错帧漏检。
CAN FD为此在CRC算法上进行了优化与修改,将填充位加入到差错校验码中进行计算,也就是CRC以包含了填充位位流进行计算。确定从第一个填充位开始,序列中每4位就插入一个填充位用以分割,且该填充位就是上一位的反码。
当进行格式检查时,若填充位不是上一位的反码,就及时报错处理。而针对不同的数据场长度值,CAN FD会选择两种新BCH型CRC多项式。
控制场增加控制位
CAN FD在帧报文的控制场中添加了EDL,BRS以及ESI三位,分别用于以下数据表示:
EDL(Extended Data Length)用于区分是否为CAN-FD帧:
1. 隐性: 表示为CAN-FD 报文,并采用新的DLC编码和CRC算法。
2. 显性: 表示为CAN报文
BRS(Bit Rate Switch)为位速率转换开关,用于切换Data-Phase的速率:
1. 隐性:转换可变速率
2. 显性:不转换速率
ESI(Error State Indicator)为错误状态指示位:
1. 隐性:发送节点处于被动错误状态(Error Passive)
2. 显性:发送节点处于主动错误状态(Error Active)
3
CAN-FD应用领域
针对对现有CAN系统的转换,目前主流有以下规则用于兼容CAN与CAN-FD:
1. 在一个系统中使用分离的两个硬件通道
2. 在统一平台下,保留原有CAN处理器。改进CAN收发器
3. 当使用CAN-FD通信时,休眠CAN节点
CAN-FD的引入对整车程序刷新速率有了较大影响,如原本CAN数据的传输速率为500Kbit/s,这对模块的数据FLASH也是瓶颈作用,而CAN-FD的速率提升至5Mbit/s,达到了约10倍的提升。
对于Gateway,数据传输速率的提升大大提高了数据负载率。在未来,完全可以利用好网关对各子网之间的信息交互,实现网关控制多路控制器的同时刷新。
对车辆如动力系统,底盘、主被动安全及Cyber Security等系统,加长到64bytes的有效数据场避免了数据非必要的拆分。
最后包括自动驾驶、新能源汽车等技术在内的未来汽车应用中,车辆将会搭载越来越多的超声波、雷达等传感器,如何将采集的数据高速、可靠并稳定接入到车载网络系统中,成为了亟待考虑的问题,CAN-FD的出现无疑是突破了现有CAN系统的瓶颈。
联系客服