首页 > 其他分享 >关于CRC校验的解释

关于CRC校验的解释

时间:2023-03-25 14:45:32浏览次数:37  
标签:解释 00 false 16 校验 CRC x2 true

CRC校验(循环冗余校验)


CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。


CRC算法参数模型解释:

  1. NAME:参数模型名称。
  2. WIDTH:宽度,即CRC比特数。
  3. POLY:生成项的简写,以16进制表示。例如:CRC-32即是0x04C11DB7,忽略了最高位的"1",即完整的生成项是0x104C11DB7。
  4. INIT:这是算法开始时寄存器(crc)的初始化预置值,十六进制表示。
  5. REFIN:待测数据的每个字节是否按位反转,True或False。
  6. REFOUT:在计算后之后,异或输出之前,整个数据是否按位反转,True或False。
  7. XOROUT:计算结果与此参数异或后得到最终的CRC值。

常见CRC参数模型如下:

RC算法名称 多项式公式 宽度 多项式 初始值 结果异或值 输入反转 输出反转
CRC-4/ITU x4 + x + 1 4 03 00 00 true true
CRC-5/EPC x5 + x3 + 1 5 09 09 00 false false
CRC-5/ITU x5 + x4 + x2 + 1 5 15 00 00 true true
CRC-5/USB x5 + x2 + 1 5 05 1F 1F true true
CRC-6/ITU x6 + x + 1 6 03 00 00 true true
CRC-7/MMC x7 + x3 + 1 7 09 00 00 false false
CRC-8 x8 + x2 + x + 1 8 07 00 00 false false
CRC-8/ITU x8 + x2 + x + 1 8 07 00 55 false false
CRC-8/ROHC x8 + x2 + x + 1 8 07 FF 00 true true
CRC-8/MAXIM x8 + x5 + x4 + 1 8 31 00 00 true true
CRC-16/IBM x16 + x15 + x2 + 1 16 8005 0000 0000 true true
CRC-16/MAXIM x16 + x15 + x2 + 1 16 8005 0000 FFFF true true
CRC-16/USB x16 + x15 + x2 + 1 16 8005 FFFF FFFF true true
CRC-16/MODBUS x16 + x15 + x2 + 1 16 8005 FFFF 0000 true true
CRC-16/CCITT x16 + x12 + x5 + 1 16 1021 0000 0000 true true
CRC-16/CCITT-FALSE x16 + x12 + x5 + 1 16 1021 FFFF 0000 false false
CRC-16/X25 x16 + x12 + x5 + 1 16 1021 FFFF FFFF true true
CRC-16/XMODEM x16 + x12 + x5 + 1 16 1021 0000 0000 false false
CRC-16/DNP x16 + x13 + x12 + x11 + x10 + x8 + x6 + x5 + x2 + 1 16 3D65 0000 FFFF true true
CRC-32 x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1 32 04C11DB7 FFFFFFFF FFFFFFFF true true
CRC-32/MPEG-2 x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1 32 04C11DB7 FFFFFFFF 00000000 false false

标签:解释,00,false,16,校验,CRC,x2,true
From: https://www.cnblogs.com/dzdiy/p/17167839.html

相关文章

  • linux 交叉工具链解释说明
    arm-linux-androideabi-ar建立、修改、提取归档文件(.a文件)arm-linux-androideabi-as汇编器,将汇编语言程序切换为ELF格式的可重定位目标代码。arm-lin......
  • 通信基础知识-名词解释
    AWGN:加性高斯白噪声(AWGN)是一个数学模型,用于仿真发射机和接收机之间的信道。这个模型是线性增加的宽带噪声,具有恒定的频谱密度和高斯分布的幅度。AWGN不适用于衰落、互......
  • 从0开始自制解释器——添加对括号的支持
    在上一篇我们添加了对乘除法的支持,也介绍了BNF范式,并且针对当前的算术表达式写出了对应的范式,同时根据范式给出相应的代码实现。这篇我们将继续为算数表达式添加对括号的支......
  • 2 - 线程 - Windows 10 - CPython 解释器 - 多线程并行(实际并发)
    @目录一、线程和进程介绍进程基本概念面向线程设计的系统内部解析-用户态/内核态线程基本概念二、对进程线程并发并行的实际运行过程的理解:CPython多线程争抢GIL——......
  • 参数合法性校验JSR303
    JSR303校验前端请求后端接口传输参数,是在controller中校验还是在Service中校验?答案是都需要校验,只是分工不同。Contoller中校验请求参数的合法性,包括:必填项校验,数据格式......
  • Python安装和解释器
    开始学习Python编程,首先就得把Python安装到你的电脑里。安装后,你会得到Python解释器(就是负责运行Python程序的),一个命令行交互环境,还有一个简单的集成开发环境。安装Python......
  • [FastAPI-18]Filed请求体校验
    importrandomfromfastapiimportFastAPIfrompydanticimportField,BaseModelimporttypingapp=FastAPI()'''请求体的每一个字段需要单独校验name长度最......
  • 设要采用CRC编码传送的数据信息x=1001,当生成多项式为G(x)=1101时,请写出它的循环校验码
    题目:设要采用CRC编码传送的数据信息x=1001,当生成多项式为G(x)=1101时,请写出它的循环校验码。若接收方收到的数据信息x'=1101,说明如何定位错误并纠正错误根据题目描述,需......
  • ABAP-代码规范校验程序
    1REPORTy4_b4_test41.23*PARAMETERS:p_progliketrdir-name.45DATA:gr_scanTYPEREFTOcl_ci_scan,6gr_sourceTYPEREFTOcl_ci_source......
  • NES 名词解释
    本文介绍了NES(FC、红白机、小霸王)中一些名词或者术语,主要与PPU有关。Tile8x8像素图像。每像素2比特,共16字节大小。每个像素可以使用4种颜色。Sprite表示屏......