奇偶校验器的功能是检验数据中所含“1”的个数是奇数还是偶数。在计算机和一些数字通信系统中,常用奇偶校验器来检查数据传输和数码记录表中是否存在错误。
奇偶校验包含两种方式:奇校验和偶校验。奇校验保证传输数据和校验位中“1”的总数为奇数,如果数据中包含奇数个“1”,则校验位置“0”;如果数据中包含偶数个“1”,则校验位置“1”。例如,需要传输1100111,数据中包含5个“1”,采用奇校验,校验位为“0”,将“1100_1110”传输给接收机。
偶校验保证传输数据和校验位中“1”的总数为偶数,如果数据中包含奇数个“1”,则校验位置“1”;如果数据中包含偶数个“1”,则校验位置“0”。例如,需要传输1100111,数据中包含5个“1”,采用偶校验,校验位为“1”,将“1100_1111”传输给接收机。
奇偶校验只能检测部分传输错误,它不能确定错误发生在哪位或哪几位,所以不能进行错误校正。当数据发送错误时只能重新发送数据。
校验器的输入b0~b7由7bit数据和1bit校验位组成。Fod为判奇输出,Fev为判偶输出。当采用奇校验时,Fod=1,Fev=0;当采用偶校验时,Fod=0,Fev=1。
输出表达式
Fod=b0⊕b1⊕b2⊕b3⊕b4⊕b5⊕b6⊕b7
Fev=(b0⊕b1⊕b2⊕b3⊕b4⊕b5⊕b6⊕b7)'
例如:采用奇校验检测“1100_111”,数据包含5个“1”,校验位为“0”,校验器的输入b0~b7为“1100_1110”,Fod=1,Fev=0。
原理图
方法一:结构描述
(1)代码
(2)抽象描述