03数据校验

数据校验是为保证数据的完整性进行的一种验证操作。通常用一种指定的算法对原始数据计算出的一个校验值,接收方用同样的算法计算一次校验值,如果两次计算得到的检验值相同,则说明数据是完整的。


校验方法:

1.奇偶检验:根据传输的二进制数据和奇偶校验位中“1”的个数进行校验。如果连同校验位中“1”的个数是奇数,就是奇校验;反之,就是偶校验。 

例:

假设要发送的全部二进制信息就只包含7个“1” 

则如果是奇校验,那么连同校验位,所有“1”的数量必须是奇数,所以最后校验位是0

则如果是偶校验,那么连同校验位,所有“1”的数量必须是偶数,所以最后校验位是1 


2.CRC循环冗余校验:利用除法及余数的原理来作错误侦测(Error Detecting)的。实际应用时,发送装置计算出CRC值并随数据一同发送给接收装置,接收装置对收到的数据重新计算CRC并与收到的CRC相比较,若两个CRC值不同,则说明数据通讯出现错误。

CRC的计算过程如下:

    (1)设置CRC寄存器,并将其赋值位FFFF(HEX码)

    (2)将数据的第一个8-bit字符与16位CRC寄存器的低8位进行异或,并将结果保存到CRC寄存器中。

    (3)将CRC寄存器向右移1位,MSB(Most Significant Bit,最高有效位)补0,移出并检查LSB(Lease Significant Bit,最低有效位)。
    (4)如果LSB为0,重复 “第3步”。若LSB为1,CRC寄存器与多项式码相抑或,
    (5)重复 “第3步” 到 “第4步” 直到8次移位全部完成。此时一个9-bit数据处理完毕。
    (6)重复 “第2步” 到 “第5步” 直到所有数据全部处理完毕。
    (7)最终CRC寄存器的值就是CRC的值。


3.bcc异或校验法:将所有数据都和一个指定的初始值(通常是0)异或一次,所得结果为校验值。接收方收到数据后自己也计算一次异或和校验值,如果和收到的校验值一致就说明收到的数据是完整的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值