当前位置:文档之家› 奇偶校验是一种校验代码传输正确性的方法

奇偶校验是一种校验代码传输正确性的方法

奇偶校验是一种校验代码传输正确性的方法。

根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。

采用奇数的称为奇校验,反之,称为偶校验。

采用何种校验是事先规定好的。

通常专门设置一个奇偶校验位,用它使这组代码中“1”的个数为奇数或偶数。

若用奇校验,则当接收端收到这组代码时,校验“1”的个数是否为奇数,从而确定传输代码的正确性
单向奇偶校验
概述
单向奇偶校验(Row Parity)由于一次只采用单个校验位,因此又称为单个位奇偶校验(Single Bit Parity)。

发送器在数据祯每个字符的信号
位后添一个奇偶校验位,接收器对该奇偶校验位进行检查。

典型的例子是面向ASCII码的数据信号祯的传输,由于ASCII码是七位码,因此用第八个位码作为奇偶校验位。

单向奇偶校验又分为奇校验(Odd Parity)和偶校验(Even Parity),发送器通过校验位对所传输信号值的校验方法如下:奇校验保证所传输每个字符的8个位中1的总数为奇数;偶校验则保证每个字符的8个位中1的总数为偶数。

显然,如果被传输字符的7个信号位中同时有奇数个(例如1、3、5、
7)位出现错误,均可以被检测出来;但如果同时有偶数个(例如2、4、6)
位出现错误,单向奇偶校验是检查不出来的。

一般在同步传输方式中常采用奇校验,而在异步传输方式中常采用偶校验。

校验方法
奇校验:就是让原有数据序列中(包括你要加上的一位)1的个数为奇数
1000110(0)你必须添0这样原来有3个1已经是奇数了所以你添上0之后1的个数还是奇数个。

偶校验:就是让原有数据序列中(包括你要加上的一位)1的个数为偶数
1000110(1)你就必须加1了这样原来有3个1要想1的个数为偶数就只能添1了。

使用
由于它很简单,所以奇偶校验位用于许多计算机硬件中遇到麻烦时能够重新操作或者通过简单的错误检测就能起到很大作用的场合。

例如SCSI总线使用奇偶校验位检测传输错误,许多微处理器的指令高速缓存中也包括奇偶校验位保
护。

因为指令缓存数据是主内存数据的副本,所以在发现错误的时候能够抛弃错误数据并且重新取回数据。

在串行数据通信中,常用的格式是 7 个数据位、1 个校验位、1 到 2 个停止位。

这种格式用方便的 8 位字节巧妙地适应了所有的 7 位 ASCII 字符。

也可以用其它的格式表示,8 位数据加上 1 个校验位可以传输任意的 8 位字节数据。

在串行通信中,奇偶校验位通常是由UART这样的接口硬件生成、校验的,在接收方,通过接口硬件中的寄存器的状态位传给 CPU 以及操
作系统。

错误数据的恢复通常是通过重新发送数据,这个过程通常由如操
作系统输入输出程序这样的软件处理的。

相关主题