继上一次简要介绍CAN FD的技术发布,已经有一年的时间了。在这一年的时间中,越来越多工程师关注CAN FD,同时也会向我们反馈CAN FD的产品应用信息。个人觉得对于CAN FD的发布,对于中国的工程师或者是中国对CAN技术的应用将会迎来新的契机。试想,国外累计了20多年的CAN技术呈现出来的新技术-CAN FD,在它诞生没多久就可以见证和陪伴它的“成长”,对于技术工程师来说是多么美妙的事情。
刚好上个月参加CiA在天津的CAN FD技术发布会,期间有幸担当CiA 主席的Holger的现场翻译,让我也收获良多。当第一次接触CAN FD,现场很多人都会有疑问,CAN FD与CAN有哪些不同呢?CAN FD能否与当前的CAN 兼容?目前CAN FD的应用情况怎么样?等等一系列相关的问题就像打开话匣子一样迸发出来。当然,CiA 主席Holger一一进行解答。接下来我也会重点介绍CAN FD与CAN的不同之处,同时也作了哪些升级。
一、CAN FD采用了两种位速率
CAN FD全称为CAN with Flexible Data-rate,即是带灵活可变的数据波特率,在数据段中可以实现高达理论15Mbit/s的通信波特率,从控制场中的BRS位到ACK场之前(含CRC分界符)为可变速率,其余部分为原CAN总线用的速率。
二、CAN-FD的数据帧增加至64个字节有效数据
如下图可见,较之CAN基本数据格式,CAN-FD的数据位长度已经突破最大8个字节的数据,达到最高64个字节的有效数据。
三、帧结构的变化:
其中CAN FD 数据帧在控制场新添加EDL位、BRS位、ESI位,采用了新的DLC编码方式、新的CRC算法(CRC场可能扩展到17,21,26位)。
3.1 控制场添加EDL位、BRS位、ESI位
EDL位:(Extended Data Length)原CAN数据帧中的保留位r, 该位功能为:
-
隐性: 表示CAN FD 报文 (采用新的DLC编码和CRC算法)
-
显性: 表示CAN报文
BRS位:( Bit Rate Switch)该位功能为:
ESI(Error State Indicator),该位的功能为:
-
隐性:表示发送节点处于被动错误状态(Error Passive)
-
显性:表示发送节点处于主动错误状态(Error Active
3.2 新的DLC编码方式
对比ISO 11898-1的编码方式是线性编码方式,CAN-FD新的DLC编码方式是以阶梯式的向上增加,而非逐一向上的非线性编码。
3.3 更长的数据位
当然少不了数据域高达64个字节的数据长度:
3.4 新的CRC算法
确定在第一位以及以后每4位添加一个填充位加以分割,这个填充位的值是上一位的反码,作为格式检查,如果填充位不是上一位的反码,就作出错处理。
CAN FD的CRC场扩展到了16位以上,可扩展到17,21位。。由于数据场长度有很大变化区间,所以要根据DLC大小应用不同的CRC生成多项式。
综上说了那么多理论上的变化,看起来还是不够具体,那么就来一个CAN标准帧与CAN FD帧的波特对比图:
有关CAN FD与CAN 的兼容问题,Holger提到目前有三种方式来应付同一个平台中两者的兼容问题,
1.同一个平台采用CAN FD和CAN两种硬件通道,
2.同一个平台保持CAN处理器不变,改变CAN收发器,
3.在使用CAN FD通信时,让CAN节点进入休眠状态。
当然还有其他方式可以实现,大家也可以讨论,有关CAN-FD的技术问题,您也可以向CiA主席进行提问,相信他也会给您一个权威的回复。如果需要的话
Holger提到以后CAN的发展,相信CAN FD终将会替代CAN。有关CAN FD的硬件,目前逐步有一些公司推出相应的产品,据我所知德国PEAK已经推出PC CAN FD接口PCAN-USB FD,目前也有很多工程师关注这个产品的应用。下面补个CAN FD发布会天津站的现场图:
You CAN do it For your Dream.
-----虹科技术支持Colin编
用户377235 2015-10-25 21:16
zwczhang_536352693 2015-5-18 13:28
用户377235 2015-5-8 22:53
用户377235 2015-5-6 14:03
用户377235 2015-5-5 16:43
用户1638297 2015-5-5 16:43
用户377235 2015-5-5 16:41
用户377235 2015-5-5 16:41
用户1779329 2015-5-5 16:39
用户1638297 2015-5-5 16:38