什么是CRC和CRC检验?
名词解释:
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进行差错控制。
什么是CRC和CRC检验?相关推荐
- UVa OJ 128 - Software CRC (软件CRC)
Time limit: 3.000 seconds 限时:3.000秒 Problem 问题 You work for a company which uses lots of personal co ...
- Linux 大文件crc计算,CRC计算方法与C实现
CRC的全称为Cyclic Redundancy Check,中文名称为循环冗余校验.它是一类重要的线性分组码,编码和解码方法简单,检错和纠错能力强,在通信领域广泛地用于实现差错控制.实际上,除数据通 ...
- CRC Calculator(CRC计算器)
CRC就是循环冗余校验码,这款CRC Calculator就是CRC计算器,也就是循环冗余校验码的计算工具,支持21种计算方法,一键出结果.实现CRC4.CRC5.CRC6.CRC7.CRC8.CRC ...
- libmodbus(2)——ERROR CRC received CRC calculated
一.错误情况 [55][06][00][80][00][00][85][F6] Waiting for a confirmation... <55><02><00> ...
- tcp中的crc检验算法原理_在数据传输过程中的CRC 算法的简单说明
CRC校验(循环冗余校验)是数据通讯中最常采用的校验方式.在嵌入式软件开发中,经常要用到CRC 算法对各种数据进行校验.因此,掌握基本的CRC算法应是嵌入式程序员的基本技能.可是,我认识的嵌入式程序员 ...
- 校验码(海明校验,CRC冗余校验,奇偶校验)
循环冗余校验码 CRC码利用生成多项式为k个数据位产生r个校验位进行编码,其编码长度为n=k+r所以又称 (n,k)码. CRC码广泛应用于数据通信领域和磁介质存储系统中. CRC理论非常复杂,一般书 ...
- 怎么得到16位校检和-c语言,16位CRC校验C语言算法.pdf
16位CRC校验C语言算法.pdf CRC 算法原理及C 语言实现 摘 要 本文从理论上推导出CRC算法实现原理,给出三种分别适应不同计算机或微控 制器硬件环境的C语言程序.读者更能根据本算法原理,用 ...
- CRC校验——以SHT30温湿度传感器为例(内附SHT30的驱动代码)
文章目录 1. 基本原理 2. 计算方法 3. c语言代码实现 4. SHT30代码 4.1 drv.c 4.2 test.c 4.3 Makefile 1. 基本原理 循环冗余校验码(CRC)的基 ...
- 【科普向】谁都能看懂的CRC(循环冗余校验)原理
CRC原理 简介 CRC基本原理 模二运算 二进制系数多项式 CRC算法 示例 CRC算法的数学描述 常用CRC版本 CRC算法的编程实现 简介 循环冗余校验(Cyclic Redundancy Ch ...
最新文章
- python数据挖掘主要特点_【Python数据挖掘】第六篇--特征工程
- 导出Excel java
- 深度学习(三十八)——深度强化学习(1)教程
- python高维数据_t-SNE高维数据可视化(python)
- python list tuple 消耗_Python内存消耗:dict VS元组列表
- 自定义控件常用方法总结
- 揭秘百度新治理结构:马东敏的谣言与李彦宏的用人观
- 安卓投屏助手(ARDC)最新版
- 马云有自己的银行,为什么还要贷款?
- MySQL之my.cnf配置文件
- 自由度+凝固度+统计的新词发现
- Unity热更新之AssetBundle打包篇
- PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space翻译
- Kerberos原理
- 傻瓜式部署教程2:docker搭建oracle11g数据库
- c语言课程农夫过河问题实验心得,农夫过河实验报告
- Centos 7搭建DNS(5)智能DNS
- HAN论文模型代码复现与重构
- java 双屏显示_程序员,你双屏了吗?
- v8引擎处理html,JavaScript V8引擎基础教程