一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种计算任意数据的CRC值方法及装置与流程

2021-11-05 21:28:00 来源:中国专利 TAG:

技术特征:
1.一种计算任意数据的crc值方法,其特征在于,包括:在数据序列的高位进行补零获取目标数据序列,目标数据序列的长度为并行运算模组宽度的整数倍;以并行运算模组的宽度为步进长度,将目标数据序列分为若干有序的子目标数据序列;定义crc值并初始化;子目标数据序列依次输入并行运算模组计算crc值,直至最后一个子目标数据序列处理完毕,并行运算模组实现crc并行迭代公式,crc并行迭代公式公式为:当前的crc值=crck(上一crc值,输入的子目标数据序列)^校正数值,其中,第一个子目标数据序列代入时,上一crc值等于初始化crc值。2.根据权利要求1所述计算任意数据的crc值方法,其特征在于,在数据序列的高位进行补零获取目标数据序列包括:获取数据序列的长度;数据序列的长度除以所述并行运算模组的宽度取余获取余数;计算余数的宽度;并行运算模组宽度减去余数的宽度获取补零数量;在数据序列高位按补零数量进行补零。3.根据权利要求1所述计算任意数据的crc值方法,其特征在于,将目标数据序列分为若干子目标数据序列时,从目标数据序列的最高位或最低位开始,以并行运算模组的宽度为步进长度,将目标数据序列分为若干有序的子目标数据序列,以使有序的子目标数据序列保留目标数据序列中数据的排列顺序信息。4.根据权利要求1所述计算任意数据的crc值方法,其特征在于,定义crc值并将crc值初始化为全1,初始化的crc值位数等于k。5.根据权利要求1所述计算任意数据的crc值方法,其特征在于,子目标数据序列依次输入crc并行迭代公式计算crc值,直至最后一个子目标数据序列处理完毕包括:获取目标数据所分的子目标数据序列的数量;构建统计子目标数据序列输入操作的计数变量,计数变量在子目标数据序列被输入计算后自动加一;判断计数变量是否小于子目标数据序列的数量,是则将下一子目标数据序列依次输入crc并行迭代公式计算crc值。6.根据权利要求1所述计算任意数据的crc值方法,其特征在于,在子目标数据序列输入crc并行迭代公式前,确定子目标数据序列中有效数据的宽度,根据有效数据的宽度选择对应的校正数值;将相应的子目标数据序列和校正数值代入如下crc并行迭代公式计算crc值:当前的crc值=crck(上一crc值,输入的子目标数据序列)^校正数值,其中,crck(上一crc值,输入的子目标数据序列)套用crck(a,b),crck表示不同的crc算法,k表示crc算法的位宽,a为crck算法执行时参与运算的crc寄存器中的初始值,b为crck算法执行时的输入数据,^为异或运算符。7.根据权利要求6所述计算任意数据的crc值方法,其特征在于,确定子目标数据序列
中有效数据的宽度,根据有效数据的宽度选择对应的校正数值包括:确定子目标数据序列的有效数据宽度值:从高位输入时,对第一个输入子目标数据序列进行有效数据宽度计算,或从低位输入时,对最后一个输入子目标数据序列进行有效数据宽度计算;其余的子目标数据序列有效数据宽度等于并行运算模组的宽度;判断子目标数据序列的有效数据的宽度是否等于并行运算模组的宽度,是则校正数值赋值为零,且校正数值位数为k;否则根据有效数据宽度和预先设置的校正数值计算规则获取对应的校正数值。8.根据权利要求7所述计算任意数据的crc值方法,其特征在于,第一个输入或最后一个输入子目标数据序列进行有效数据宽度计算过程如下:获取数据序列的长度,数据序列的长度除以所述并行运算模组的宽度取余获取余数,计算余数的宽度,根据余数的宽度确定子目标数据序列中有效数据的宽度。9.一种计算任意数据的crc值装置,其特征在于,包括数据序列参数处理模块,所述数据序列参数处理模块用于获取数据序列的长度,并用数据序列的长度除以并行运算模组的宽度获取并保存商和余数;补零模块,所述补零模块用于从所述数据序列参数处理模块获取余数并利用余数计算补零数量,根据补零数量在数据序列高位进行补零,生成目标数据序列保存;分组模块,所述分组模块用于根据并行运算模组的宽度对补零模块生成的目标数据序列进行分组为若干子目标数据序列;校正数值计算模块,所述校正数值计算模块配置实现校正数值计算规则,根据子目标数据序列的有效数据宽度选择相应的校正数值计算规则来计算校正数值;crc计算模块,所述crc计算模块包含并行运算模组,所述并行运算模组用于实现crc并行迭代公式;crc计算模块用于从所述数据序列参数处理模块获取商和余数,根据商和余数确定目标数据所分的子目标数据序列的数量,利用子目标数据序列的数量控制所述crc并行迭代公式的迭代过程;crc计算模块根据子目标数据序列的有效数据宽度确定crc并行迭代公式的校正数值;crc计算模块从分组模块获取子目标数据序列;将校正数值、子目标数据序列和crc并行迭代公式计算的crc值代入crc并行迭代公式迭代计算出最终的crc值。10.根据权利要求9所述计算任意数据的crc值装置,其特征在于,包括数据帧解析模块,所述数据帧解析模块用于解析数据包获取数据包中的数据序列,数据包中的校验序列以及数据序列的长度;判断模块,所述判断模块比较所述校验序列和所述crc计算模块计算的crc值是否相同,否则生成提示数据序列发生错误的信息。

技术总结
本申请涉及的计算任意数据的CRC值方法及装置,其中方法包括:在数据序列的高位进行补零获取目标数据序列,目标数据序列的长度为并行运算模组宽度的整数倍;以并行运算模组的宽度为步进长度,将目标数据序列分为若干有序的子目标数据序列;定义CRC值并初始化;子目标数据序列依次输入并行运算模组计算CRC值,直至最后一个子目标数据序列处理完毕,并行运算模组实现CRC并行迭代公式,CRC并行迭代公式公式为:当前的CRC值=CRCk(上一CRC值,输入的子目标数据序列)^校正数值,其中,第一个子目标数据序列代入时,上一CRC值等于初始化CRC值。本申请能够利用固定位宽的并行运算模组对任意长度数据进行CRC值计算,计算占用资源少,速度快。快。快。


技术研发人员:张旭佑
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2021.06.23
技术公布日:2021/11/4
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献