- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
帧 校 验
帧 校 验
帧校验是数据通信领域中最常用的一种差错校验方法。
将一帧数据看成一个很长的二进制数(如将一段128字节的信息看成一个1024位的二进制数),然后采用规定的方发对该数据进行处理,处理结果获得一个特定的数,最后将这个特定的数作为校验码附在信息代码之后作为一帧一起传送(或存储),在进行接收(或读出)时进行同样的处理,核对处理所获取的特定的数和效验码是否相同,就可以发现传送(或存储)过程中是否发生差错。
帧校验使用最多的方法是累加和校验和循环冗余CRC校验。
一、累加和校验
发送方,校验和生成器将数据单元细分成大小都为n(通常是8或16)比特的几段。这些分段采用反码算法加在一起(从最低位列开始,逐列相加,0+0=0,1+0=1,1+1=10,1+1+1(进位)=11,如果最高位产生进位,则在结果最低位上加1),使得整个结果仍然是n比特长。该总和(校验和)随后取反并当作冗余段加在原始数据单元的末尾,称作校验和域。因此如果数据单元段的和是T,校验和就将是—T(见图1)。为生成校验和,发送方必须完成以下工作,再将加了冗余段的扩展的数据单元通过网络进行传输。
图1 校验和
* 数据单元被分成k段,每段n比特;
* 将分段l和分段2按反码相加求和;
* 将分段3加到上一步的结果上。
* 将分段4加到上一步的结果上。
* 重复上述过程,直到分段k被加到上一步的结果为止。
* 对最后结果取反得到校验和。
2、校验和校验器
接收方按照上图的方式切分数据单元(最后一个分段是校验和域)并且将所有分段相加。如果扩展数据单元是完整正确的,各数据段和校验和域相加的最后结果应该是零(T加-T是0)。如果结果不是0(全1),意味着数据包包含着错误,因而接收方拒绝接受该数据单元。
欲00111001 接收 00111001 和 校验和00000001 和 发送00111001
3、可靠性
校验和检测所有涉及奇数个比特的错误,以及大多数涉及偶数个比特的错误。但是,如果在某一段中的一个或多个比特被破坏,并且在下一个分段中具有相反值的对应位也被破坏,这些列的和将不变,因此接收方将检测不到问题。如果一个分段的最后一个数位是0并且在传输中变成了l,那么另一个分段的最后一个l变为0将造成该错误的不可检测。在LRC检测中,因为不计加法进位,可以在不改变校验位的情况下将两个0同时改变为 l。校验和技术保留了所有的进位,因此,尽管两个0变为l不会改变它们自身列的值,却会改变高位列的数值。但当一个比特的反相被另一数据分段对应数位上具有相反值的比特反相所抵消时,该错误对于校验和技术来说就是不可见的。
4、变型
采用反码加法程序比较麻烦,所以常用另外2种累加和算法。
(1)异或法(模2加)
∑X=X1异或X2异或X3异或X4异或X5异或Xn
(2)不管最高进位的累加法(模256加)
∑X=X1 ADD X2 ADD X3 ADD X4 ADD X5 ADD Xn
二、 循环冗余校验(CRC校验)
虽然采用“和校验”可以发现几个连续位的差错,但不能检测出信息之间的顺序差错(任意交换各字节之间的位置,其校验和不变),检错能力有限。现在,应用最广泛、功能最强大的检错码是循环冗余校验码(Cyclical Redundancy Check ,缩写为CRC)。据文献资料分析,当采用余数为16位的CRC时,它的错误发现率如下 :
单个位的差错 : 100%
双位差错 : 100%
奇数个差错 : 100%
比16位短的突发性差错 : 100%
恰好17位的突发性差错 : 99.9969%
其它所有的突发性差错 : 99.9984%
如此强大的检错能力使CRC广泛地使用在数据存储与数据通信中,并且在国际上已经形成了规范,以硬件形式做进磁盘驱动器和通信产品(如调制解调器)中。
常用的CRC码,已成为国际标准,有下列几种。
名称 生成多项式 应用举例 CRC-4 x4+x+1 ITU G.704 CRC-12 x12+x11+x3+x+1
文档评论(0)