新闻详情

CAN FD技术总结

CAN FD技术总结

文:富裕龙技术中心

CANFD的发展是由CiA非营利性协会举办的第十三届ICC大会上,博世发布了CAN-FD(灵活数据传输率)协议,因此是基于目前CAN2.0 标准上的改进版,也可以称之为CAN3.0吧。对CAN FD的了解带着问题从以下几个方面谈起。

1.    CAN FD的数据帧格式变化?


从上面图可以看到,CAN FD增加了3个位:EDLExtended Data Length)、BRS Bit Rate Switch)、ESIError State Indicator.针对这3个新增加位的作用下面问题中我们一一详解。

2.    CAN FDCAN的区别?

CAN FD是改进的是传输速率问题,因此与CAN的区别有两个:

1.     可变速率

两种速率的划分,从控制场BRSACK之前(包含CRC分界符)为可变速率,其余部分为原CAN总线定义速率。两种速率各有一套位时间寄存器,采用不同为世界单位TQ,位时间段分配也不同。BRS位的功能就是定义可变速率定义,

隐性:表示转换可变速率。

显性:表示不可转换速率。

2. 数据场的扩充

我们知道CANDLC数据位是4bits,支持的最大数据字节8bytes,显然这些位的最大定义没有完全利用,4bit可以定义15bytes大小,但CAN FD并非采用线性定义方式定义最大15bytes,而是采用非线性定义了最大64bytes。具体见下面数据长度扩充规则。

3.    CAN FD数据长度扩充?

CAN FD采用新的DLC编码方式,在DLC<=8bytes,采用线性规则,12<=DLC<=64bytes,采用非线性编码。如下图


4.    CAN FD CAN的兼容问题?

CAN FD我们姑且为CAN 3.03.0 的可以完全兼容2.0 2.0不能匹配3.0,这从帧结构上就可以看出。所以目前3.0的推广是逐步在部分网络内使用,如需要软件升级的bootloaderECU。有趣的事FD还提出了一个休眠其它节点的策略,就是在需要升级的ECU时,其它不需要升级功能的节点可以进入休眠,减少负载,节省电池电量。

那么3.0是如何在同网络中交换区分是CAN报文还是CAN FD报文那?

EDL位:(Extended Data Length)原CAN数据帧中的保留位r该位功能为:
隐性:表示CAN FD 报文(采用新的DLC编码和CRC算法)
显性:表示CAN报文

5.    CAN FD CRCCAN的差别?

FDCRC不同于CAN的算法,首先从位数上,CAN17位,CANFD21位。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