循环冗余校验码
好的,我们来用中文解释一下循环冗余校验码。
循环冗余校验码,英文缩写为 CRC(Cyclic Redundancy Check),是一种在数字通信和数据存储中广泛使用的差错检测技术。
它的核心思想是:
- 冗余: 通过在原始数据块(称为数据字)的末尾添加一些额外的校验位(称为冗余位或 CRC 码),构成一个更长的、能传输或存储的码字。
- 多项式除法: 发送方和接收方事先约定一个特定的二进制数,称为生成多项式。
- 发送方操作: 发送方对待发送的数据进行特定的计算(本质上是将数据当作一个二进制多项式,用生成多项式进行模 2 除法),得到的余数就是 CRC 校验码。发送方将这个 CRC 码附加在原始数据后面,一起发送出去。
- 接收方操作: 接收方收到数据(原始数据 + CRC 码)后,用同一个生成多项式对整个接收到的码字进行同样的模 2 除法运算。
- 差错判定:
- 如果余数为 0,则认为数据传输或存储过程中没有发生错误(或者发生错误的概率极低)。
- 如果余数不为 0,则肯定说明数据在传输或存储过程中发生了错误。
CRC 的主要特点和优势:
- 高效检测能力: 特别擅长检测常见的传输错误类型,如:
- 突发错误: 连续多个比特发生翻转(例如由于线路干扰)。CRC 检测这种错误的能力很强。
- 奇数个比特错误: 错误比特数量是奇数的情况。
- 两个比特错误: 大多数常用的生成多项式都能检测出任意两个离散的比特错误。
- 实现简单高效: CRC 的计算可以通过移位寄存器和异或门(XOR)在硬件中非常高效且快速地实现(软件实现也相对简单),开销小。
- 广泛应用: 正是因为其高效性和强大的检错能力,CRC 被广泛应用于众多领域:
- 网络通信: 以太网帧(CRC-32)、Wi-Fi 帧、PPP 协议、ATM 信元等。
- 数据存储: 硬盘驱动器(HDD)、固态硬盘(SSD)、光盘(CD/DVD/Blu-ray)、磁带存储等,用于校验存储数据的完整性。
- 文件传输: 许多文件传输协议和文件压缩格式(如 ZIP, RAR)内部使用 CRC 校验传输或存储的数据块是否正确。
- 嵌入式系统: 微控制器之间或芯片内部的通信校验。
总结来说:
循环冗余校验码(CRC) 是一种通过在数据后添加根据特定数学规则(模 2 多项式除法)计算出的校验码,来检测数据在传输或存储过程中是否发生错误的技术。它以较小的开销(增加的冗余位少)提供了非常强大的错误检测能力,尤其是在检测连续的突发错误方面表现优异,因此在计算机通信和存储系统中无处不在。
简单理解:CRC 就像给数据贴上一个独特的“防伪码”。发送方贴上去,接收方检查这个码是否正确。如果码不对,说明数据被“调包”或损坏了。
CRC校验码并行计算的FPGA实现
用软件实现 CRC 校验码计算很难满足高速数据通信的要求 ,基于硬件的实现方法中 ,有串行经典算法 LFSR 电路 以及由软件算法推导出来的其它各种并行计算方法。以经典的LFSR 电路为基础 ,研究
资料下载
姚小熊27
2021-03-28 09:34:24
使用FPGA实现800Mbps准循环LDPC码译码器的详细资料说明
本文提出了一种适用于准循环低密度校验码的低复杂度的高并行度译码器架构。通常准循环低密度
资料下载
佚名
2021-01-22 15:08:39
如何在IAR Embedded Workbench中配置生成对应代码区域的CRC校验码
在“使用IAR Embedded Workbench和MCU的CRC模块来检查代码的完整性”一文中,介绍了如何在IAR Embedded Workbench中配置生成对应代码区域的CRC校验码,然后
2023-10-27 11:49:22
Verilog数字系统基础设计中的循环冗余校验
CRC(循环冗余校验) CRC介绍 临时“插播”,后面有实例。 CRC(Cyclic Redundancy Check,
2021-08-17 17:08:56
基于Atmega128单片机和CRC校验码实现无线传输数据时的差错校验
随着技术的不断进步,各种数据通信的应用越来越广泛。由于传输距离、现场状况、干扰等诸多因素的影响,设备之间的通信数据常会发生一些无法预测的错误。为了降低错误所带来的影响,一般在通信时采用数据校验的办法,而循环
2021-05-05 17:36:00
怎么看这款单片机的校验码是多少呢
很久以前写的程序,由于程序有很多版本,所以想看一下最终版的程序校验码来确定最终的程序。请问如何用烧录器来看校验码呢我开始是直接用CSWrite来read chip看看单片机的
单片机校验码计算问题
单片机有一串报文校验码 4D 30 35 30 30 30 35 30 35 30是用SUM1校验方式,最后校验后显示的是01,D9 是怎么算出
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- dtmb信号覆盖城市查询
- EDA是什么?有什么作用?
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- amoled屏幕和oled区别
- 单片机和嵌入式的区别是什么
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机