×
嵌入式 > 技术百科 > 详情

奇偶校验码

发布时间:2020-06-08 发布时间:
|
奇偶校验码是一种开销最小,能发现数据代码中一位出错情况的编码,常用于存储器读写检查,或ASCII字符、其它类型信息传送过程中的出错检查。它的实现原理,是使原来合法编码码距由1增加到2。若合法编码中有一个二进制位的值出错了,由1变成0,或由0变成1,这个码必将成为非法编码。实现的具体方法,通常是为一个字节补充一个二进制位,称为校验位,通过设置校验位的值为0或1的方式,使字节自身的8位和该校验位含有1值的位数一定为奇数或偶数。在使用奇数个1的方案进行校验时,称为奇校验,反之则称为偶校验。依据八位的数据位中为1值的个数确定校验位的值,是由专设的线路实现的。例如,当要把一个字节的值写进主存时,首先用此电路形成校验位的值,然后将这9位的代码作为合法数据编码写进主存。当下一次读出这一代码时,再用相应线路检测读出9位码的合法性。若在主存写进、存储、或读出的过程中,某一个二进制位上出现错误,得到的9位码必变成非法编码,从而发现一定是哪一位上出现了错误。这种方案只能发现一位错或奇数个位出错,但不能确定是哪一位错,也不能发现偶数个位出错。考虑到,一位出错的概率比多位同时出错的概率高得多,该方案还是有很好的实用价值。

  下面给出对几个字节值的奇偶校验的编码结果:

    数据    奇校验的编码   偶校验的编码
   00000000    100000000     000000000
   01010100    001010100     101010100
   01111111    001111111     101111111
   11111111    111111111     011111111

  该例子中,码字的最高一位为校验位,其余低八位为数据位。从中可以看到,校验位的值取0还是1,是由数据位中1的个数、是奇校验还是偶校验方案共同决定的。

 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
家庭网络:从带宽共享走向内容共享