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

来源:汽车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  ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧

关注我的微信公众号,回复“加群”按规则加入技术交流群。
点击下面图片,有星球具体介绍,新用户有新人优惠券,老用户半价优惠,期待大家一起学习一起进步。
点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。

一文搞懂CAN FD总线相关推荐

  1. 一文搞懂CAN FD总线协议帧格式

    目录 1.为什么会出现CAN FD? 2.什么是CAN FD? 3.CAN FD和CAN总线协议帧异同 4.解析CAN FD帧结构 4.1.帧起始 4.2.仲裁段 4.3.控制段 4.4.数据段 4. ...

  2. 一文搞懂I2S通信总线

    目录 1.物理特性 2.常见的I2S数据格式 2.1.I2S Philips标准 2.2.左对齐(MSB)标准 2.3.右对齐(LSB)标准 之前我们讲过I2C通信总线,本篇博文将讲一讲I2C的变种: ...

  3. 一文搞懂如何使用Node.js进行TCP网络通信

    摘要: 网络是通信互联的基础,Node.js提供了net.http.dgram等模块,分别用来实现TCP.HTTP.UDP的通信,本文主要对使用Node.js的TCP通信部份进行实践记录. 本文分享自 ...

  4. 【通信协议】一文搞懂SPI

    SPI总线简介 SPI(Serial Peripheral Interface)是 Motorola 公司推出的一种同步串行接口技术,是一种高速的,全双工,同步的通信总线. 接口定义 SPI接口共有4 ...

  5. 一文搞懂UART通信协议

    目录 1.UART简介 2.UART特性 3.UART协议帧 3.1.起始位 3.2.数据位 3.3.奇偶校验位 3.4.停止位 4.UART通信步骤 1.UART简介 UART(Universal ...

  6. 网络知识扫盲,一文搞懂 DNS

    在找工作面试的过程中,面试官非常喜欢考察基础知识,除了数据结构与算法之外,网络知识也是一个非常重要的考察对象. 而网络知识,通常是很抽象,不容易理解的,有很多同学就在这里裁了跟头.为了更好地通过面试, ...

  7. 【显卡】一文搞懂显卡

    [显卡]一文搞懂显卡 文章目录 [显卡]一文搞懂显卡 1. 前言介绍 1.1 CPU和显卡的区别 1.1.1 作用不同 1.1.2 结构不同 1.1.3 应用场景不同 1.2 三个著名的显卡公司 2. ...

  8. 一文搞懂RNN(循环神经网络)

    基础篇|一文搞懂RNN(循环神经网络) https://mp.weixin.qq.com/s/va1gmavl2ZESgnM7biORQg 神经网络基础 神经网络可以当做是能够拟合任意函数的黑盒子,只 ...

  9. 一文搞懂 Python 的 import 机制

    一.前言 希望能够让读者一文搞懂 Python 的 import 机制 1.什么是 import 机制? 通常来讲,在一段 Python 代码中去执行引用另一个模块中的代码,就需要使用 Python ...

最新文章

  1. 一个游戏客户端文件的字节加解密代码,我花1000元请人解的,存在这,以后应该用得到。...
  2. java 教室借用管理系统_教师办事指南 | 借用教室
  3. mysql的原理图解_MySQL排序工作原理
  4. Gartner预测2017/18年十大物联网技术
  5. netfilter数据流图 | 转
  6. aspen吸收塔气液比优化_Aspen吸收塔的设计
  7. HP数组转JSON函数json_encode和JSON转数组json_decode函数的使用方法
  8. RPM + yum 完美完装tomcat
  9. matlab iradon函数详解,如何处理iradon函数所得图像
  10. 来兄弟连了,你还在用面向过程唱高音歌曲的你就OUT了
  11. 谷歌金山词霸正式发布--免费午餐越来越多
  12. preparedstatement mysql 数据_使用PreparedStatement对象操作数据库
  13. candence与matlab电路仿真,电力电子电路仿真:MATLAB和PSpice应用
  14. [iOS]手把手教你实现微信小视频
  15. 点云 ICP学习-IterativeClosestPoint
  16. 使用python调整图片大小
  17. R-squared 和 Adjusted R-squared 的区别
  18. teamview服务器无响应,排查TeamViewer连接不上的2个可能原因及解决策略
  19. 温度控制器matlab,某温度控制系统的MATLAB仿真.doc
  20. 市场调研报告-全球与中国熔接器市场现状及未来发展趋势

热门文章

  1. 阻止创建“迅雷下载“目录
  2. 高端数据中心交换机散热系统大比拼
  3. 中国最火最流行的40个博客网站
  4. VMware ESXI上开虚机玩KVM
  5. 新手小白如何画中世纪骑士铠甲?有什么需要注意?
  6. js面向数据编程(DOP)一点分享(转载)
  7. 军团要塞2正版服务器,Team Fortress 2
  8. JDBC第四篇【数据库连接池、DbUtils框架、分页】(修订版)
  9. emacs 常用命令与配置
  10. include指令包含网站banner和版权信息栏