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

    文章

    5440

    浏览量

    124963
  • crc
    crc
    +关注

    关注

    0

    文章

    204

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    求助,关于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 ?437次阅读
    第十八章 浅谈循环冗余校验(<b class='flag-5'>CRC</b>)<b class='flag-5'>计算</b><b class='flag-5'>单元</b>

    想从linux系统读回CYC65215部件的配置程序映像,并检查其CRC是否正确(假设它有附加 CRC),图像有CRC吗?

    我想从 linux 系统读回 CYC65215 部件的配置程序映像,并检查其 CRC 是否正确(假设它有附加 CRC)。图像有 CRC 吗? CRC 是否使用标准
    发表于 05-23 06:22

    求助,关于3014的缓冲区设置疑问求解

    和数量改为34kb,6。rgb24 1080p@60fps无法出图? dma缓冲区大小和数量是否有什么说法吗?需要对应? fx3可用的dma大小为多少? 根据usbcap抓取数据以及demo来看
    发表于 05-06 13:42

    求助,关于ad7616序列器模式+crc的两个问题求解

    我在使用序列器模式+CRC时,发现只有序列器最后一组 通道会出crc数据,比如序列器配置为2组数据,第二组数据出来后会跟出
    发表于 04-15 08:23

    FreeRTOS进阶使用之流缓冲区:高效处理字节流的秘密武器

    工具,通过合理设置触发阈值和缓冲区大小,可显著提升系统性能。实际开发中需注意多核同步、阻塞策略及数据格式设计,必要时结合消息缓冲区实现更复杂的通信需求。掌握这一机制,将助你在嵌入开发
    发表于 03-24 11:37

    基于Verilog语言实现CRC校验

    CRC即循环冗余校验:是数据通信领域中最常用的一种查错校验,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种
    的头像 发表于 03-24 10:36 ?1573次阅读
    基于Verilog语言实现<b class='flag-5'>CRC</b>校验

    L9663如何使用上行缓冲区发送同步脉冲?

    我根据L9663 Datasheet这个手册,想使用这个配置“通过带有上行数据缓冲区的SPI触发。微控制器发送相应的SPI命令以发送同步脉冲。然后,同步脉冲触发发生器根据上行
    发表于 03-13 08:15

    RTOS的流缓冲区机制解析

    SAFERTOS中的流缓冲区(Stream buffer)机制,可以实现任务到任务或中断到任务之间的通信。字节流是由发送方写入缓冲区,接收方读取缓冲区数据。流
    的头像 发表于 02-14 11:33 ?594次阅读
    RTOS的流<b class='flag-5'>缓冲区</b>机制解析

    求助,关于ADS125H02数据通讯格式及CRC校验问题求解

    of the initial data. 第1条中,将所有数据“左移扩展为40bit,最右边用1补齐”,与传统的crc计算方法不一致,传统的计算方法是在
    发表于 12-03 06:54

    CRC实施

    电子发烧友网站提供《CRC实施.pdf》资料免费下载
    发表于 09-26 09:44 ?0次下载
    <b class='flag-5'>CRC</b>实施

    内存缓冲区和内存的关系

    内存缓冲区和内存之间的关系是计算机体系结构中一个至关重要的方面,它们共同协作以提高数据处理的效率和系统的整体性能。
    的头像 发表于 09-10 14:38 ?1272次阅读

    C2000?器件中的CRC引擎

    电子发烧友网站提供《C2000?器件中的CRC引擎.pdf》资料免费下载
    发表于 08-30 10:38 ?1次下载
    <b class='flag-5'>C</b>2000?器件中的<b class='flag-5'>CRC</b>引擎

    单片机中的几种环形缓冲区的分析和实现

    单片机中的几种环形缓冲区的分析和实现一、简介环形缓冲区(RingBuffer)是一种高效的使用内存的方法,它将一段固定长度的内存看成一个环形结构,用于存储数据,能够避免使用动态申请内存
    的头像 发表于 08-14 08:39 ?1838次阅读
    单片机中的几种环形<b class='flag-5'>缓冲区</b>的分析和实现