随着新能源汽车的发展,需要传输的数据量也逐渐增加,很多车厂都在考虑使用 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 立功科技·致远电子官方技术热线.