一文搞懂CAN FD总线
关注、星标公众号,直达精彩内容
来源:汽车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总线相关推荐
- 一文搞懂CAN FD总线协议帧格式
目录 1.为什么会出现CAN FD? 2.什么是CAN FD? 3.CAN FD和CAN总线协议帧异同 4.解析CAN FD帧结构 4.1.帧起始 4.2.仲裁段 4.3.控制段 4.4.数据段 4. ...
- 一文搞懂I2S通信总线
目录 1.物理特性 2.常见的I2S数据格式 2.1.I2S Philips标准 2.2.左对齐(MSB)标准 2.3.右对齐(LSB)标准 之前我们讲过I2C通信总线,本篇博文将讲一讲I2C的变种: ...
- 一文搞懂如何使用Node.js进行TCP网络通信
摘要: 网络是通信互联的基础,Node.js提供了net.http.dgram等模块,分别用来实现TCP.HTTP.UDP的通信,本文主要对使用Node.js的TCP通信部份进行实践记录. 本文分享自 ...
- 【通信协议】一文搞懂SPI
SPI总线简介 SPI(Serial Peripheral Interface)是 Motorola 公司推出的一种同步串行接口技术,是一种高速的,全双工,同步的通信总线. 接口定义 SPI接口共有4 ...
- 一文搞懂UART通信协议
目录 1.UART简介 2.UART特性 3.UART协议帧 3.1.起始位 3.2.数据位 3.3.奇偶校验位 3.4.停止位 4.UART通信步骤 1.UART简介 UART(Universal ...
- 网络知识扫盲,一文搞懂 DNS
在找工作面试的过程中,面试官非常喜欢考察基础知识,除了数据结构与算法之外,网络知识也是一个非常重要的考察对象. 而网络知识,通常是很抽象,不容易理解的,有很多同学就在这里裁了跟头.为了更好地通过面试, ...
- 【显卡】一文搞懂显卡
[显卡]一文搞懂显卡 文章目录 [显卡]一文搞懂显卡 1. 前言介绍 1.1 CPU和显卡的区别 1.1.1 作用不同 1.1.2 结构不同 1.1.3 应用场景不同 1.2 三个著名的显卡公司 2. ...
- 一文搞懂RNN(循环神经网络)
基础篇|一文搞懂RNN(循环神经网络) https://mp.weixin.qq.com/s/va1gmavl2ZESgnM7biORQg 神经网络基础 神经网络可以当做是能够拟合任意函数的黑盒子,只 ...
- 一文搞懂 Python 的 import 机制
一.前言 希望能够让读者一文搞懂 Python 的 import 机制 1.什么是 import 机制? 通常来讲,在一段 Python 代码中去执行引用另一个模块中的代码,就需要使用 Python ...
最新文章
- 一个游戏客户端文件的字节加解密代码,我花1000元请人解的,存在这,以后应该用得到。...
- java 教室借用管理系统_教师办事指南 | 借用教室
- mysql的原理图解_MySQL排序工作原理
- Gartner预测2017/18年十大物联网技术
- netfilter数据流图 | 转
- aspen吸收塔气液比优化_Aspen吸收塔的设计
- HP数组转JSON函数json_encode和JSON转数组json_decode函数的使用方法
- RPM + yum 完美完装tomcat
- matlab iradon函数详解,如何处理iradon函数所得图像
- 来兄弟连了,你还在用面向过程唱高音歌曲的你就OUT了
- 谷歌金山词霸正式发布--免费午餐越来越多
- preparedstatement mysql 数据_使用PreparedStatement对象操作数据库
- candence与matlab电路仿真,电力电子电路仿真:MATLAB和PSpice应用
- [iOS]手把手教你实现微信小视频
- 点云 ICP学习-IterativeClosestPoint
- 使用python调整图片大小
- R-squared 和 Adjusted R-squared 的区别
- teamview服务器无响应,排查TeamViewer连接不上的2个可能原因及解决策略
- 温度控制器matlab,某温度控制系统的MATLAB仿真.doc
- 市场调研报告-全球与中国熔接器市场现状及未来发展趋势