很多人了解过CANFD,可能知道CANFD CRC段与传统CAN CRC差距是CRC多项式不同,但实际CANFD CRC段与传统CAN的差异远不止这些。接下来,我们细说下CANFD CRC段带来的变化。
不同数据段长度选择不同的CRC多项式
传统CAN采用的是15位的CRC校验,由于CANFD支持更大的数据量,为提供通信可靠性,针对不同长度的CANFD报文,调整其CRC算法,详见下表。
当报文为传统CAN时,仍采用原有的CRC多项式。
当报文为CANFD且数据长度小于等于16字节时,调整为17位的CRC多项式。
当报文为CANFD且数据长度大于16字节时,则调整为21位的CRC多项式。
CRC计算时机不同
在传统CAN中,位填充(连续5位相同位后填充一位相反位)是在CRC计算之后进行。当CAN控制器发送报文时,先对报文CRC计算后,再填入填充位发送;接收时,则对接收数据移除填充位后,再做CRC校验。
在CANFD中,CRC计算时机调整为位填充后。也就是说,发送方发送时,先对报文进行位填充后,再做CRC计算。这种方式增加了对填充位的CRC计算,降低了错误漏检的概率。
增加固定填充位和填充位计数
CANFD中,CRC域采用一种固定填充位的格式:在CRC段第一位及接下来的每四位增加一个固定填充位,填充位为上一位的反码。 以下分别为CRC17和CRC21的固定填充位(FSB)位置。
除了固定填充位之外,CRC域的起始还包含了3位的填充位计数,及1位填充位计数检验位,以进一步提高通信可靠性。填充位计数在CRC段的位置如下图红框所示。
3位填充位计数表示的值为实际填充位计数对8取模的结果,采用格雷码显示。奇偶校验位对填充位计数进行奇偶校验。详见下表。
需要注意的是,non-ISO CANFD协议标准,无固定填充位FSB及填充位计数。若使用USBCANFD-200U时,遇到通讯的CANFD控制器为non-ISO标准,可以在打开通道时,选择CANFD标准为non-ISO,以兼容non-ISO标准CANFD控制器。
审核编辑:汤梓红
-
CAN
+关注
关注
57文章
2777浏览量
464633 -
crc
+关注
关注
0文章
200浏览量
29627 -
CANFD
+关注
关注
0文章
59浏览量
5034
发布评论请先 登录
相关推荐
细说下与传统CAN相比CANFD CRC段带来的变化
求助,关于M467系列CANFD的BSP例程疑问
TC275D系列的芯片支持标准CANFD能配置成非标准CANFD的吗?
rk3588 canfd发送部分数据失败的问题
CRC校验方法通过CAN总线通信来实现
如何快速实现设备CANFD升级?
哪些STM32有CANFD
CRC算法原理和CRC编码的实现方式与使用Verilog对CRC编码进行描述

【Z站推荐】CANFD CRC段与传统CAN差距有多大?

基于Tricore的CANFD入门工程

CAN与CANFD的区别 CAN与CANFD如何转换
详解TSMaster CAN 与 CANFD 的 CRC E2E 校验方法

评论