CAN FD技术总结及其与CAN的区别

本文介绍了CANFD,一种基于CAN2.0标准的改进版本,提供更高数据传输速率和更大数据载荷。重点讲解了CANFD的数据帧格式变化、与CAN的主要区别,包括可变速率、数据场扩充以及CRC算法的变化,同时讨论了其与CAN的兼容性和硬件要求。
摘要由CSDN通过智能技术生成

CAN FD是传统CAN总线的演进版本,它在原有技术的基础上提供了更高的数据传输率和更大的数据载荷能力。它的发展是在由CiA非营利性协会举办的第十三届ICC大会上,博世发布了CAN-FD(灵活数据传输率)协议,因此是基于目前CAN2.0 标准上的改进版,也可以称之为CAN3.0吧。对CAN FD的了解带着问题从以下几个方面谈起。

一、CAN FD的数据帧格式变化

从上图可以看到,CAN FD比CAN多了3个位,分别是EDL(Extended Data Length)、BRS(Bit Rate Switch)、ESI(Error State Indicator),关于新增的这三个位的具体作用,将在下文中一一详解。

二、CAN FD与CAN的区别

在文章开头已经提过CAN FD的改进是数据传输速率问题和数据承载能力,因此与CAN的区别有两个:

1、可变速率

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

BRS位的功能就是定义可变速率定义,

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

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

2、数据场的扩充

我们知道CAN的DLC数据位是4个bit,支持的最大数据字节是8个byte,显然这些位的最大定义没有完全利用,4个bit可以定义最大15个byte大小,但是CAN FD并非采用线性定义方式定义最大15个byte,而是采用非线性定义了最大64个byte,CAN FD采用了新的DLC编码方式,在数据字节长度<=8bytes时,采用线性规则,当8<数据字节长度<64bytes时,采用非线性编码,如下图所示。

三、CAN FD与CAN的兼容问题

CAN FD可以完全兼容CAN2.0,CAN2.0不能匹配CAN FD,这从帧结构上就可以看出。那么CAN FD是如何在同网络中交换区分是CAN报文还是CAN FD报文的呢?

EDL位:(Extended Data Length)原CAN数据帧中的保留位r,该位的功能是:

隐性:表示CAN FD报文(采用新的DLC编码和CRC算法)

显性:表示CAN报文

四、CAN FD CRC与CAN的差别

CAN FD的CRC不同于CAN的算法,首先从位数上,CAN是17位,CAN FD是21位,CAN CRC算法是位填充规则(5个连续相同值的位便自动在位流里插入一个补充位)。CAN FD的算法是将填充位纳入到CRC计算中,即CRC以含填充位的位流进行计算,以一个填充位开始并且序列每4位插入一个填充位加以分割,且填充位的值是上一位的反码,作为格式检查,如果填充位不是上一位的反码,就报错处理。

五、其他

尽管CAN FD速率高达8MBit/s,但还是需要像CAN一样区分高低速硬件,且使用不同的收发器;

CAN FD的两个速率之间依赖关系是:可变速率依赖于不变速率大小,且可变速率是不变速率的倍数关系。

  • 13
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值