找回密码
 注册
关于网站域名变更的通知
查看: 541|回复: 1
打印 上一主题 下一主题

CAN FD协议及其与CAN2.0的异同-

[复制链接]
  • TA的每日心情
    开心
    2022-12-9 15:13
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    跳转到指定楼层
    1#
    发表于 2022-11-21 16:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    本帖最后由 Heaven_1 于 2022-11-23 14:35 编辑 1 \5 |' o2 u: Y) o4 P% E3 V( O# s
    ( z! `$ w/ W3 ?: u5 c6 s1 c0 G
    1. CANFD的来历
    我们知道了, CAN2.0数据段只有8byte,最高速率为 1Mbit/s,通常使用的是 500k,随着功能的逐渐增多,各 ECU 之间的信息交互也越多,导致总线负载持续走高;CAN 报文中只有约 40~50%的带宽用于实际数据传输;响应机制受车内布线的物理特性限制,例如 CAN 控制器中的 ACK 生成延迟;收发器传播延迟;导线延迟等,然而随着汽车功能越来越多,CAN总线的局限性也逐渐暴露:
    为了解决上诉CAN总线的局限性,对其进行升级时必不可少的,从而有了CAN FD,其全称为CAN with Flexible Data rate。2011年,开始CAN FD协议的开发,2015年ISO11898-1进行了修订,将CAN FD加入其中。
    CAN与CAN-FD性能对比:

    & Q3 G% B' }* o$ p' z6 |& \7 U$ v
    2. CANFD与CAN的协议异同
    在完全理解了CAN协议后,我们只需要对比CANFD与其的不同就可以比较简单的熟悉CANFD协议,那相对于CAN,CAN FD有什么不同呢?

    7 k+ s9 L# G& V( D* H$ r, l! J9 b/ }  T- [4 X* g
    (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。
    3. CANFD帧结构解析
    CAN FD节点可以正常收发CAN报文,但CAN节点不能正确收发CAN FD报文,因为其帧格式不一致。
    CAN FD的帧结构是什么呢?
    与CAN一样,CAN FD一共具有,帧起始SOF,仲裁段,控制段,数据域,CRC域,ACK域,帧结束,共七个部分组成。
    & j; b8 A0 z, w! J, a) X8 q
      k; {' Z* o" v5 D
    3.1 帧起始
    CAN与CANFD使用相同的SOF标志位来标志报文的起始。帧起始由1个显性位构成,标志着报文的开始,并在总线上起着同步作用。
    9 C6 S- N7 x+ u, h0 V

    # Y9 z' ~9 M3 x  ]5 U0 p$ V; B2 |
    3.2.仲裁域
    与CAN不同,CAN FD取消了对远程帧的支持,用RRS位替换了RTR位,为常显性。IDE用于区分标准帧和扩展帧。
    6 ~; O2 v/ _) \3 b

    % F1 t  H2 p' n$ F6 E  ]2 O9 {
    3.3 控制域
    CANFD与CAN有着相同的IDE,res,DLC位。同时增加了FDF、BRS、ESI三个bit位。FDF为隐性时,表示为CAN FD报文;
    BRS为为速率转换开发,当其隐性时,速率可变,当其显性时,以正常的CAN-FD总线速率传输(恒定速率);
    ESI用于表示错误状态,主动错误发送显性位,被动错误发送隐性位。
      H9 s: v. s! v: b  @  w
    / o$ ]" o* E( |) m
    3.4 数据域
    CAN FD兼容CAN的数据格式,同时最大还能支持12, 16, 20, 24, 32, 48, 64byte。

    + |- p' w+ c0 E1 I5 K$ }0 B5 ~7 |) a* W1 \, m+ B2 ^, }
    3.5 CRC
    CAN FD对CRC算法进行了改进,CRC对填充位也加入了计算。在校验和部分为避免有连续位超过6个,就确定在第一位以及以后每4位添加一个填充位加以分割,这个填充位的值是上一位的反码,作为格式检查,如果填充位不是上一位的反码,就作出错处理。CAN FD的CRC场扩展到了21位。

    ; Q7 B/ w9 Y5 q- }" ?( I+ R) T9 q: K$ u
    3.6 ACK
    ACK紧跟着CRC结束标识位。不同的是,CAN FD支持2bits的ACK的识别。
    . I/ i. e7 l+ q7 z

    / Z4 x) p- Y7 o0 Y, m9 N+ U7 P
    3.7 帧结尾
    与CAN一样,CAN FD的帧结尾也为连续7位的隐性位。

    3 o( P( m5 e4 ^2 g' l: ~

    该用户从未签到

    2#
    发表于 2022-11-21 17:32 | 只看该作者
    速率会更加快吧。9 S) G! e7 b9 F7 E% e0 G3 E* I0 j- |
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-5 12:40 , Processed in 0.156250 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表