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

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

3天内不再提示

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

ZLG致远电子 2022-07-21 16:26 次阅读

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

75b9c372-05e2-11ed-9ade-dac502259ad0.jpg 不同数据段长度选择不同的CRC多项式

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

75cbeb24-05e2-11ed-9ade-dac502259ad0.jpg当报文为传统CAN时,仍采用原有的CRC多项式。

当报文为CANFD且数据长度小于等于16字节时,调整为17位的CRC多项式。

当报文为CANFD且数据长度大于16字节时,则调整为21位的CRC多项式。


75e08368-05e2-11ed-9ade-dac502259ad0.jpg  CRC计算时机不同

在传统CAN中,位填充(连续5位相同位后填充一位相反位)是在CRC计算之后进行。当CAN控制器发送报文时,先对报文CRC计算后,再填入填充位发送;接收时,则对接收数据移除填充位后,再做CRC校验。

在CANFD中,CRC计算时机调整为位填充后。也就是说,发送方发送时,先对报文进行位填充后,再做CRC计算。这种方式增加了对填充位的CRC计算,降低了错误漏检的概率。

75b9c372-05e2-11ed-9ade-dac502259ad0.jpg 增加固定填充位和填充位计数

CANFD中,CRC域采用一种固定填充位的格式:在CRC段第一位及接下来的每四位增加一个固定填充位,填充位为上一位的反码。以下分别为CRC17和CRC21的固定填充位(FSB)位置。

76017690-05e2-11ed-9ade-dac502259ad0.png

76126cb6-05e2-11ed-9ade-dac502259ad0.png

除了固定填充位之外,CRC域的起始还包含了3位的填充位计数,及1位填充位计数检验位,以进一步提高通信可靠性。填充位计数在CRC段的位置如下图红框所示。7623e874-05e2-11ed-9ade-dac502259ad0.png
3位填充位计数表示的值为实际填充位计数对8取模的结果,采用格雷码显示。奇偶校验位对填充位计数进行奇偶校验。详见下表。76315dce-05e2-11ed-9ade-dac502259ad0.png需要注意的是,non-ISO CANFD协议标准,无固定填充位FSB及填充位计数。若使用USBCANFD-200U时,遇到通讯的CANFD控制器为non-ISO标准,可以在打开通道时,选择CANFD标准为non-ISO,以兼容non-ISO标准CANFD控制器。

7643ca2c-05e2-11ed-9ade-dac502259ad0.png

【版权声明】本文为ZLG开发者社区用户原创内容,未经授权不得转载。

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

    关注

    56

    文章

    2467

    浏览量

    459238
收藏 人收藏

    评论

    相关推荐

    请问一下STM32G431CBT6的CANFD支持的最大波特率是多大呀?

    请问一下STM32G431CBT6的CANFD支持的最大波特率是多大呀?
    发表于 03-14 07:14

    在同一路CAN上配置经典CAN时能正常发送数据 ,按规格书配置为CANFD时,未能发送成功的原因?

    你好,我在同一路CAN上配置经典CAN时能正常发送数据 ,但是按规格书配置为CANFD时,未能发送成功,想请问我以下配置是否正确。 cy_stc_canfd_config_t canC
    发表于 02-02 07:33

    使用CYT2B75芯片CANFD模块无法发送消息是什么原因导致的呢?

    你好,我使用SDL的example中的CANFD代码测试CYT2B75芯片CANFD模块,对部分代码进行了硬件适配修改,详见附件,配置为每秒发送一次CAN报文。 问题:消息发送失败,且电脑上位机无法
    发表于 02-02 06:57

    cancanfd的区别

    cancanfd的区别  CAN(Controller Area Network)和CAN-FD(CAN with Flexible Da
    的头像 发表于 12-07 15:37 2405次阅读

    CANCANFD的区别 CANCANFD如何转换

    CANCANFD的区别 CANCANFD如何转换  CAN(Controller Area Network)是一种广泛应用于汽车和工业控
    的头像 发表于 11-22 16:37 3735次阅读

    RA MCU CANFD的应用实例(上)

    本篇文章将以RA6E2为例,介绍如何使用瑞萨电子FSP CAN-FD lite的堆栈来设计和实现基于CAN的简易系统。最后,使用两套FPB-RA6E2和CAN收发器模块通过CAN实现相
    的头像 发表于 10-25 15:53 460次阅读
    RA MCU <b class='flag-5'>CANFD</b>的应用实例(上)

    RA MCU CANFD在FSP中的配置详解

    在瑞萨RA系列MCU产品中,目前RA4E2、RA4T1、RA6E2、RA6T2和RA6T3搭载了CANFD Lite(硬件手册中成为CANFD_B)模块,相关的详细IP介绍,请参见之前的文章
    的头像 发表于 10-20 14:46 627次阅读
    RA MCU <b class='flag-5'>CANFD</b>在FSP中的配置详解

    接收CAN公共汽车上数据包的代码

    CMSIS BSP V3.00.00.003 硬件:NuMaker-M/253/LE V1.1,ADM3050E CAN收发器 这个例子两种代码:“CANFD_CAN_CAN
    发表于 08-29 06:24

    玩转先楫CANFD外设系列之二:CAN外设的接收过滤器详解

    设备中的存储空间。从上篇文章《[玩转先楫CANFD外设系列之一]轻松搞起CANFD》中可知道,先楫的CANFD包括了CAN和MCAN。其中HPM6700/HPM64
    的头像 发表于 08-24 08:20 1366次阅读
    玩转先楫<b class='flag-5'>CANFD</b>外设系列之二:<b class='flag-5'>CAN</b>外设的接收过滤器详解

    CANCANFD协议简介(下)

    前篇内容请点击查看: RA MCU CANCANFD IP介绍 CANCANFD协议简介(上) 2. CAN协议 2.2 协议层 前文
    的头像 发表于 08-02 12:15 1454次阅读
    <b class='flag-5'>CAN</b>和<b class='flag-5'>CANFD</b>协议简介(下)

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

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

    开发者分享:轻松搞起CANFD

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

    CANCANFD协议简介(上)

    前篇内容请点击查看: RA MCU CANCANFD IP介绍 1. 概述 CAN(Controller Area Network)和CANFD(Controller Area Ne
    的头像 发表于 07-31 12:10 1640次阅读
    <b class='flag-5'>CAN</b>和<b class='flag-5'>CANFD</b>协议简介(上)

    CAN FD帧结构介绍

    段,CRC段,ACK段和帧结束,7部分组成。 2.1、帧起始 CANCANFD使用相同的SOF标志位来标志报文的起始。帧起始由1个显性位构成,标志着报文的开始,并在总线上起着同步作用。 2.2、仲裁
    的头像 发表于 07-18 10:42 4492次阅读
    <b class='flag-5'>CAN</b> FD帧结构介绍

    Can_43_LLCE驱动程序示例代码如何将CANFD更改为经典CAN?

    我下载了LLCE CAN驱动程序,运行LLCE CAN示例代码ok,目前示例代码中can frame是CANFD,我想将CANFD改成经典
    发表于 05-12 06:28