如何实现 CAN 与 CANFD 的总线桥接?

时间:2019-12-12 15:00来源:ZLG立功科技·致远电子

摘要:CANFD节点如何与经典CAN总线正常通信呢?本文为您介绍CANFD与经典CAN快速融合的思路与方法。

一、CANFD的来源
随着汽车电子行业的快速发展,越来越多的安全辅助ECU、影音娱乐ECU加入到车身总线中,这就对CAN总线数据传送速率提出了更高的要求。基于市场需求,更高传输速率,更多数据载荷的CANFD应运而生。


相比于经典CAN,CANFD有两个显著特点:

一是可变速率,CAN FD的传输速率分为两个频段,从BRS位开始到CRC校验之前这一段是可变速率段,这一段的波特率可以进行加速,理论最高可达到5Mbit/s,而其他位置则和CAN2.0一样,最高速率可达到1Mbit/s;

二是数据场长度增加,CAN FD对数据场的长度做了扩充,从CAN的8字节增加到CAN FD的64字节。

 
图1 CANFD的提速与扩容
 
二、兼容性问题
从经典CAN升级到CANFD需要更换哪些硬件呢?硬件更换包括两部分:其一,CAN收发器,通信速率需要从满足1Mbit/s提升到满足5Mbit/s;其二,CAN控制器,链路层协议需完全按照CANFD设计,对于CAN控制包含在微控制器内的节点,则需要更换MCU。


图2 CAN与CANFD的链路层对比
 
虽然CANFD设计时考虑到向下兼容,但链路层的根本改变使我们不得不面临以下问题:经典CAN节点发送的CAN帧能被CANFD节点识别,但CANFD节点发送的CANFD帧不能被经典CAN节点识别,甚至被经典CAN判定为错误帧导致总线严重错误。

三、 解决思路
解决CANFD与经典CAN兼容性的方法有两种,一是将所有经典CAN节点全部升级为CANFD,二是在经典CAN网络与CANFD网络间加入合适的桥接器。显然,设备的更新换代不能一蹴而就,方法一必然带来成本激增,因此方法二将是短期内最优解决方案。

CANFD网桥的设计思路是当接收到CAN FD报文时采用直转、合并、拆分三种方式实现传统CAN的8字节长度和CAN FD的64字节长度的互相转换,无损还原原有数据。


图3 CANFD桥接方法
 
四、 CANFD网桥
CANFDBridge 作为 CAN(FD)智能网桥,支持ISO标准CANFD与Bosch CANFD标准,支持 CAN 转 CAN、CAN 转CANFD、CANFD转 CAN、CANFD转CANFD 等报文默认转换处理。除此之外,还提供帧映射、合并和拆分等特殊转换处理。用户可自由设定 CAN(FD)报文的转发映射、组包拆包等规则,满足自身应用需求。


图4 工业级CANFD网桥CANFDBridge
 
1、每通道独立的控制器类型设置、CANFD标准设置
每个通道都支持设置控制器类型,如图5所示。当选择类型为 CAN 时,只能收发 CAN报文。用户可将接到 CAN 总线的端口控制器类型设置为 CAN,可防止 CANFD 报文转发到CAN 总线。当选择类型为 CANFD 时, CAN 报文和 CANFD 报文都可以收发。
 
图5 控制器类型
 
每个通道支持设置 CANFD 协议标准,如图6所示。支持 ISO 标准和 Non-ISO 标准。

图6 CANFD协议
 
2、帧类型高级设置
可设置 CAN转CANFD或CAN、CANFD转CANFD或CAN,当在 CAN→CAN、 CANFD→CANFD 时不改变帧数据。当使用勾选“填充”功能后,CAN 报文数据长度等于 8 字节时,会用填充数据将 CANFD报文填充至设置的 CANFD 报文数据长度,当 CAN 帧数据长度为 0~7 时填充无效, 转换后的 CANFD 帧数据长度与 CAN 帧数据长度一样;


图7 转换设置
 
3、数据合并
合并功能用于将多个 CAN 报文合并后转换为 CANFD 报文。设置如图8所示, 此设置使 CAN0 将 ID 为 0x01、 0x02、 0x03 的三个数据长度为8 的标准 CAN 帧合并成 ID 为 0x123,数据长度为 24 的 CANFD 标准帧。


图8 经典CAN数据合并CANFD
 
4、数据拆分
拆分功能用于将 CANFD 报文拆分成多个 CAN 报文发送,设备最多支持设置 64 条拆分规则, 每条规则指定待拆分 CANFD 的帧 ID、帧类型及帧长度。如图9所示设置,此设置将 ID 为 0xF1,长度为 64 字节的 CANFD 标准帧拆分为 8个数据长度为 8 字节的 CAN 标准帧, ID 分别为 0x00~0x07。


图9 CANFD拆分为经典CAN帧
 
5、可靠性保证
为保证数据帧转换的可靠性,CANFDBridge提供失败回送设置。设置使能后 CANFDBridge 转发失败时,会发送指定帧来告知发送方转发失败。示意图如图10所示。


图10 失败回送机制
 
CAN与CANFD的桥接依靠CANFDBridge灵活的配置实现,更多应用细节请参阅相关产品手册。
我要投稿
近期活动
帖子推荐更多

Copyright 2008-2020 21dianyuan.com All Rights Reserved 备案许可证号为:津ICP备10002348