一文搞懂CAN FD总线

李肖遥

共 1658字,需浏览 4分钟

 ·

2022-03-10 17:53


    关注、星标公众号,直达精彩内容

来源:汽车ECU开发、汽车电子与软件



有了CAN,为什么还要CAN FD呢?

随着汽车功能越来越多,CAN总线的局限性也逐渐暴露:

1、CAN总线最高速率为1Mbit/s,通常使用的是500k,随着功能的逐渐增多,各ECU之间的信息交互也越多,导致总线负载持续走高;

2、CAN报文中只有约40~50%的带宽用于实际数据传输;

3、响应机制受车内布线的物理特性限制,例如CAN控制器中的ACK生成延迟;收发器传播延迟;导线延迟等。

为了解决上诉CAN总线的局限性,对其进行升级时必不可少的,从而有了CAN FD,其全称为CAN with Flexible Data rate

2011年,开始CAN FD协议的开发,2015年ISO11898-1进行了修订,将CAN FD加入其中。

相对于CAN,CAN FD有什么不同呢?

1、传输速率不同。CAN FD的速率可变,从控制场中的BRS位到ACK场之前(含CRC分界符)为可变速率,最高速率可达到8Mbps(下图的蓝色部分)。其他部分与CAN相同。

2、数据长度不同。CAN FD支持的最大数据长度为64byte。

3、帧格式不同。CanFD新增了FDF、BRS、ESI位:
    FDF:表示CAN报文还是CAN-FD报文;

    BRS:表示位速率转换,该位隐性时,速率可变(即BSR到CRC使用转换速率传        输),该位为显性时,以正常的CAN-FD总线速率传输(恒定速率);
    ESI:表示发送节点状态。

4、ID长度不同。CAN FD标准帧ID长度可扩展至12bit,CAN的标准帧ID为11bit。

CAN FD与CAN的兼容性咋样?

CAN FD节点可以正常收发CAN报文,但CAN节点不能正确收发CAN FD报文,因为其帧格式不一致。


CAN FD的帧结构是什么呢?

与CAN一样,CAN FD一共具有,帧起始SOF,仲裁段,控制段,数据域,CRC域,ACK域,帧结束,共七个部分组成。

帧起始

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

仲裁域

与CAN不同,CAN FD取消了对远程帧的支持,用RRS位替换了RTR位,为常显性。IDE用于区分标准帧和扩展帧。

控制域

CANFD与CAN有着相同的IDE,res,DLC位。同时增加了FDF、BRS、ESI三个bit位。FDF为隐性时,表示为CAN FD报文;

BRS为为速率转换开发,当其隐性时,速率可变,当其显性时,以正常的CAN-FD总线速率传输(恒定速率);

ESI用于表示错误状态,主动错误发送显性位,被动错误发送隐性位。

数据域

CAN FD兼容CAN的数据格式,同时最大还能支持12, 16, 20, 24, 32, 48, 64byte。

CRC

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

ACK

ACK紧跟着CRC结束标识位。不同的是,CAN FD支持2bits的ACK的识别。

帧结尾

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

‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧  END  ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧

关注我的微信公众号,回复“加群”按规则加入技术交流群。

点击下面图片,有星球具体介绍,新用户有新人优惠券,老用户半价优惠,期待大家一起学习一起进步。


点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。

浏览 118
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报