文章详情
所在位置: 首页> 技术文章> 其它>

CRC从原理到实现

日期:2020-09-19 05:52
浏览次数:664
摘要:
    
          数据通信中,接收端需要检测在传输过程中是否发生差错,常用的技术有奇偶校验(Parity Check),校验和(Checksum)和CRC(Cyclic Redundancy Check)。它们都是发送端对消息按照某种算法计算出校验码,然后将校验码和消息一起发送到接收端。接收端对接收到的消息按照相同算法得出校验码,再与接收到的校验码比较,以判断接收到消息是否正确。
          奇偶校验只需要1位校验码,其计算方法也很简单。以奇检验为例,发送端只需要对所有消息位进行异或运算,得出的值如果是0,则校验码为1,否则为0。接收端可以对消息进行相同计算,然后比较校验码。也可以对消息连同校验码一起计算,若值是0则有差错,否则校验通过。通常说奇偶校验可以检测出1位差错,实际上它可以检测出任何奇数位差错。
          校验和的思想也很简单,将传输的消息当成8位(或16/32位)整数的序列,将这些整数加起来而得出校验码,该校验码也叫校验和。校验和被用在IP协议中,按照16位整数运算,而且其MSB(Most Significant Bit)的进位被加到结果中。
          显然,奇偶校验和校验和都有明显的不足。奇偶校验不能检测出偶数位差错。对于校验和,如果整数序列中有两个整数出错,一个增加了一定的值,另一个减小了相同的值,这种差错就检测不出来。 
  
尊敬的客户:

          本公司有crc清洁剂crc润滑剂三防漆等产品,您可以通过网页拨打本公司的服务专线了解更多产品的详细信息,至善至美的服务是我们永无止境的追求,欢迎新老客户放心选购自己心仪产品,我们将竭诚为您服务!

沪公网安备 31011702005021号