`
lijuntian526
  • 浏览: 47364 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

什么是CRC和CRC检验?

    博客分类:
  • JAVA
阅读更多

名词解释

CRC(循环冗余检查)--一种数据传输检错功能,对数据进行多项式计算,并将得到的和数附在帧的后面。接收设备也执行类似的算法。

什么是CRC校验?

CRC校验采用多项式编码方法。
被处理的数据块可以看作是一个二进制多项式,例如,10110101可以看作是2^7+2^5+2^4+2^2+2^0,多项式乘除法运算过程与普通代数多项式的乘除法相同。多项式的加减法运算以2为模,加减时不进,错位,和逻辑异或运算一致。
采用CRC校验时,发送方和接收方用同一个生成多项式g(x),并且g(x)的首位和最后一位的系数必须为1。CRC的处理方法是:发送方以g(x)去除t(x),得到余数作为CRC校验码。校验时,以计算的校正结果是否为0为据,判断数据帧是否出错。
CRC校验可以100%地检测出所有奇数个随机错误和长度小于等于k(k为g(x)的阶数)的突发错误。所以CRC的生成多项式的阶数越高,那么误判的概率就越小。
CCITT 建议:2048 kbit/s的PCM基群设备采用CRC-4方案,使用的CRC校验采用16位CRC校验。在IBM的同步数据链路控制规程SDLC的帧校验序列FCS 中,使用CRC-16。g(x)的位数越高,检错能力就越强。由于CRC-32的可靠性,把CRC-32用于重要数据传输十分合适,所以在通信、计算机等领域运用十分广泛。在一些UART通信控制芯片(如MC6582、Intel8273和Z80-SIO)内,都采用了CRC校验码进行差错控制;以太网卡芯片、MPEG解码芯片中,也采用CRC-32进行差错控制。
分享到:
评论

相关推荐

    CRC8-PEC检验工具

    CRC8-PEC检验工具是一种在电子通信和数据存储领域中常用的错误检测机制,主要用于确保数据在传输或存储过程中的完整性。CRC(Cyclic Redundancy Check,循环冗余校验)和PEC(Packet Error Checking,包错误检查)是...

    CRC计算器 CRC逆向

    CRC(Cyclic Redundancy Check,循环冗余校验)是一种广泛用于数据传输和存储中的错误检测方法。它通过计算数据的校验码来检查数据的完整性,确保数据在传输或存储过程中没有发生错误。CRC计算器是用于生成或验证CRC...

    CRC_crc32_CRC16_crc64_源码

    CRC,即循环冗余校验(Cyclic Redundancy Check),是一种广泛应用于数据通信和存储中的错误检测技术。它通过计算数据的一种特定校验值,来检查数据在传输或存储过程中是否发生了错误。CRC的基本原理是利用多项式除...

    CRC校验工具(CRC8,CRC16,CRC32)

    本工具支持常用的所有CRC校验 比如: CRC-4/TU CRC-5/EPC CRC-5/ITU CRC-6/TU CRC-7/MMC CRC-8 CRC-8/ITU CRC-8/ROHC CRC-8/MAXIM CRC-16/BM CRC-16/MAXIM CRC-16/USB CRC-16/MODBUS CRC-16/CCITT CRC-16/CCITT-...

    crc_add_crc8_CRC16_matlab_CRC24_crc_

    标题中的“crc_add_crc8_CRC16_matlab_CRC24_crc_”暗示这是一个关于在MATLAB环境中实现CRC计算的程序,涵盖了CRC8、CRC16和CRC24三种不同长度的校验码。CRC8适用于简单的错误检测场景,CRC16则提供更强的校验能力,...

    CRC计算器,实现了CRC4、CRC5、CRC6、CRC7、CRC8、CRC16、CRC32等21种算法

    CRC(Cyclic Redundancy Check,循环冗余校验)是一种广泛应用于数据通信和存储中的错误检测技术。它通过计算数据的校验码,检查数据在传输或存储过程中是否发生错误。CRC计算器是用于生成这些校验码的工具,本项目...

    各种CRC生成工具,包括CRC8,CRC16,CRC-CCITT,CRC32

    CRC,即循环冗余校验(Cyclic Redundancy Check),是一种广泛应用于数据通信和存储领域的错误检测技术。它的主要作用是确保数据在传输或存储过程中没有发生错误,通过计算一个简短的校验和来验证数据的完整性。CRC...

    循环冗余检验(CRC)原理与实现

    ##### 3.3 CRC检验基本理论 接收方同样利用生成多项式G(x)对收到的数据进行多项式除法运算,如果余数为零,则认为数据正确无误;否则,数据存在错误。 #### 4. 实现 CRC的实现方式主要有以下几种: ##### 4.1 逐...

    CRC循环冗余检测

    CRC 检测的原理是基于生成多项式和模 2 除法运算。发送端将数据分组,每组 K 个比特,然后根据生成多项式生成 n 位冗余码,构成一个帧发送出去。接收端对接收到的数据进行 CRC 检验,检查得到的余数 R。如果传输过程...

    CRC32、CRC16、CRC原理和算法的总结

    通过学习CRC32、CRC16、CRC原理和算法,我们可以更好地理解计算机网络通信和数据存储过程中保证数据完整性的技术,以及如何应用这些技术来提升数据的可靠性。通过实践与理论相结合,参考国内外优秀的学习资源,即使...

    CRC.rar_CRC ITU_CRC ITU-T_CRC-16_ITU-T crc_crc

    CRC,即循环冗余校验(Cyclic Redundancy Check),是一种广泛应用于数据通信和存储领域的错误检测技术。CRC通过附加一个简短的校验码到数据块来确保数据的完整性,这个校验码是根据数据计算出来的。在标题和描述中...

    【很好】我学习CRC32、CRC16、CRC原理和算法的总结(与WINRAR结果一致).pdf

    CRC(Cyclic Redundancy Check,循环冗余检查)是一种常用的错误检测算法,广泛应用于数据传输和存储中。CRC 的原理是通过对数据的二进制表示进行模 2 的多项式除法,得到余数作为校验值,接收端可以通过相同的算法...

    CRC8/CRC16/CRC32常见几个标准的算法及C语言实现

    CRC(Cyclic Redundancy Check,循环冗余校验)是一种广泛用于数据传输和存储中的错误检测技术。它通过在数据后面附加一个校验码,使得数据发生错误时,接收方可以通过计算校验码来发现错误。CRC8、CRC16和CRC32分别...

    crc检测 crc检测 c++语言写的

    CRC(Cyclic Redundancy Check,循环冗余校验)是一种广泛用于数据传输错误检测的校验码技术。它通过计算数据的一种特定函数值来生成一个校验码,这个校验码可以用来验证数据在传输或存储过程中的完整性。CRC算法...

    crc32-master.zip_crc32.py_crc32碰撞密码_zip crc32_zip crc碰撞_zip利用crc

    CRC32,全称为Cyclic Redundancy Check(循环冗余校验),是一种广泛用于数据传输和存储中的错误检测方法。在本主题中,我们主要关注如何利用CRC32的特性来尝试解密某些特定的压缩包,尤其是针对标题中提到的"crc32-...

    CRC原理-我学习CRC32、CRC16、CRC 原理和算法的总结(与WINRAR 结果一致).pdf

    CRC,即循环冗余校验,是一种广泛应用于数据通信和存储中的错误检测方法。CRC的基本原理是通过一种特定的数学算法,对传输或存储的数据进行校验,以确保数据的完整性。这种算法基于二进制的异或(XOR)运算,而非传统...

    什么是crc,crc的概念

    除了面向对象分析中的CRC卡之外,CRC还指“循环冗余校验”,这是一种广泛应用于数据通信领域的差错检测方法。其基本原理是利用特定的生成多项式计算出一个校验值(CRC码),并将其附加到原始数据之后。接收端使用...

    CRC计算工具,包含CRC8 、CRC16 、CTC32、MODBUS等

    CRC,全称是Cyclic Redundancy Check,中文译为循环冗余校验,是一种广泛应用于数据通信和存储系统中的错误检测技术。它通过在数据传输或存储前添加一个校验码来验证数据的完整性,确保数据在传输过程中没有发生错误...

    crc32/crc24函数

    了解CRC的基本原理和实现方式对于理解和调试涉及数据传输和错误检测的系统至关重要。通过学习和研究这些源代码,你可以深入理解CRC算法的具体实现,包括如何选择合适的生成多项式,如何进行模2除法,以及如何高效地...

    CRC计算工具包括,CRC32 和 CRC-32/MPEG-2 以及CRC32/MPEG-2的计算函数

    CRC(Cyclic Redundancy Check,循环冗余校验)是一种广泛用于数据传输和存储中的错误检测技术。它通过在数据后面附加一个校验码来确保数据的完整性,主要用于检查数据在传输或存储过程中是否发生错误。CRC计算工具...

Global site tag (gtag.js) - Google Analytics