课程设计报告用模2除法计算CRC码的CRC校验软件设计
11页1、用模2除法计算CRC码的CRC校验软件设计一、设计目标1)掌握用模二除法实现CRC码的计算方法; 2)掌握用C语言计算CRC码的算法; 3)熟练并掌握C语言在通信网络中的编程实现方式及功能;4) 学会用C语言实现文件之间的读取和写入,实现共享传送功能;5)熟悉VC6.0的运行环境,熟练掌握在其中运行编译的各个步骤。二、设计原理和方法1、CRC简介及原理:CRC码为循环冗余校验码,基本表示方式为(n,k),其中n为数据位数,k为校验码位数。CRC码校验的基本思想是利用线性编码理论,在发送端根据要传送的(n,k)位二进制码序列,以一定的规则产生一个校验用的监督码(既CRC码)r位,并附在信息后边,构成一个新的二进制码序列数共(k+r)位,最后发送出去。在接收端,则根据信息码和CRC码之间所遵循的规则进行检验,以确定传送中是否出错。采用CRC校验时,发送方和接收方用同一个生成多项式g(x),并且g(x)的首位和最后一位的系数必须为1。CRC的处理方法是:发送方以g(x)去除t(x),得到余数作为CRC校验码。校验时,以计算的校正结果是否为0为据,判断数据帧是否出错。CRC校验可以100地检测
2、出所有奇数个随机错误和长度小于等于k(k为g(x)的阶数)的突发错误。所以CRC的生成多项式的阶数越高,那么误判的概率就越小。CCITT建议:2048 kbit/s的PCM基群设备采用CRC-4方案,使用的CRC校验采用16位CRC校验。在IBM的同步数据链路控制规程SDLC的帧校验序列FCS中,使用CRC-16。CRC的本质是模-2除法的余数,采用的除数不同,CRC的类型也就不一样。通常,CRC的除数用生成多项式来表示。最常用的CRC码的生成多项式有CRC16,CRC32. 32位CRC码的产生的规则是先将要发送的二进制序列数左移32位后,再除以一个多项式(生成多项式G(x)),最后得到的余数既是CRC码,如式(2-1)式所示,其中C(X)表示(n-k)位的二进制序列数,G(X)为多项式,Q(X)为商(整数),R(X)是余数(既CRC码)。(2-1) 求CRC码所采用模2加减运算法则,既是不带进位和借位的按位加减,这种加减运算实际上就是逻辑上的异或运算,加法和减法等价,乘法和除法运算与普通代数式的乘除法运算是一样,符合同样的规律。本课程设计中使用的生成多项式是由欧洲CRC32,即:
3、g(x)= x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1接收方将接收到的二进制序列数(包括信息码和CRC码)除以多项式,如果余数为0,则说明传输中无错误发生,否则说明传输有误。用软件计算CRC码时,接收方可以根据接收到的信息码求CRC码,比较结果和接收到的CRC码是否相同。例如信息位是“”、多项式g(x)=1001,用模二除法生成CRC码的过程如下所示:在信息位“”后面增加3个“0”,即“11011011000”用“11011011000”模二除g(x)=1001,r(x)=011;得到的余数“011”即为“”的CRC校验码;将其加在原数据后面,即“11011011011”,通过发送端发送,在接收端收到数据再除以多项式g(x),若余数为0,则传输正确,去掉后三位即得到需要的数据“”;若信道有干扰,使接收到的数据不是“”,除以多项式g(x)后余数不为0,则传输失败,等待重传。2、模二除法实现CRC校验的基本原理用计算机编程实现CRC校验码,采用寄存器移位的方法。假设待测数据是1101 0110 11,生成项是10011,假设有一个4
4、 bits的寄存器,通过反复的移位和进行CRC的除法,最终该寄存器中的值就是我们所要求的余数。 3 2 1 0 Bits +-+-+-+-+ Pop - | | | | | - Augmented message(已加0扩张的原始数据) +-+-+-+-+ 1 0 0 1 1 = The Poly 生成项依据这个模型,我们得到了一个最最简单的算法:把register中的值置0.把原始的数据后添加w个0.While (还有剩余没有处理的数据)Begin把register中的值左移一位,读入一个新的数据并置于register最低位的位置。If (如果上一步的左移操作中的移出的一位是1)register = register XOR Poly.End实际上就是模拟XOR除法的过程,即被测数据一位一位放到寄存器中来做除法。 比如生成项是10011,则生成的余数是4位XXXX,所以寄存器是4位。待测数据是1101 0110 11,后面加上0000,即扩张4位,以容纳余数。只要与生成项的0011做XOR就好了,最高位经过XOR肯定出0,可不用最高位。过程如下:待测数据先移4位即1101到寄存器中,
《课程设计报告用模2除法计算CRC码的CRC校验软件设计》由会员公****分享,可在线阅读,更多相关《课程设计报告用模2除法计算CRC码的CRC校验软件设计》请在金锄头文库上搜索。
某油库管道工艺施工组织方案
拆除申请报告
“浙江制造”认证模式与认证要求(重改)
财务部的个人工作总结
清徐碾底煤业项目工程部制度汇编
小学英语五年级下册教学计划
阿里巴巴企业营销策略分析
2023客房服务员年终工作总结范文(5篇)
2023公司销售工作计划标准范本(8篇)
设计类实习报告范文集锦七篇
老板年会发言稿简短感恩三(5篇)
集水井和提升泵房管理制度
幼儿园早操的设计与组织
运动会加油稿集锦15篇
云南白药物流
医院护士年终辞职报告
福建师范大学21春《教育统计与测量评价》在线作业二满分答案_1
高考英语总复习(五年高考)(三年联考)题库:词汇练习分类汇编动词和短语动词
小型涡轮减速器箱体零件的机械加工工艺规程课程设计—--标准.技术
2022年(春)二年级美术下册 第4单元 吉祥百变的巧手工 第12课《民族娃娃》教案 岭南版
2023-01-04 3页
2023-05-09 8页
2022-09-25 5页
2024-01-23 2页
2022-07-25 9页
2023-08-15 7页
2023-01-16 6页
2024-02-16 4页
2022-12-11 11页
2022-08-09 10页