1、循环校验码(CRC码):是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。
2、生成CRC码的基本原理:任意一个由二进制位串组成的代码都可以和一个系数仅为‘0’和‘1’取值的多项式一一对应。例如:代码1010111对应的多项式为x6+x4+x2+x+1,而多项式为x5+x3+x2+x+1对应的代码101111。
3、CRC码集选择的原则:若设码字长度为N,信息字段为K位,校验字段为R位(N=K+R),则对于CRC码集中的任一码字,存在且仅存在一个R次多项式g(x),使得
V(x)=A(x)g(x)=xRm(x)+r(x);
其中: m(x)为K次信息多项式, r(x)为R-1次校验多项式,
g(x)称为生成多项式:
g(x)=g0+g1x+ g2x2+...+g(R-1)x(R-1)+gRxR
发送方通过指定的g(x)产生CRC码字,接收方则通过该g(x)来验证收到的CRC码字。
4、CRC校验码软件生成方法:
借助于多项式除法,其余数为校验字段。
例如:信息字段代码为: 1011001;对应m(x)=x6+x4+x3+1
假设生成多项式为:g(x)=x4+x3+1;则对应g(x)的代码为: 11001
x4m(x)=x10+x8+x7+x4 对应的代码记为:10110010000;
采用多项式除法: 得余数为: 1010 (即校验字段为:1010)
发送方:发出的传输字段为: 1 0 1 1 0 0 1 1 0 10
信息字段 校验字段
接收方:使用相同的生成码进行校验:接收到的字段/生成码(二进制除法)如果能够除尽,则正确。
通俗一点讲,就是首先由要发送的信息码1 0 1 1 0 0 1 和生成多项式码11001得到最终要发送的信息的长度即信息码长度+生成多项式码长度-1。在计算最终信息码的时候首先将信息码后面补多项式码长度-1个0,即1 0 1 1 0 0 1 0000,然后将得到的中间码和多项式码进行模2除法,并将最后的余数1010,添加到信息码的后面即1 0 1 1 0 0 1 1 0 10,最终生成CRC校验码。
分享到:
相关推荐
轻松应用CRC校验CRC校验应用实例CRC校验应用实例CRC校验应用实例
本工具支持常用的所有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-...
嵌入式MCGS串口通信快速入门及编程实例_第10章_Modbus通信之CRC校验_CRC计算.pdf嵌入式MCGS串口通信快速入门及编程实例_第10章_Modbus通信之CRC校验_CRC计算.pdf嵌入式MCGS串口通信快速入门及编程实例_第10章_Modbus...
资源名:VB实现CRC校验程序源码 资源类型:程序源代码 源码说明: CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环...
4、CRC校验码软件生成方法: 借助于多项式除法,其余数为校验字段。 例如:信息字段代码为: 1011001;对应m(x)=x6+x4+x3+1 假设生成多项式为:g(x)=x4+x3+1;则对应g(x)的代码为: 11001 x4m(x)=x10+x8+x7...
将三个二进制文件合并为一个bin文件,并间隔2k增加crc校验。 运行:双击mergefile.exe 执行合并:将文件dfu_setting.dat+APP1.bin+APP2.bin 合并为MERGE_ota.bin MERGE_ota.bin头部有各个文件合并的起始位置和长度...
此CRC校验工具支持:CRC3、CRC4、CRC5、CRC6、CRC7、CRC8、CRC11、CRC12、CRC13、CRC14、CRC15、CRC16、CRC17、CRC21、CRC24、 CRC30、CRC31、CRC32、CRC40、CRC64、CRC82、Adler32全面的105种CRC算法,支持显示标准...
CAN通信采用CRC校验作为一种重要的错误检测手段,是节点判断CAN帧信息的完整性并产生确认应答的依据。 在现场总线通信和控制的实际应用中,工业应用环境往往是极端的温度以及电磁噪声或是其他的恶劣环境,系统在...
CRC校验码生成工具,CRC校验码生成工具,CRC校验码生成工具
crc校验程序 crc校验程序 crc校验程序
CRC 校验 编码,使用js实现CRC编码
嵌入式CRC校验封装函数,能通过报文内容准确计算出报文的CRC校验
基于三菱PLC的crc校验梯形图(moudle_bus),CRC即循环冗余校验码(Cyclic Redundancy Check ):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一...
自己写的一个CRC校验程序,基于1200环境 ,使用SCL语言编程,为了和不知名的设备进行串口通讯,又无法使用西门子自己的Modbus RTU协议,使用自由口必须要用到的CRC校验,亲测可用,可与CRC校验软件输出一致,附带...
Android开发中使用CRC校验,博客地址:http://blog.csdn.net/duanbokan/article/details/51282614
CRC校验码计算器 CRC校验码计算器(包含8位16位32位)
三菱PLC crc校验程序
32位CRC校验c语言代码,参数:内容,长度,种子值,直接调接口即可使用。
三菱FX1n系列PLC编程的CRC校验程序,可代替FX3U的CRC指令,应用于标准的MODBUS通讯中,ABB变频器测试有效
4、CRC校验小工具。 5、十六进制通信协议提取部分位并根据自定义数据类型转化为十进制 6、字符格式示波器,例:">P:-1.25",示波器显示曲线名称P,数值-1.25,曲线个数最多8个。 7、类似MODBUS协议截取第2-5位,合成...