CRC计算方法.docx
《CRC计算方法.docx》由会员分享,可在线阅读,更多相关《CRC计算方法.docx(4页珍藏版)》请在优知文库上搜索。
1、1CRC校验原理CRC校验原理看起来比较困难,好难懂,因为大多数书上基本上是以二进制的多项式形式来说明的。其实很简洁的问题,其根本思想就是先在要发送的帧后面附加一个数(这个就是用来校验的校验码,但要留意,这里的数也是二进制序列的,下同),生成一个新帧发送给接收端。当然,这个附加的数不是随意的,它要使所生成的新帧能与发送端和接收端共同选定的某个特定数整除(留意,这里不是干脆采纳二进制除法,而是采纳一种称之为“模2除法”)。到达接收端后,再把接收到的新帧除以(同样采纳“模2除法”)这个选定的除数。因为在发送端发送数据帧之前就已通过附加一个数,做了“去余”处理(也就已经能整除了),所以结果应当是没有
2、余数。假如有余数,则表明该帧在传输过程中出现了差错。【说明】“模2除法”与“算术除法”类似,但它既不向上位借位,也不比较除数和被除数的相同位数值的大小,只要以相同位数进行相除即可。模2加法运算为:1+1=0,0+1=1,0+0=0,无进位,也无借位;模2减法运算为:17=0,0-1=1,1-0=1,0-0=0,也无进位,无借位。相当于二进制中的逻辑异或运算。也就是比较后,两者对应位相同则结果为“0”,不同则结果为“1。如100lOl除以1110,结果得到商为11,余数为1,如图5-9左图所示。如1111=101,如图5-9右图所示。图5-9“模2除法”和“模2乘法”示例详细来说,CRC校验原理
3、就是以下几个步骤:(1)先选择(可以随机选择,也可按标准选择,详细在后面介绍)一个用于在接收端进行校验时,对接收的帧进行除法运算的除数(是二进制比较特串,通常是以多项方式表示,所以CRC又称多项式编码方法,这个多项式也称之为“生成多项式。(2)看所选定的除数二进制位数(假设为k位),然后在要发送的数据帧(假设为m位)后面加上k-1位“0”,然后以这个加了k-1个“0的新帧(一共是m+k-1位)以“模2除法”方式除以上面这个除数,所得到的余数(也是二进制的比特串)就是该帧的CRC校验码,也称之为FCS(帧校验序列)。但要留意的是,余数的位数肯定要是比除数位数只能少一位,哪怕前面位是0,甚至是全为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CRC 计算方法