名词解释

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检验?相关推荐

  1. 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 ...

  2. Linux 大文件crc计算,CRC计算方法与C实现

    CRC的全称为Cyclic Redundancy Check,中文名称为循环冗余校验.它是一类重要的线性分组码,编码和解码方法简单,检错和纠错能力强,在通信领域广泛地用于实现差错控制.实际上,除数据通 ...

  3. CRC Calculator(CRC计算器)

    CRC就是循环冗余校验码,这款CRC Calculator就是CRC计算器,也就是循环冗余校验码的计算工具,支持21种计算方法,一键出结果.实现CRC4.CRC5.CRC6.CRC7.CRC8.CRC ...

  4. libmodbus(2)——ERROR CRC received CRC calculated

    一.错误情况 [55][06][00][80][00][00][85][F6] Waiting for a confirmation... <55><02><00> ...

  5. tcp中的crc检验算法原理_在数据传输过程中的CRC 算法的简单说明

    CRC校验(循环冗余校验)是数据通讯中最常采用的校验方式.在嵌入式软件开发中,经常要用到CRC 算法对各种数据进行校验.因此,掌握基本的CRC算法应是嵌入式程序员的基本技能.可是,我认识的嵌入式程序员 ...

  6. 校验码(海明校验,CRC冗余校验,奇偶校验)

    循环冗余校验码 CRC码利用生成多项式为k个数据位产生r个校验位进行编码,其编码长度为n=k+r所以又称 (n,k)码. CRC码广泛应用于数据通信领域和磁介质存储系统中. CRC理论非常复杂,一般书 ...

  7. 怎么得到16位校检和-c语言,16位CRC校验C语言算法.pdf

    16位CRC校验C语言算法.pdf CRC 算法原理及C 语言实现 摘 要 本文从理论上推导出CRC算法实现原理,给出三种分别适应不同计算机或微控 制器硬件环境的C语言程序.读者更能根据本算法原理,用 ...

  8. CRC校验——以SHT30温湿度传感器为例(内附SHT30的驱动代码)

    文章目录 1. 基本原理 2. 计算方法 3. c语言代码实现 4. SHT30代码 4.1 drv.c 4.2 test.c 4.3 Makefile 1. 基本原理  循环冗余校验码(CRC)的基 ...

  9. 【科普向】谁都能看懂的CRC(循环冗余校验)原理

    CRC原理 简介 CRC基本原理 模二运算 二进制系数多项式 CRC算法 示例 CRC算法的数学描述 常用CRC版本 CRC算法的编程实现 简介 循环冗余校验(Cyclic Redundancy Ch ...

最新文章

  1. python数据挖掘主要特点_【Python数据挖掘】第六篇--特征工程
  2. 导出Excel java
  3. 深度学习(三十八)——深度强化学习(1)教程
  4. python高维数据_t-SNE高维数据可视化(python)
  5. python list tuple 消耗_Python内存消耗:dict VS元组列表
  6. 自定义控件常用方法总结
  7. 揭秘百度新治理结构:马东敏的谣言与李彦宏的用人观
  8. 安卓投屏助手(ARDC)最新版
  9. 马云有自己的银行,为什么还要贷款?
  10. MySQL之my.cnf配置文件
  11. 自由度+凝固度+统计的新词发现
  12. Unity热更新之AssetBundle打包篇
  13. PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space翻译
  14. Kerberos原理
  15. 傻瓜式部署教程2:docker搭建oracle11g数据库
  16. c语言课程农夫过河问题实验心得,农夫过河实验报告
  17. Centos 7搭建DNS(5)智能DNS
  18. HAN论文模型代码复现与重构
  19. java 双屏显示_程序员,你双屏了吗?
  20. v8引擎处理html,JavaScript V8引擎基础教程

热门文章

  1. 2021 马克拉伯大视觉奖:探索、创造机器视觉的价值
  2. LANL Earthquake Prediction收获
  3. 气和血1:生命在于气血
  4. 新三板上市条件有哪些
  5. 通过,aria-describedby属性,获取元素,并设置样式
  6. 国家级贫困县摘帽情况分省分年统计(832个)
  7. 聆思CSK6视觉AI开发套件使用——AI手势识别+头肩识别+编译helloworld
  8. 如何做好服务器的防御工作
  9. 骗子的常用骗术,虚拟货币真假难辨
  10. Build RESTful APIs with Spring MVC