CANFD与CAN协议区别--简单易懂协议详解

原创 汽车ECU开发 2022-01-24 08:43
1、概述
CAN-FD:可以理解成CAN协议的升级版,只升级了协议,物理层未改变。
CAN与CAN-FD主要区别:传输速率不同、数据长度不同、帧格式不同、ID长度不同。
2、传输速率不同
CAN:最大传输速率1Mbps。
CAN-FD:速率可变,仲裁比特率最高1Mbps(与CAN相同),数据比特率最高8Mbps,CAN-FD的传输格式如下图所示。
3、数据长度不同
CAN:一帧数据最长8字节
CAN-FD:一帧数据最长64字节。
4、帧格式不同
CAN-FD新增了FDF、BRS、ESI位。
FDF:表示CAN报文还是CAN-FD报文。
BRS:表示位速率转换,该位隐性时,速率可变(即BSR到CRC使用转换速率传输),该位为显性时,以正常的CAN-FD总线速率传输(恒定速率)。CAN FD采用了两种位速率:从控制场中的BRS位到ACK场之前(含CRC分界符)为可变速率,其余部分为原CAN总线用的速率,即仲裁段和数据控制段使用标准的通信波特率,而数据传输段时就会切换到更高的通信波特率,数据传输速率可大于。两种速率各有一套位时间定义寄存器,它们除了采用不同的位时间单位TQ外,位时间各段的分配比例也可不同。
ESI:表示发送节点状态。
5、ID长度不同
CAN标准帧ID长度最长11bit。
CAN-FD标准帧ID长度可扩展到12bit。
6、CRC-stuff count
CAN FD还在安全性上有了提高。为了避免位填充对CRC的影响,CAN FD在CRC场中增加了stuff count记录填充位的个数对应8的模,并用Grey Code表示(图48),还增加了奇偶校验位。FSB(fixed stuff-bit)固定为前一位的补码。
Stuff Count由以下两个元素组成:
格雷码计算:CRC区域之前的填充位数除以8,得到的余数(Stuff bit count modulo 8)进行格雷码计算得到的值(Bit0-2)
奇偶校验:通过格雷码计算后的值的奇偶校验(偶校验)
7、CRC
随着数据场的扩大,为了保证信息发送的质量,CAN FD的CRC计算不仅要包括数据段的位,还包括来自SOF的Stuff Count和填充位。通过比较CRC的计算结果,可以判断接收节点是否能够正常接收。
在CAN中,CRC的位数是15位,而在CAN FD中,CRC场扩展到了21位,详见以下:
Ø 当传输数据为16字节或更少时:CRC 17位
Ø 当传输数据超过16个字节时:CRC 21位
8、位填充法
与CAN一样,填充位插入到SOF和数据场的末尾之间。插入的填充位数值是经过格雷码计算转换后的值,并且用奇偶校验位保护(Stuff Count)。
在CRC校验场中,填充位被放置在固定的位位置,这称为固定填充位(Fixed Stuff Bit FSB)。固定填充位的值是上一位的反码。
Ø CRC校验场的第一位
Ø 每间隔4位添加一个固定填充位
9、波形实例
本实例使用 Kingst LA5016 usb 逻辑分析仪检测CAN FD数据通讯。LA5016的CAN FD解析模块,不仅可以解析CAN FD协议,同时也兼容CAN协议解析,以下几图是一个完整的数据包分析截图。从图中可以看到,CAN FD协议可以区分CAN FD及CAN协议,CAN FD协议将协议数据分析为 ID(协议id号), ExternId(扩展id), DLC(数据长度),Data(传输数据), StuffCount,CRC, ACK/NAK 。
协议解析参数设置:
上图数据包的ID号为0x010, RTR:false(数据帧), DLC:0x8(8个数据),Data:0x00~0x07,CRC为0x0C5E7(17位), ACK:应答。
圆形白点:逻辑数据。
方形白点:填充位。
————————————————
版权声明:本文为CSDN博主「maggie2014」的原创文章,遵循CC 4.0 BY-SA版权协议,已获作者许可转载。
阅读原文,关注作者

推荐阅读

小鹏P7内部ECU技术信息梳理
激光雷达检测的工作原理
CAN总线基础入门总结
CANXL和CANFD数据链路层的主要区别
深度解析CAN FD与传统CAN的差异
一文详解激光雷达
保时捷Taycan的电子电气架构详解
关于汽车人转型,“正能量”故事看腻了,今天来一篇“负能量”的
2021年文章合集,你想要的全在这里!
欧阳明高院士:滑板底盘将给汽车带来一场革命
对传统主机厂的一些思考
Tesla AutoPilot 纯视觉方案解析
如何写一份牛X的汽车软件需求
关于对汽车ECU软件测试的理解
特斯拉最新中央计算模块(CCM)解析
2021款特斯拉Model Y ECU接口梳理
详解CANoe之CAPL编程
关于CAN时间同步的理解
dbc文件的格式以及创建详解
基于UDS的Bootloder详解
关于整车上下电流程的理解
一文详解CAN总线错误帧|附下载
DoIP协议介绍,资料分享!
详解车载网络 OTA系统的开发|文末附下载
一文了解汽车嵌入式AUTOSAR架构|附下载
特斯拉Autopilot系统安全研究|附dbc下载
分享不易,恳请点个【在看】