1.5.2 奇偶校验电路

1.奇偶校验码

奇偶校验码=信息位(n位二进制代码)+奇偶校验位(1位代码)

奇偶校验位的取值原则如下:

1)采用奇校验时,使整个代码组中“1”的个数为奇数。

2)采用偶校验时,使整个代码组中“1”的个数为偶数。

2.奇偶校验电路

奇偶校验电路用于检测代码在传输和存储过程中是否出现差错。奇偶校验电路有奇、偶校验两个输出标志,可用作发送端的奇偶校验位发生器;也可用作接收端的奇偶检验器,产生奇偶校验和。若约定为奇校验,一般采用偶校验电路产生发送端的校验位,而用奇校验电路在接收端检验数据的正确性;若约定为偶校验,一般采用奇校验电路产生发送端的校验位,而用偶校验电路在接收端检验数据的正确性。由于它很简单,所以奇偶校验电路用于许多计算机硬件中遇到麻烦时能够重新操作或者通过简单的错误检测就能起到很大作用的场合。例如SCSI(小型计算机系统接口)总线使用奇偶校验电路检测传输错误,许多微处理器的指令高速缓存中也包括奇偶校验电路保护。因为指令缓存数据是主内存数据的副本,所以在发现错误时能够抛弃错误数据并且重新取回数据。偶校验应用示意图如图1-12所示。

在串行数据通信中,常用的格式是7个数据位、1个校验位、1~2个停止位。这种格式用方便的8位字节巧妙地适应了所有的7位ASCII字符。也可以用其他的格式表示,8位数据加上1个校验位可以传输任意的8位字节数据。

在串行通信中,奇偶校验电路通常是由UART(通用异步收发器)这样的接口硬件生成、校验的,在接收方,通过接口硬件中的寄存器的状态位传给CPU以及操作系统。错误数据的恢复通常是通过重新发送数据,这个过程通常是由操作系统输入输出程序来处理的。

图1-12 偶校验应用示意图