CAN FD总线技术是什么?与CAN总线技术有何不同之处

描述

最近越来越多工程师关注CAN FD,同时也会向虹科反馈CAN FD的产品应用信息。觉得对于CAN FD的发布,对于中国的工程师或者是中国对CAN技术的应用将会迎来新的契机。试想,国外累计了20多年的CAN技术呈现出来的新技术-CAN FD,在它诞生没多久就可以见证和陪伴它的“成长”,对于技术工程师来说是多么美妙的事情。

当第一次接触CAN FD,现场很多人都会有疑问,CAN FD与CAN有哪些不同呢?CAN FD能否与当前的CAN 兼容?目前CAN FD的应用情况怎么样?等等一系列相关的问题就像打开话匣子一样迸发出来。接下来重点介绍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节点进入休眠状态。

责任编辑:gt


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分