当原有的CAN通讯无法满足硬件节点和传输速率的增加时,很多工程师会使用CAN FD来替代,从而实现数据量传输的提速。那么CAN可以通过哪些方式快速升级到CAN FD呢?哪种方式更适合你?一起来看看。
CAN FD升级的意义
当今社会,汽车已经成为了我们生活中不可缺少的一部分,人们希望汽车不仅仅是一种代步工具,更希望是生活及工作范围的一种延伸。在汽车上就像坐在自己的办公室和家里一样,可以打电话、上网、娱乐、工作。因此,汽车制造商为了提高产品竞争力,将越来越多功能集成到了汽车上。ECU(电子控制单元)大量地增加使总线负载率急剧增大,传统的CAN总线越来越显得力不从心。因此,CAN FD(CAN with Flexible Data-Rate)协议诞生了。
它继承了CAN总线的主要特性,提高了CAN总线的网络通信带宽,改善了错误帧漏检率,同时可以保持网络系统大部分软硬件特别是物理层不变。这种相似性使ECU供应商不需要对ECU的软件部分做大规模修改即可升级汽车通信网络。
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继承了绝大部分传统CAN的特性,但是从传统CAN到CAN FD的升级,我们仍需要做很多的工作。
针对CAN FD升级的情况,一般有4种快速解决方案。
1.CANFDBridge- CAN/CANFD智能协议网桥
在原有的CAN网络上通过CAN网桥与新的CAN FD节点进行连接,将传统的CAN总线网络通过协议转换与CAN FD网络进行融合,快速实现CAN设备的升级。工作原理如图5所示,当接收到CAN FD报文的时候,CAN网桥会采用直转、合并、拆分三种方式实现传统CAN的8字节长度和CAN FD的64字节长度的互相转换,无损还原原有数据。
图5 CANFDBridge界面