【技术实现步骤摘要】
一种循环冗余校验的计算方法和装置
[0001]本专利技术涉及一种循环冗余校验(Cyclic Redundancy Check,简称为CRC)的计算方法,同时也涉及相应的计算装置,属于数字通信
技术介绍
[0002]循环冗余校验是一种根据文件数据产生简短校验码的散列函数校验方法,主要用来校验数据传输或者保存后可能出现的错误。它的校验过程包括如下步骤:
[0003](1)选择一个用于在接收端进行校验时,对接收的帧进行除法运算的除数;
[0004](2)根据所选定的除数二进制位数(假设为k位,K为正整数),然后在要发送的数据帧(假设为m位,m为正整数)后面加上k-1位“0”,然后以这个加了k-1个“0”的新帧(一共是m+k-1位)以“模2除法”方式除以上面这个除数,所得到的余数(也是二进制的比特串)就是该帧的CRC校验码,也称之为FCS(帧校验序列);
[0005](3)再把这个CRC校验码附加在原数据帧(就是m位的帧)后面,构建一个新帧发送到接收端,最后在接收端再把这个新帧以“模2除法”方式除以前面选择的除数,如果没有余数,则表明该帧在传输过程中没出错,否则出现了差错。
[0006]在申请公布号为CN112350735A的中国专利申请中,公开了循环冗余校验的计算方法及系统,根据软件配置初始设置寄存器的初始值和多项式设置寄存器的值,将多项式设置寄存器的值输入CRC运算寄存器中,以满足CRC多项式运算;将待计算数据输入CRC运算寄存器进行运算,其中CRC运算寄存器包括N个CrcCal ...
【技术保护点】
【技术特征摘要】
1.一种循环冗余校验的计算方法,其特征在于包括如下步骤:(1)根据循环冗余校验的生成多项式G(x)构造系数矩阵F;(2)求出F
N
再取模2,所得到的矩阵为CRC系数矩阵A;(3)判断输入数据的宽度M与生成多项式的次数N的大小关系,当N≥M时,对F
N
取模2,从CRC系数矩阵A的前M列得到DATA系数矩阵B;当(X-1)N<M≤XN时,对F
N
、F
2N
、F
3N
…
F
XN
分别取模2,取F
XN
的后M-(X-1)N列,拼接在{F
(X-1)N
,
…
,F
3N
,F
2N
,F
N
}矩阵前,得到DATA系数矩阵B;其中,X为正整数且X≥2;(4)根据如下循环冗余校验的计算公式,获得CRC计算结果crc
out
:其中,A为CRC系数矩阵,B为DATA系数矩阵,为逻辑异或运算,crc
in
为上一次的CRC计算结果,data
in
是待校验的输入数据。2.如权利要求1所述的循环冗余校验的计算方法,其特征在于:所述步骤(1)中,根据生成多项式G(x)构造系数矩阵F:其中,G
’
为生成多项式G(x)对应的多项式矩阵,E为单位矩阵。3.如权利要求1所述的循环冗余校验的计算方法,其特征在于:所述步骤(4)中,crc
in
为数字电路中crc
out
延时一周期的输出结果。4.如权利要求1所述的循环冗余校验的计算方法,其特征在于:所述步骤(4)中,二进制乘法用
‘
&
’
实现,模2运算用按位异或
‘
^
’
实现。5.一种循环冗余校验的计算装置,其特征在于包括...
【专利技术属性】
技术研发人员:梁伟杰,何代明,杨磊,李成武,贾莹莹,
申请(专利权)人:天津兆讯电子技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。