虹科解决方案——如何快速解决CAN与CAN FD之间通信的问题

1.CAN FD的发展及优势

随着总线技术在汽车电子领域越来越广泛和深入的应用,特别是自动驾驶技术的迅速发展,汽车电子对总线宽度和数据传输速率的要求也越来也高,传统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和 CAN FD帧格式的差异,我们可以知道CAN FD提高通信速率主要是两种方法:一是提高波特率;二是提高有效载荷。


图1.CAN FD提高通信速率的方法

基于背景所述以及提高通信速率方法的说明,我们可以总结出一些CAN FD的优势:

  • 该协议能够支持更高的速率,可以更快的刷写ECU;
  • 在单个数据帧内传送率可达64字节,避免了经常发生的数据分拆传输的状况;
  • 对汽车行业而言,CAN-FD协议显得非常重要,CAN线束和其它物理层面元件可重新再利用;
  • 更高的带宽,在电动车以及今后的动力CAN上应用更有优势
  • 上层应用层架构不需要改变,在原来基础上扩展即可。

2.CAN与CAN FD通信之间存在的问题

因为受制于产品的稳定性考验,改造成本等问题,没法快速全面普及CAN FD。另外,在2012年底提出CAN FD到2015年中成为ISO CAN FD。也就是说目前市场上大部分都还是在用传统的CAN2.0,有一小部分用非ISO标准的CAN FD,一部分用ISO标准的CAN FD。

这样我们就都会遇到这样一个问题:传统CAN与CAN FD共存的网络中,如何解决彼此通讯?具体有哪些问题,我们下面将可能存在的问题分成了四类。

2.1 通讯速率和数据长度不同的问题

这个问题里面,又会分成如下几种情况:

  • 传统CAN节点以1Mbit/s 传输数据到 CAN FD
  • CAN FD设备以8Mbit/s传输数据到传统CAN
  • 传统CAN节点向 CAN FD节点传输8字节的数据
  • CAN FD节点向传统CAN 节点传输64字节的数据

第一种情况和第三种情况是可以直接通过的,因为CAN FD天然向下兼容CAN2.0。

2.2 非ISO CAN FD与ISO 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产品的供应商也没法完全收回或者销毁原有产品,所以这些供应商仍然需要解决这个问题。

2.3 多设备切换的通讯问题

未来的CAN网络,较长时间内都会存在着传统CAN与CAN FD并存的情况。那么在一个共存网络中,就需要解决某几个设备之间交叉通讯的问题,多个切换的问题?以及一个设备需要同时与CAN FD节点和传统CAN节点通讯的切换问题?如图2所示,一个网络中只有EMS与ABS是用CAN FD的,如果是EMS和ABS通信,这个时候只要对CAN FD之间的数据1:1转发即可;但是如果是EMS或者ABS与其他ECU通信,那么这时就需要将CAN FD数据切换为传统CAN再转发。


图2.多设备切换的通讯问题
2.4 测试平台共用的问题

CAN FD节点在进行环境测试、疲劳测试、寿命测试等的情况下,只需要测试设备本身的性能,而与通讯速率/字节数无关,因此,这几类测试可以沿用传统CAN设备的测试平台。而CAN FD通讯性能的测试、兼容性测试等涉及到通讯机制本身,因此这类测试需要用新的CAN FD测试工具。一个完整的测试需要同时满足以上所有测试条件。因此存在两种测试平台的交互。

3.Router FD助您轻松解决CAN和CAN FD的通信问题

针对上述CAN与CAN FD之间通信存在的诸多问题,虹科推出了PCAN-Router FD和PCAN-Router Pro FD这两种适用于CAN和CAN FD的可编程转换器。


图3.如何解决传统CAN和CAN FD之间的通信呢

3.1 PCAN-Router FD

  • PCAN-Router FD具有有两个CAN通道,都支持最新的CAN FD协议,也兼容CAN2.0;
  • 基于ARM Cortex M4F微控制器,PCAN-Router FD模块的功能和2路CAN FD通道之间的数据路由可任意编程;
  • 可以将CAN转换成CAN FD,反之亦然,也可以将一个新的CAN FD的应用集成到现有的CAN2.0网络中。

图3.PCAN-Router FD

3.2 PCAN-Router Pro FD

  • 可以通过6个通道将CAN FD和CAN建立通讯,可插拔的CAN收发模块允许灵活地适应每个CAN通道的不同需求;
  • 配备了一路模拟输入和四路数字I/O,CAN报文可以记录在内部存储或者插入的存储卡上,然后通过USB连接到PC也可以直接导出;
  • 通过使用PCAN-Router Pro FD,可以对测试台和生产工厂的数据流进行管理、监视和控制。从CAN到CAN FD或从CAN到CAN FD的转换可以将新的CAN FD应用程序集成到现有的CAN 2.0网络中。

图4.PCAN-Router Pro FD

此外,PCAN-Router Pro FD除了有路由功能实现CAN与CAN FD之间的通信之外,还可以作为数据记录仪来使用。主要是因为除了我们上述提到的可以编辑的例程外,PCAN-Router Pro FD 的开发包里还附有一个可以立即使用的、用于记录 CAN 数据的固件。CAN 报文可以记录在内部的 eMMC 存储器(存储空间16GByte)或外加的 SD 卡,并且都可以通过 USB来读取。PCAN-Router Pro FD需要用带GCC ARM Embedded的Windows开发包编程来进行配置CAN 六个通道的数据记录功能,并且在配置更新时不会被格式化。

触发记录的方式主要有以下三种:上电触发、手动触发,其中手动触发又分为Log Off Card button(产品外部按钮)和远程报文触发两种,这个报文不能用于通信。记录数据时生成记录的文件是CSV格式的,当然也可以使用虹科免费提供的PEAK-Convter将记录的报文文件转换成ASC等其他格式的文件,并且其与CANoe和VSPY等分析软件是兼容的。