CAN FD总线

1、CAN FD是什么

CAN FD,全称为CAN with Flexible Data rate。继承了CAN的主要特性,弥补了CAN的数据长度和带宽的限制。可简单认为CAN FD就是CAN的升级版。

传统的CAN总线缺点:

  1. CAN 总线最高速率为 1Mbit/s,实际使用中通常只有是 500k,随着功能的逐渐增多,各 ECU 之间的信息交互也越多,导致总线负载持续增加;
  2. CAN 报文中只有约 40~50%的带宽用于实际数据传输;
  3. 最大总线速度受到响应机制的限制,例如 CAN 控制器中的 ACK生成延迟;收发器传播延迟;导线延迟等。

CAN FD的特点:

  1. 传输速率是可变的。从控制场中的BRS位到ACK场之前(含CRC分界符)为可变速率,最高速率可达到8Mbps。其他部分与CAN相同,在无填充情况下,传输效率最大为89.5%。
  2. 数据长度不同。CAN FD支持的最大数据长度为64byte。这里的DLC有个特殊的约定,当DLC小于或等于8的时候,DLC和数据长度一致当DLC大于8的时候,DLC=9——12字节,DLC=10——16字节,DLC=11——20字节,DLC=12——24字节,DLC=13——32字节,DLC=14——48字节,DLC=15——64字节。如果数据长度为10字节,那就要选择最近10字节并且大于它的DLC=9,并且在最后填充2个字节凑够12字节。
  3. 帧格式不同。CanFD新增了FDF、BRS、ESI位。

2、CAN FD帧结构

CAN FD数据帧结构与CAN一样,一共有:帧起始SOF,仲裁段,控制段,数据段,CRC段,ACK段,帧结束,共7个部分。

2.1.1 帧起始

CAN FD与CAN使用相同的SOF标志位来标志报文的起始。帧起始由1个显性位构成,标志着报文的开始,并在总线上起着同步的作用。

2.1.2 仲裁段

与传统CAN相比,CAN FD取消了远程帧,用RRS位替换了RTR位,为常显性。IDE位仍为标准帧和扩展帧标志位,若标准帧与扩展帧具有相同的前 11 位 ID,那么标准帧将会由于 IDE 位为 0,优先获得总线。

RTR(Remote Transmission Request Bit):远程发送请求位,RTR位在数据帧里必须是显性,而在远程帧里为隐性。
RRS(Remote Request Substitution):远程请求替换位,即传统CAN中的RTR位,CAN FD中为常显性。

2.1.3 控制段

控制段中CANFD与CAN有着相同的IDE,res,DLC位。同时增加了三个控制bit位,FDF、BRS、ESI。

FDF(Flexible Data Rate Format):原CAN数据帧中的保留位r。FDF常为隐性,表示CAN FD 报文。

BRS(Bit Rate Switch):位速率转换开关,当BRS为显性位时数据段的位速率与仲裁段的位速率一致,当BRS为隐性位时数据段的位速率高于仲裁段的位速率。

ESI(Error State Indicator):错误状态指示,主动错误时发送显性位,被动错误时发送隐性位。

DLC同样是4bit表示数据段的长度,对应的关系如下:

2.1.4 数据段

CAN FD不仅能支持传统的0-8字节报文,同时最大还能支持12, 16, 20, 24, 32, 48, 64字节。变速度变的就是这一段。

2.1.5 CRC段

为了避免位填充对CRC的影响,CAN FD在CRC场中增加了stuff count记录填充位的个数对应8的模,并用格雷码表示,还增加了奇偶校验位。FSB(fixed stuff-bit)固定为前一位的补码。

Stuff Count由以下两个元素组成:

格雷码计算:CRC区域之前的填充位数除以8,得到的余数(Stuff bit count modulo 8)进行格雷码计算得到的值(Bit0-2)
奇偶校验(parity):通过格雷码计算后的值的奇偶校验(偶校验)

