随着总线技术在汽车电子领域越来越广泛和深入的应用,特别是自动驾驶技术的迅速发展,汽车电子对总线宽度和数据传输速率的要求也越来也高,传统CAN(1MBit/s,8Bytes Payload)已难以满足日益增加的需求。
因此在2012年,Bosch发布了新的CAN FD标准 (CAN with Flexible Data Rate) ,CAN FD继承了CAN的绝大多数特性,如同样的物理层,双线串行通信协议,基于非破坏性仲裁技术,分布式实时控制,可靠的错误处理和检测机制等;同时CAN FD弥补了CAN在总线带宽和数据长度方面的不足。
2015年6月30日,国际标准化组织(ISO)已经正式认可CAN FD,并无反对票通过ISO 11898-1作为国际标准草案。
CAN FD在控制场中新引入了三个位:
EDL位(Extended Data Length),原CAN数据帧中的保留位r, 该位功能为:
隐性: 表示 CAN FD 报文 (采用新的 DLC 编码和 CRC 算法
显性: 表示 CAN 报文
BRS位(Bit Rate Switch):该位功能为:
隐性:表示转换可变速率
显性:表示不转换速率
ESI位(Error State Indicator):该位的功能为:
隐性:表示发送节点处于被动错误状态(Error Passive)
显性:表示发送节点处于主动错误状态(Error Active)
另外,CAN FD采用新的DLC编码方式,控制场有四个位组成了数据长度码(DLC),DLC包含了扩展的有效数据长度;有效数据长度可能为12,16,20,24,32,48和64个字节,如图2所示。
CAN FD提高通信速率主要是两种方法:一是提高波特率;二是提高有效载荷。
基于背景所述以及如上关于报文结构和提高通信速率的方法的说明,我们可以总结出一些CAN FD的优势:
因为受制于产品的稳定性考验,改造成本等问题,没法快速全面普及CAN FD。另外,在2012年底提出CAN FD到2015年中成为ISO CAN FD。也就是说目前市场上大部分都还是在用传统的CAN2.0,有一小部分用非ISO标准的CAN FD,一部分用ISO标准的CAN FD。
这样我们就都会遇到这样一个问题:传统CAN与CAN FD共存的网络中,如何解决彼此通讯?
首先,我们先来看下主要会有哪些问题:
这个问题里面,又会分成如下几种情况:
非ISO CAN FD与 ISO CAN FD的共同点在于:传输速率一致,数据长度一致;区别在于:后者引入了一个3位的填充位计数器以及额外的校验位,另外,CRC计算值也不同。所以两者是不兼容的。因此CiA建议所有的CAN FD应用需注明ISO CAN FD或non-ISO CAN FD。
2012年底到2015年中之前有很多厂家已经开发了CAN FD产品,但是那个是非ISO标准的CAN FD产品,并且已经有少部分产品已经在市场流通。而这些非ISO产品的供应商也没法完全收回或者销毁原有产品,所以这些供应商仍然需要解决这个问题。
解决方法是采用可编程CAN FD路由器,实现两种CAN FD机制的转换。
未来的CAN网络,较长时间内都会存在着传统CAN与CAN FD并存的情况。部分亟需解决速率问题的节点会率先采用CAN FD技术。其他对实时要求不高的节点仍然会保存原有技术并存在着。
那么在一个共存网络中,就需要解决某几个设备之间交叉通讯的问题,多个切换的问题?以及一个设备需要同时与CAN FD节点和传统CAN节点通讯的切换问题?
举例如图4所示,一个网络中只有EMS与ABS是用CAN FD的,解决方法其实也是用CAN FD的网关;如果是EMS和ABS通信,PCAN-Router FD网关这个时候只要对CAN FD之间的数据1:1转发即可;如果是EMS或者ABS与其他ECU通信,那么这时PCAN-Router FD网关就需要将CAN FD数据切换为传统CAN再转发。
CAN FD节点在进行环境测试、疲劳测试、寿命测试等的情况下,只需要测试设备本身的性能,而与通讯速率/字节数无关,因此,这几类测试可以沿用传统CAN设备的测试平台。
而CAN FD通讯性能的测试、兼容性测试等涉及到通讯机制本身,因此这类测试需要用新的CAN FD测试工具。
一个完整的测试需要同时满足以上所有测试条件。因此存在两种测试平台的交互。
解决方法也是采用Router FD可以将同一个待测的CAN FD设备连入不同的测试平台中,最终完成各项测试任务。
关于CAN FD节点的测试,应该主要包括如下测试:
PCAN-Router FD是一个两路的可编程的CAN FD的网关,可以完美的解决4.1—4.4的CAN和CAN FD之间的转换问题。
PCAN-USB FD硬件是一路CAN FD转USB接口的CAN FD接口卡,可以将CAN FD和CAN数据通过USB传输到电脑上;结合软件PCAN-Explorer6,可以做CAN FD通信机制方面的测试;PCAN-Explorer6软件也支持DBC文件,后期还将支持XML文件,可以用于分析CAN FD报文所携带的信号,创建图形面板,生成信号的历史曲线等。
PCAN-Diag FD是一个手持式的CAN/CAN FD诊断仪,具有监控CAN/CAN FD网络通信,测试终端电阻,总线负载,总线电压等功能,也能做为一个小型的示波器使用,特别适用于现场检测和排除总线故障。
PCAN-Rouer Pro FD是1个6路的可编程的CAN FD网关,可以解决CAN和CAN FD之间的转换问题,也可以作为CAN/CAN FD记录仪使用。
本文总结的CAN与CAN FD之间通信的问题,在未来很长一段时间内都会存在。因此,相信我们提出的解决方案,不管是对主机厂还是零部件供应商,应该都很有实用价值。