×
嵌入式 > 嵌入式开发 > 详情

CAN FD 总线技术分析

发布时间:2020-06-18 发布时间:
|

最近越来越多工程师关注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发布会天津站的现场图:



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
一只老鸟的嵌入式ARM学习心得