您现在所在的是:

DCS论坛

回帖:2个,阅读:402 [上一页] [1] [下一页]
893
yanauto
文章数:41
年度积分:50
历史总积分:893
注册时间:2011/1/20
发站内信
发表于:2013/12/4 8:17:25
#0楼
sixnet的CRC校验码怎么计算的,通过组态软件截取到SXINET协议的发送格式,但是就是不知道他是怎么得出的CRC校验码的,和常用的校验码好像是不一样,求大家给点建议,谢谢
837
db20131030
文章数:158
年度积分:50
历史总积分:837
注册时间:2013/11/7
发站内信
发表于:2013/12/4 10:56:59
#1楼
这个搜索了一下,也没有找到
倍加福P+F:www.debon-gk.com
机器视觉:www.debing.cn
962
yunpofeng
文章数:107
年度积分:50
历史总积分:962
注册时间:2013/9/12
发站内信
发表于:2013/12/4 11:31:08
#2楼
CRC码是由两部分组成,前部分是信息码,就是需要校验的信息,后部分是校验码,如果CRC码共长n个bit,信息码长k个bit,就称为(n,k)码。 它的编码规则是:
 1、首先将原信息码(kbit)左移r位(k+r=n)
 2、运用一个生成多项式g(x)(也可看成二进制数)用模2除上面的式子,得到的余数就是校验码。

 非常简单,要说明的:模2除就是在除的过程中用模2加,模2加实际上就是我们熟悉的异或运算,就是加法不考虑进位,公式是:
 0+0=1+1=0,1+0=0+1=1
即‘异’则真,‘非异’则假。
 由此得到定理:a+b+b=a 也就是‘模2减’和‘模2加’直值表完全相同。

 有了加减法就可以用来定义模2除法,于是就可以用生成多项式g(x)生成CRC校验码。

例如: g(x)=x4+x3+x2+1,(7,3)码,信息码110产生的CRC码就是:
            11
11101 | 110,0000
       111 01
         1 0100
         1 1101
           1001
余数是1001,所以CRC码是110,1001

标准的CRC码是,CRC-CCITT和CRC-16,它们的生成多项式是:
 CRC-CCITT=x^16+x^12+x^5+1
 CRC-16=x^16+x^15+x^2+1

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

46.8003