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

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

3天内不再提示

这个CRC计算单元是如何基于固定的生成多项式(0x4C11DB7)来获取给定数据缓冲区的CRC码的?

丙丁先生的自学旅程 来源:丙丁先生的自学旅程 作者:丙丁先生的自学旅 2024-05-16 16:06 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

CRC(循环冗余校验)是一种根据数据产生简短固定位数校验码的常用方法,主要用来检查数据传输或者保存后是否有错误。CRC计算单元的工作过程如下:
1. 首先,CRC计算单元会初始化一个寄存器(通常是一个32位或64位的寄存器),初始值是生成多项式(在这个问题中是0x4C11DB7)。
2. 然后,CRC计算单元会逐位处理输入的数据缓冲区。对于每一个数据位,它都会将寄存器的当前值与这一位进行异或操作。
3. 如果结果的最高位(第31位或第63位)是1,那么CRC计算单元就会将寄存器与生成多项式进行模2除法,并将余数保留在寄存器中。
4. 这个过程会持续到所有的数据位都被处理完。最后,寄存器中的值就是CRC码。

注意,这个过程中的关键步骤就是异或操作和模2除法,它们都是计算机科学中的基本操作。

审核编辑 黄宇

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

    关注

    31

    文章

    5623

    浏览量

    130626
  • crc
    crc
    +关注

    关注

    0

    文章

    206

    浏览量

    31003
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【量产烧录】Verify通过还报错?拆一次CRC校验的实现机制就明白问题在哪

    +内核的MCU,采用I2C BSL方式烧录。开发一套烧录工具时,CRC算法完全参照官方BSL协议文档实现,本地计算结果与芯片返回的CRC始终对不上。 换了地址范围,换
    发表于 02-13 10:10

    一文解读CRC校验

    校验的过程是什么? 发送方根据发送报文,计算CRC值。将原始信息和该CRC值一起发送给接收方。接收方根据原始信息,按照同样的算法,计算CRC
    发表于 01-26 07:20

    STM32中SPI模块的CRC功能

    ) 如下图数据0x1,0x2, 0x3, 0x4CRC校验位(0xE3),
    发表于 01-15 23:21

    C语言的缓冲区(缓存)详解

    ,分为输入缓冲区和输出缓冲区。   为什么要引入缓冲区   比如我们从磁盘里取信息,我们先把读出的数据放在缓冲区
    发表于 01-14 07:30

    芯源循环冗余校验(CRC)功能

    CRC-32 多项式x32 + x26 + x23 + x22 +
    发表于 01-12 06:07

    硬件循环冗余校验(CRC)模块介绍

    CRC是一种错误检测,用于检测数据传输或存储中的意外更改。它通过对数据应用特定的算法生成一个固定
    发表于 11-21 07:39

    飞凌嵌入ElfBoard-标准IO接口之设置缓冲区

    文件默认采用全缓冲模式。 size:指定缓冲区的大小。 4)返回值 成功返回0,失败将返回一个非0值,并且会设置errno
    发表于 11-14 09:02

    CRC校验的原理和应用

    = 商 ... 余数 → 余数 = CRC。 接收方用同样的多项式去除接收到的数据(含CRC),余数为
    发表于 11-14 06:48

    CRC校验的本质和物理意义

    01 多项式:x^16 + x^15 + x^2 + 1 通过多项式长除法计算得到的余数即为
    发表于 11-13 07:58

    8种常用的CRC算法分享

    CRC 计算单元可按所选择的算法和参数配置来生成数据流的 CRC 。有些应用中,可利用
    发表于 11-13 07:25

    RVMCU课堂「19」: 手把手教你玩转RVSTAR—CRC计算

    寄存器CRC_DATA 固定CRC计算多项式0x4C11DB7,与以太网
    发表于 10-30 07:49

    查找表与多项式近似算法实现初等函数

    查找表与多项式近似结合算法是一种把查找表算法和多项式近似算法综合到一起的算法。这种算法综合了两种基本算法各自优势,通过将多项式各项系数存入查找表提高计算效率。
    发表于 10-28 08:10

    求助,关于TC39x使用Fce_crc在特定PFlash范围内进行CRC32校验失败的问题求解

    上使用 Fce_crc 时会出现一致的 CRC32 失败 : 0x80000000 – 0x802FFFFF 0x80C00000 –
    发表于 08-01 07:47

    请问USB缓冲区数据可以多次取吗?

    在使用USB软件获取数据是,下位机给我发送了13个32位数据到USB IN缓冲区,为什么我调用API函数想要第一次取1个32位数据,取完之后
    发表于 07-16 08:12

    第十八章 浅谈循环冗余校验(CRC)计算单元

    本篇文章介绍了CRC(循环冗余校验),其计算单元CRC-32多项式,32位数据寄存器,
    的头像 发表于 05-29 11:00 1610次阅读
    第十八章 浅谈循环冗余校验(<b class='flag-5'>CRC</b>)<b class='flag-5'>计算</b><b class='flag-5'>单元</b>