0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

细说CANFD CRC段带来的变化

AGk5_ZLG_zhiyua 来源:ZLG致远电子 作者:ZLG开发者社区 2022-07-15 11:55 次阅读

很多人了解过CANFD,可能知道CANFD CRC段与传统CAN CRC差距是CRC多项式不同,但实际CANFD CRC段与传统CAN的差异远不止这些。接下来,我们细说下CANFD CRC段带来的变化。

不同数据段长度选择不同的CRC多项式

传统CAN采用的是15位的CRC校验,由于CANFD支持更大的数据量,为提供通信可靠性,针对不同长度的CANFD报文,调整其CRC算法,详见下表。

40341ef2-03f1-11ed-ba43-dac502259ad0.jpg

当报文为传统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)位置。

404e8e36-03f1-11ed-ba43-dac502259ad0.png

405b617e-03f1-11ed-ba43-dac502259ad0.png

除了固定填充位之外,CRC域的起始还包含了3位的填充位计数,及1位填充位计数检验位,以进一步提高通信可靠性。填充位计数在CRC段的位置如下图红框所示。

4066223a-03f1-11ed-ba43-dac502259ad0.png

3位填充位计数表示的值为实际填充位计数对8取模的结果,采用格雷码显示。奇偶校验位对填充位计数进行奇偶校验。详见下表。

406d5154-03f1-11ed-ba43-dac502259ad0.png

需要注意的是,non-ISO CANFD协议标准,无固定填充位FSB及填充位计数。若使用USBCANFD-200U时,遇到通讯的CANFD控制器为non-ISO标准,可以在打开通道时,选择CANFD标准为non-ISO,以兼容non-ISO标准CANFD控制器。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CAN
    CAN
    +关注

    关注

    56

    文章

    2467

    浏览量

    459174
  • crc
    crc
    +关注

    关注

    0

    文章

    191

    浏览量

    29193
  • CANFD
    +关注

    关注

    0

    文章

    43

    浏览量

    4803
收藏 人收藏

    评论

    相关推荐

    细说下与传统CAN相比CANFD CRC带来变化

    很多人了解过CANFD,可能知道CANFD CRC段与传统CAN CRC差距是CRC多项式不同,但实际C
    的头像 发表于 07-15 11:56 1914次阅读

    开发者分享:轻松搞起CANFD

    先楫的CANFD外设,有两个CANFD的IP,其中HPM6700系列,HPM6400系列、HPM6300系列使用的是CAN,包括了经典CAN和CANFD
    的头像 发表于 08-01 10:28 1529次阅读
    开发者分享:轻松搞起<b class='flag-5'>CANFD</b>

    玩转先楫CANFD外设系列之一:轻松搞起CANFD

    一、概述先楫的CANFD外设,有两个CANFD的IP,其中HPM6700系列,HPM6400系列、HPM6300系列使用的是CAN,包括了经典CAN和CANFD。而HPM6200系列则使用的MCAN
    的头像 发表于 08-02 08:20 1321次阅读
    玩转先楫<b class='flag-5'>CANFD</b>外设系列之一:轻松搞起<b class='flag-5'>CANFD</b>

    求助,关于M467系列CANFD的BSP例程疑问

    CANFD_SetSIDFltr(g_pCanfd, 0, CANFD_RX_BUFFER_STD(0x111, 0)); CANFD_SetSIDFltr(g_pCanfd, 0
    发表于 01-16 08:19

    CANFD SDL无法被接收到的原因?

    任何 CANFD 消息,如果把 cy_stc_canfd_config_t 的 .canFDMode 改为 false 就可以收到,是因为 BAUDRATE 与 DATARATE 的关系吗 ?,我应该要填多少 ?,该怎么从代码推算呢 ?
    发表于 02-01 07:27

    TC275D系列的芯片支持标准CANFD能配置成非标准CANFD的吗?

    TC275D系列的芯片支持标准CANFD,是否也能配置成非标准CANFD的呢,有那位技术人员配置过吗?
    发表于 02-06 08:31

    CRC校验方法通过CAN总线通信来实现

    提高故障(错误)检测能力,新版本特别引入了一个3位填充位计数器和一个额外的奇偶校验位。此外,CRC计算方法也发生了变化。这些改进使最新的CANFD协议与博世(BOSCH)开发的原始CAN FD协议不兼容
    发表于 09-25 15:41

    如何快速实现设备CANFD升级?

    随着CAN FD与车载以太网的诞生与应用,给新一代智能网联车的整车架构带来显著的变化,也给整车厂带来新的机会和挑战。针对目前CANFD升级较复杂的现状,ZLG提供了有效解决方案,本文将
    发表于 03-17 07:44

    CANFD节点如何与经典CAN总线正常通信呢?

    CANFD的来源是什么?CANFD有哪几个显著特点?CANFD节点如何与经典CAN总线正常通信呢?
    发表于 06-16 09:31

    哪些STM32有CANFD

    目录哪些STM32有CANFD外设参考文档CAN-FD特性CAN-FD格式CAN 2.0 VS CAN-FDSTM32 FDCAN 外设特性位时间和采样点Message RAM滤波器设置Rx
    发表于 08-12 07:21

    配置CANFD模块的注意事项有哪些

    1、配置 CANFD 模块的时候,需要使能 CANFD 收发器,否则进入 config 后,无法切换为 Normal 模式。2、dsPIC33CK 系列单片机的指令周期与时钟周期的关系是1:2
    发表于 11-25 06:10

    CRC原理

    CRC原理CRC校验的基本思想是:在发送端根据要传送的k位二进制码序列,以一定的规则产生一个校验用的监督码(即CRC码)R位,并附在信息后
    发表于 03-14 17:44 2448次阅读
    <b class='flag-5'>CRC</b>原理

    CRC校验 、STM32中CRC计算单元、 CRC应用

    CRC校验、STM32中CRC计算单元、CRC应用
    的头像 发表于 03-04 13:54 5370次阅读

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

    很多人了解过CANFD,可能知道CANFDCRC段与传统CANCRC差距是CRC多项式不同,但实际CANFDCRC段与传统CAN的差异远不止这些。接下来,我们细说下CANFDCRC段带来
    的头像 发表于 07-21 16:26 491次阅读
    【Z站推荐】<b class='flag-5'>CANFD</b> <b class='flag-5'>CRC</b>段与传统CAN差距有多大?

    CAN与CANFD的区别 CAN与CANFD如何转换

    CAN与CANFD的区别 CAN与CANFD如何转换  CAN(Controller Area Network)是一种广泛应用于汽车和工业控制系统等领域的串行通信协议,用于在不同的设备间传输数据
    的头像 发表于 11-22 16:37 3713次阅读