查看: 4604|回复: 1

干货分享 | CAN-FD总线协议详解

[复制链接]
  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3300

    主题

    6547

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    32028
    最后登录
    2024-4-26
    发表于 2019-8-23 10:25:53 | 显示全部楼层 |阅读模式
    引言

    上篇文章中我们详细介绍了目前汽车电子ECU中使用最为广泛的传统CAN 2.0 A/B总线协议(查看文章详情)。


    但是随着汽车电子的日益发展,尤其是汽车智能化(Autonomy,自动驾驶技术)、电气化(Electrification,零排放、国VI等严格的排放标准、新能源电动车或者氢能源车等) 和互联化 (Connectivity,车联网、V2V,V2X等)的发着趋势,对汽车电子通信总线的带宽提出了更高的要求。


    传统CAN 2.0 A/B总线协议已经很难满足汽车电子的发展需求,因此,一种能够与CAN 2.0 A/B兼容,但通信速率更高,有效载荷更高的CAN总线——CAN-FD总线协议应运而生。
         
    本文就给大家详细介绍一下CAN-FD总线协议,希望对大家有所帮助。
       
    CAN-FD总线协议概述

    由于汽车行业的带宽要求,需要改进CAN数据链路层协议。2011年,博世与汽车制造商和其他CAN专家密切合作,启动了CAN FD (Flexible Data rate,灵活数据速率) 的开发。
    1.png
    改进的CAN-FD总线协议克服了CAN 2.0的限制:可以比1 Mbit/s更快地传输数据 (CAN-FD的数据场传输数据率可高达8MBbit/s),并且每帧CAN报文的有效载荷 (payload数据字段) 不再限于8字节 (CAN-FD的数据场长度最大可支持到64字节)。
          
    CAN-FD和CAN主要的区别有两点:
         
    1、可变速率
          
    CAN-FD采用了两种位速率:从控制场中的BRS位到ACK场之前(含CRC分界符)为可变速率,其余部分为原CAN总线用的速率。两种速率各有一套位时间定义寄存器,它们除了采用不同的位时间单位TQ外,位时间各段的分配比例也可不同。
         
    2、新的数据场长度


    CAN-FD对数据场的长度作了很大的扩充,DLC最大支持64个字节,在DLC小于等于8时与原CAN总线是一样的,大于8时有一个非线性的增长,所以最大的数据场长度可达64字节。
    2.png
    CAN FD协议控制器兼容支持传统CAN 2.0 A/B帧。两种CAN协议 (CAN 2.0和CAN FD) 在ISO 11898-1:2015中都是国际标准化的。具有11位标识符的CAN FD数据帧使用FBFF (FD基本帧格式),具有29位标识符的CAN FD数据帧使用FEFF (FD扩展帧格式)。CAN FD协议不支持远程请求的数据帧。
    3.png
    CAN-FD的仲裁场(Arbitration Field)和控制场(Control Field)

    CAN-FD的仲裁场(Arbitration  Field) 与CAN 2.0 A/B兼容:
          
       IDE(Identifier Extension Flag)-bit: 用于标识使用扩展ID还是标志ID帧;


       RRS(Remote Request Substitution)-bit: 用于控制远程请求订阅;


       SRR(Substitute Remote Request)-bit: 用于控制订阅远程请求。

    这意味着CAN-FD也是可以支持标准ID和扩展ID的,但其没有RTR(Remote Transmission Request)-bit,因此不支持远程帧。



    CAN-FD的控制场(Control Field) 在CAN 2.0 A/B的基础上,扩展了FDF (Flexible Data Format),以标识是否为CAN-FD帧 (FDF=1);并增加了EDL (Extended Data Length)扩展数据长度标识位、BRS(Bit Rate Switch)数据场比特率切换控制位和ESI (Error Status Indicator) 错误状态指示位:
    4.png
    5.png

    CAN-FD为了保持与CAN 2.0的兼容,虽然DLC(Data Length Control)数据长度控制位依然保持为4-bit,但增加了12/16/20/24/32/48/64选项:
    6.png
    CAN-FD的CRC场(CRC  Field)


    CAN FD节点对不同的帧格式使用不同的CRC生成多项式。第一个多项式CRC_15用于CAN格式的所有帧。第二个CRC_17用于CAN FD格式的帧,DATA FIELD最长为16个字节。第三个CRC_21用于CAN FD格式的帧,DATA FIELD长度超过16个字节。每个多项式保证HD = 6的汉明距离。
    7.png
    CAN 2.0 A/B(Classic CAN) vs. CAN-FD传输效率

    为了对CAN-FD相较于传统CAN2.0总线的传输效率有一个比较直观的认识,本小节就以一个实际的应用案例介绍这两种CAN总线的传输效率计算方法和结果对比:
          
    当CAN 2.0A/B工作在高速CAN模式(波特率为500Kbit/s),数据场长度为8Byte(64bit),其传输效率为58%,平均速率0.5Mbit/s。
         

    配置与其兼容的CAN-FD,设置帧头波特率为500Kbit/s,数据场长度为64Byte(512bit),波特率为8Mbit/s,其传输效率高达90%,平均速率为4.5Mbit/s。
    8.png
    不同的数据长度和通信波特率,CAN总线的传输效率有所差异,如下图所示:
    9.png
    CAN-FD与CAN2.0 A/B节点共同组网要求

    根据CAN-FD协议,其与CAN 2.0A/B兼容,即支持CAN-FD的节点也是可以支持发送CAN 2.0 A/B报文帧的;


    因此在同一个CAN总线通信网络中,允许同时存在CAN-FD节点和CAN 2.0 A/B节点:
          
    CAN-FD节点可以接收和发送CAN-FD和CAN 2.0 A/B报文,通过每一帧CAN报文的控制场自动识别。


    CAN 2.0 A/B节点无法发送和接收CAN-FD报文,所以必须使用带有CAN-FD屏蔽(shield)的CAN收发器,才能够保证正常工作,否则会检测到总线错误。


    比如,如下的一个汽车电子CAN网络中,包含了2个CAN-FD ECU节点和2个传统CAN 2.0 ECU节点,为了保证网络正常工作,需要在2个传统CAN 2.0 ECU节点使用CAN-FD屏蔽的收发器:
    140.png
    CAN-FD节点可以正常收发CAN 2.0和CAN-FD报文帧:发送CAN-FD报文帧时,其控制场的FDF=1,标识该帧数据为CAN-FD,同时BRS根据需求设置,从而实现数据场传输数据率的切换:
    11.png
    CAN 2.0节点由于使用了CAN-FD屏蔽的收发器,在CAN-FD节点发送CAN-FD数据报文帧时,会在物理层检测到FDF=1,进而给节点MCU发送6-bit显性位,制造填充错误 (stuff error), 然后产生被动错误标志帧,但是不会影响其他的CAN网络节点正常收发CAN-FD报文帧数据:
    12.png
    CAN-FD屏蔽收发器将在CAN-FD报文帧的ACK场释放与MCU连接的RXD引脚,从而RXD可以正常响应总线:
    13.png
    Tips


    由于之前量产的汽车MCU集成的CAN控制器都不支持CAN-FD,而考虑到成本和技术发展路线,整车的所有CAN ECU节点不可能一下子全部升级到支持CAN-FD,因此,CAN 2.0与CAN-FD节点共存于同一个CAN通信网络的情况在接下来若干年汽车CAN总线网路向CAN-FD升级过程中将是比较常见的。
    总结

    本文详细介绍了最新的CAN-FD总线协议的优势和与CAN 2.0 A/B协议的兼容/差异实现细节--仲裁场(Arbitration  Field)、控制场(Control Field)和增强的CAN-FD的CRC场(CRC  Field),并以一个实际案例分析了CAN2.0A/B(Classic CAN) vs. CAN-FD 传输效率计算和结果比较,最后还介绍了在传统CAN 2.0 网络向CAN-FD升级过程中如何实现CAN-FD与CAN2.0 A/B节点共同组网。



    参考文档


    CAN FD-The basic idea




    作者:NXP    文章出处:NXP客栈



    签到签到
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2 小时前
  • 签到天数: 1479 天

    [LV.10]以坛为家III

    203

    主题

    2万

    帖子

    64

    超级版主

    Rank: 8Rank: 8

    积分
    92623
    最后登录
    2024-4-26
    发表于 2019-8-23 11:22:44 | 显示全部楼层
    CAN FD最大的好处是payload显著增加了
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-26 12:19 , Processed in 0.117651 second(s), 21 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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