CAN FD对CRC算法进行了改进,CRC对填充位也加入了计算。在校验和部分为避免有连续位超过6个,就确定在第一位以及以后每4位添加一个填充位加以分割,这个填充位的值是上一位的反码,作为格式检查,如果填充位不是上一位的反码,就作出错处理。

CAN的CRC的位数是15位,而在CAN FD中,CRC场扩展到了21位,如下:

当传输数据为0~8字节或更少时:CRC 15位
当传输数据为9~16字节或更少时:CRC 17位
当传输数据超过17~64个字节时:CRC 21位

2.1.6 ACK段

与CAN相比,在CAN FD中最多可接受2个位时间有效的ACK,允许1个额外的位时间来补偿收发器相移和传播延迟)

由从高速的数据场到慢速的仲裁场时,时钟切换会引起收发器相移和总线传播延迟。为了补偿其相移和延迟,相比传统的CAN,在CAN FD中多加了这额外的1位时间。
在ACK之后,发送ACK界定符。这是一个表示ACK结束的分隔符,为是1位隐性位。

2.1.7 帧结束

与CAN一样,CAN FD的帧结尾也为连续7位的隐性位。

3、工具配置

在canoe里面只需要将Hardware里的can setup改成CAN FD,仲裁段还是500K,数据段改成对应的波特率,譬如2000K(2M)就行。

解析CANFD最好用arxml,用DBC解析的话可能会有长度问题。

CAN 总线总线自 19 世纪 80 年代诞生以来,在汽车、工业控制等行得到了广泛使用。但随 年代诞生以来,在汽车、工业控制等行得到了广泛使用。但随 年代诞生以来,在汽车、工业控制等行得到了广泛使用。但随 年代诞生以来,在汽车、工业控制等行得到了广泛使用。但随 年代诞生以来,在汽车、工业控制等行得到了广泛使用。但随 年代诞生以来,在汽车、工业控制等行得到了广泛使用。但随 年代诞生以来,在汽车、工业控制等行得到了广泛使用。但随 年代诞生以来,在汽车、工业控制等行得到了广泛使用。但随 年代诞生以来,在汽车、工业控制等行得到了广泛使用。但随 年代诞生以来,在汽车、工业控制等行得到了广泛使用。但随 年代诞生以来,在汽车、工业控制等行得到了广泛使用。但随 年代诞生以来,在汽车、工业控制等行得到了广泛使用。但随 年代诞生以来,在汽车、工业控制等行得到了广泛使用。但随 年代诞生以来,在汽车、工业控制等行得到了广泛使用。但随 年代诞生以来,在汽车、工业控制等行得到了广泛使用。但随 年代诞生以来,在汽车、工业控制等行得到了广泛使用。但随 着汽车电子、工业自动化的 蓬勃发展,总线上设备数量据都大增加而传统着汽车电子、工业自动化的 蓬勃发展,总线上设备数量据都大增加而传统着汽车电子、工业自动化的 蓬勃发展,总线上设备数量据都大增加而传统着汽车电子、工业自动化的 蓬勃发展,总线上设备数量据都大增加而传统着汽车电子、工业自动化的 蓬勃发展,总线上设备数量据都大增加而传统着汽车电子、工业自动化的 蓬勃发展,总线上设备数量据都大增加而传统着汽车电子、工业自动化的 蓬勃发展,总线上设备数量据都大增加而传统CAN 只能支持最高 只能支持最高 只能支持最高 只能支持最高 1M bit/s bit/s传输速率 传输速率 ,这就给 ,这就给 ,这就给 CAN CAN通信带 来的极大挑战。为满足更高通信带 来的极大挑战。为满足更高通信带 来的极大挑战。为满足更高通信带 来的极大挑战。为满足更高通信带 来的极大挑战。为满足更高通信带 来的极大挑战。为满足更高通信带 来的极大挑战。为满足更高通信带 来的极大挑战。为满足更高通信带 来的极大挑战。为满足更高通信带 来的极大挑战。为满足更高宽及数据吞吐量, 宽及数据吞吐量, 宽及数据吞吐量, 宽及数据吞吐量, CAN FD CAN FD CAN FD应运而生。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不吃鱼的羊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值