CAN FD技术总结CAN FD技术总结 文:富裕龙技术中心 CANFD的发展是由CiA非营利性协会举办的第十三届ICC大会上,博世发布了CAN-FD(灵活数据传输率)协议,因此是基于目前CAN2.0 标准上的改进版,也可以称之为CAN3.0吧。对CAN FD的了解带着问题从以下几个方面谈起。
1. CAN FD的数据帧格式变化? 从上面图可以看到,CAN FD增加了3个位:EDL(Extended Data Length)、BRS( Bit Rate Switch)、ESI(Error State Indicator).针对这3个新增加位的作用下面问题中我们一一详解。
2. CAN FD与CAN的区别? CAN FD是改进的是传输速率问题,因此与CAN的区别有两个: 1. 可变速率 两种速率的划分,从控制场BRS到ACK之前(包含CRC分界符)为可变速率,其余部分为原CAN总线定义速率。两种速率各有一套位时间寄存器,采用不同为世界单位TQ,位时间段分配也不同。BRS位的功能就是定义可变速率定义, 隐性:表示转换可变速率。 显性:表示不可转换速率。
2. 数据场的扩充 我们知道CAN的DLC数据位是4个bits,支持的最大数据字节8bytes,显然这些位的最大定义没有完全利用,4个bit可以定义15个bytes大小,但CAN FD并非采用线性定义方式定义最大15个bytes,而是采用非线性定义了最大64bytes。具体见下面数据长度扩充规则。
3. CAN FD数据长度扩充? CAN FD采用新的DLC编码方式,在DLC<=8bytes,采用线性规则,12<=DLC<=64bytes,采用非线性编码。如下图 4. CAN FD 与CAN的兼容问题? CAN FD我们姑且为CAN 3.0。3.0 的可以完全兼容2.0 ,2.0不能匹配3.0,这从帧结构上就可以看出。所以目前3.0的推广是逐步在部分网络内使用,如需要软件升级的bootloader的ECU。有趣的事FD还提出了一个休眠其它节点的策略,就是在需要升级的ECU时,其它不需要升级功能的节点可以进入休眠,减少负载,节省电池电量。 那么3.0是如何在同网络中交换区分是CAN报文还是CAN FD报文那? EDL位:(Extended Data Length)原CAN数据帧中的保留位r,该位功能为:
5. CAN FD CRC与CAN的差别? FD的CRC不同于CAN的算法,首先从位数上,CAN是17位,CANFD是21位。CAN CRC算法是位填充规则(5 个连续相同值的位便自动在位流里插入一补充位)。CAN FD 算法是将填充位纳入到CRC计算中,即CRC以含填充位的位流进行计算,以一个填充位开始并且序列每4位插入一个填充位加以分割,且填充位的值是上一位的反码。作为格式检查,如果填充位不是上一位的反码,就报错处理。
6. CAN FD 速率高达8MBit/s,是否还需要向CAN一样区分高低速?使用不同的收发器? CAN FD还是需要区分高低速硬件,且使用不同的收发器。 CANFD控制器、收发器还没有正式在市面上问世,不过NXP已经有实验中的样片发布,控制器SJA1145,收发器TJA1145.
7. CAN FD 的可变速率相互依赖关系? CANFD的两个速率关系是,可变速率依赖于不变速率大小,可变速率是不变速率的倍数关系。
更多信息请关注: 深圳市富裕龙电子有限公司网站 www.fyl-tech.com 欢迎加入技术讨论QQ群:98397061 |