随着新能源汽车的发展,需要传输的数据量也逐渐增加,很多车厂都在考虑使用CAN FD来替代CAN实现数据量传输的提速。那么如何稳定地升级到CAN FD呢?本文为您解答。
一
CAN FD与CAN的主要区别
图1 CAN帧基本格式
图2 CAN FD帧基本格式
如图1、图2所示分别是CAN帧和CAN FD帧的基本格式,区别主要分为两大点:
1、BRS(可变速率)
CAN FD的传输速率分为两个频段,从BRS位开始到CRC校验之前这一段是可变速率段,这一段的波特率可以进行加速,理论最高可达到5Mbit/s,而其他位置则和CAN2.0一样,最高速率可达到1Mbit/s。
2、数据场长度增加BRS
CAN FD对数据场的长度做了扩充,从CAN的8字节增加到CAN FD的64字节。如图3所示,当DLC小于8字节时和CAN一样是线性增长,当大于8字节时是非线性增长。
图3 DLC编码方式
二
CAN FD的升级与CAN是否有冲突?
由于使用CAN FD网络时,需要ECU和CAN控制器、收发器均支持CAN FD通讯。所以当CAN网络中某些节点升级为CAN FD时,车辆上CAN与CAN FD处于共存的情况,因为普通的CAN节点无法正常解析CAN FD报文,节点就会一直报错,出现大量错误报文,导致总线通讯异常。
图4 CAN与CAN FD报文的波形对比
如图4所示,可以看到CAN FD的传输速率是5Mbit/s,而CAN的传输速率为500Kbit/s,我们在平常使用上位机软件解析CAN报文的时候需要设置对应的波特率,否则报文就无法解析。那么用一种简单的方式来理解,对于CAN节点来说,它的波特率是500K,那么5M的波特率与它不匹配,所以不能被正常解析,该节点就会报错,导致CAN FD报文一直无法正常发送,干扰总线的正常运行。
三
CAN FD升级的解决方案
针对CAN FD升级的情况,一般有三种解决方案。
1、CAN节点忽略CAN FD报文
支持CAN2.0的ECU忽略CAN FD报文,不对其进行识别,这样虽然无法对CAN FD报文进行解析处理,但是也不会将其识别为错误帧,总线可以保证正常通讯。因为CAN FD是向下兼容CAN的,所以所有的CAN节点和CAN FD节点对于CAN报文都可以正常通讯,但是CAN FD的报文只能在支持CAN FD的ECU之间进行传输。由于只能保证CAN FD节点可以正常接收所有类型的CAN报文,CAN节点无法接收解析CAN FD报文,所以该解决方案仅可作为临时使用。
2、全部节点升级为CAN FD
将所有网络上所有的节点都替换成CAN FD,由于CAN FD可以向下兼容CAN,此时的网络既可以进行CAN报文收发也可以进行CAN FD报文收发。但是由于整体网络全部更新替换,成本较高,所以使用率很低。
3、利用CAN网桥进行CAN FD与CAN的转换
在原有的CAN网络上通过CAN网桥与新的CAN FD节点进行连接,将传统的CAN总线网络通过协议转换与CAN FD网络进行融合,快速实现CAN设备的升级。工作原理如图5所示,当接收到CAN FD报文的时候,CAN网桥会采用直转、合并、拆分三种方式实现传统CAN的8字节长度和CAN FD的64字节长度的互相转换,无损还原原有数据。
图5
四
总结
对于CAN FD的升级,如果不是全部节点都进行升级,那么为了避免与CAN总线的冲突,相对来说,使用CAN网桥作为转换来完成是更好的方法。工程师可以不用在意如何完成CAN与CAN FD报文之间的转换,可以将工作重心放到产品功能的实现上,这样对于产品的快速更迭,抢占市场会更加有帮助。
如有任何疑问,可以:1、添加小Z微信号、拨打ZLG立功科技·致远电子官方技术热线.