例如原来数据(加校验位之前是七位),通过对1的个数的判断,比如采用奇检验,添上一位o或1,使此时的八位二进制数1的个数为奇数个,偶检验相反。
发送端传输字节8’bx0111010;x是校验位,使用奇校验,因为字节中有效数据位中1的个数为4位,所以x位填1,是字节满足1的个数为奇数。
快速确定校验位
缩位异或运算符^, bits = 7’b0111010; 因为 ^bits = 0; 所以 x = 1’b1; 此处若bits中有5个1,^bits1 = 1; 那么x=1’b0;
接收端奇校验
对接收的字节进行缩减异或,若为1则正确,0位错误。偶校验相反。
偶检验的波形图,初始数据7位,得到检验位,接收端收到8位数后,偶检验判断正确为0,错误为1,上图五个数据传输正确。