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

很多人了解过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控制器。
【版权声明】本文为zlg开发者社区用户原创内容,未经授权不得转载。

i.MXRT系列的ROM API设计
Win10升级烦不胜烦?不如试试这个工具一绝永恒
开发指南|Websocket 网页控制设备
卷积神经网络的七个注意事项
京东方计划推出Micro OLED,布局未来成长市场
【Z站推荐】CANFD CRC段与传统CAN差距有多大?
太阳能发电站
星环科技入选中国商业数据智能产业图谱
研究人员利用3D打印技术来创建仿生机器人手指
3D IC半导体设计的可靠性挑战
实施SDWAN的七个步骤
台积电TSMC扩大与Cadence在Virtuoso定制设计平台的合作
保障建设高瓦斯隧道安全的各类传感器
HART协议和RS485协议的区别是什么
华为牵手多家日本企业 合作开发物联网与5G技术
ARM9微处理器S3C2410的IP电话通信设计
5G有哪些科技应用未来将如何改变人们的生活
爱立信5G网络升级实现覆盖俄罗斯27个地区
感应分压器的结构_感应分压器的原理
什么原因会造成伺服编码器损坏?