一种获得CRC码的方法及装置与流程

文档序号:21541350发布日期:2020-07-17 17:43阅读:来源:国知局

技术特征:

1.一种获得循环冗余校验crc码的方法,其特征在于,应用于获得crc的装置中,所述获得crc的装置包括crc寄存器,所述方法包括:

按照目标比特数量,将待处理数据依次分成n个数据切片;其中,所述n个数据切片中的每个数据切片的比特数量与所述目标比特数量均为m,n为正整数;

将第i数据切片与所述crc寄存器中的当前值进行异或运算,得到第i异或运算结果,所述n个数据切片包括第i数据切片,i为大于或等于1且小于n的正整数;

对所述第i异或运算结果进行划分以及补0操作,获得满足第一条件的h个子切片;其中,m能被h整除,所述第一条件为h个子切片的比特数量依次递减m/h个比特,且h个子切片中所有子切片的有效净荷比特数量均相同,有效净荷比特数量是指所述每个子切片中补0之前的比特数量,h大于或等于2;

根据预存的余式表,获得所述第i异或运算结果的h个子切片中的每个子切片对应的crc余式,从而获得所述第i异或运算结果的h个crc余式;

若n为1,则根据所述第i异或运算结果的h个子切片进行异或运算,获得所述待处理数据的crc码;

若n大于1,则根据所述第i异或运算结果的h个crc余式,以及所述n个数据切片中除了所述第i数据切片之外的数据切片,获得所述待处理数据的crc码。

2.如权利要求1所述的方法,其特征在于,根据所述第i异或运算结果的h个crc余式,以及所述n个数据切片中除了所述第i数据切片之外的数据切片,获得所述待处理数据的crc码,包括:

将所述crc寄存器中的当前值更新为所述第i异或运算结果;

对所述第i异或运算结果的h个crc余式,以及第i+1数据切片进行异或运算,获得第i+1异或运算结果,所述n个数据切片包括所述第i+1个数据切片;

将i依次从1取到n-1,当i取到n-1时,则所述第i+1个异或运算结果为所述待处理数据的crc码。

3.如权利要求1所述的方法,其特征在于,根据所述第i异或运算结果的h个crc余式,以及所述n个数据切片中除了所述第i数据切片之外的数据切片,获得所述待处理数据的crc码,包括:

将所述crc寄存器中的当前值更新为所述第i异或运算结果;

对所述第i异或运算结果的h个crc余式与第i+2数据切片进行异或运算,得到第i+2异或运算结果,并同时根据所述余式表,获得第i+1异或运算结果的h个子切片的h个crc余式;其中,所述第i+1异或运算结果的h个子切片满足所述第一条件,所述第i+1异或运算结果为第i+1数据切片与所述crc寄存器中的当前值的异或运算的结果,所述n个数据切片包括所述第i+2数据切片和所述第i+1数据切片;

将i依次从1取到n-2,当i取到n-2时,则对所述第i+1异或运算结果的h个crc余式和第i+2异或运算结果进行异或运算,获得所述待处理数据的crc码。

4.如权利要求1-3任一所述的方法,其特征在于,对所述第i异或运算结果进行划分以及补0操作,获得满足第一条件的h个子切片,包括:

将所述第i异或运算结果划分为h个有效净荷子切片,所述h个有效净荷子切片中每个有效净荷子切片的比特数量均相同;

将所述每个有效净荷子切片中的有效净荷数据移位到高位,并将所述每个有效净荷子切片的低位补0,从而获得所述第i异或运算结果的h个子切片。

5.如权利要求4所述的方法,其特征在于,按照目标比特数量,将待处理数据依次分成n个数据切片,包括:

确定所述待处理数据的比特数量能否被所述目标比特数量整除;

若所述待处理数据的比特数量不能被所述目标比特数量整除,则对所述待处理数据进行移位补0操作;

将移位补0操作后的所述待处理数据划分为比特数量均为m的n个数据切片。

6.一种获得循环冗余校验crc码的装置,其特征在于,包括:

存储器,用于存储计算机指令;

处理器,包括crc寄存器,所述处理器与所述存储器通信连接,用于执行所述存储器中的计算机指令,以在执行所述计算机指令时执行如下操作:

按照目标比特数量,将待处理数据依次分成n个数据切片;其中,所述n个数据切片中的每个数据切片的比特数量与所述目标比特数量均为m,n为正整数;

将第i数据切片与所述crc寄存器中的当前值进行异或运算,得到第i异或运算结果,所述n个数据切片包括第i数据切片,i为大于或等于1且小于n的正整数;

对所述第i异或运算结果进行划分以及补0操作,获得满足第一条件的h个子切片;其中,m能被h整除,所述第一条件为h个子切片的比特数量依次递减m/h个比特,且h个子切片中所有子切片的有效净荷比特数量均相同,有效净荷比特数量是指所述每个子切片中补0之前的比特数量,h大于或等于2;

根据预存的余式表,获得所述第i异或运算结果的h个子切片中的每个子切片对应的crc余式,从而获得所述第i异或运算结果的h个crc余式;

若n为1,则根据所述第i异或运算结果的h个子切片进行异或运算,获得所述待处理数据的crc码;

若n大于1,则根据所述第i异或运算结果的h个crc余式,以及所述n个数据切片中除了所述第i数据切片之外的数据切片,获得所述待处理数据的crc码。

7.如权利要求6所述的装置,其特征在于,所述处理器具体用于:

将所述crc寄存器中的当前值更新为所述第i异或运算结果;

对所述第i异或运算结果的h个crc余式,以及第i+1数据切片进行异或运算,获得第i+1异或运算结果,所述n个数据切片包括所述第i+1个数据切片;

将i依次从1取到n-1,当i取到n-1时,则所述第i+1个异或运算结果为所述待处理数据的crc码。

8.如权利要求6所述的装置,其特征在于,所述处理器具体用于:

将所述crc寄存器中的当前值更新为所述第i异或运算结果;

对所述第i异或运算结果的h个crc余式与第i+2数据切片进行异或运算,得到第i+2异或运算结果,并同时根据所述余式表,获得第i+1异或运算结果的h个子切片的h个crc余式;其中,所述第i+1异或运算结果的h个子切片满足所述第一条件,所述第i+1异或运算结果为第i+1数据切片与所述crc寄存器中的当前值的异或运算的结果,所述n个数据切片包括所述第i+2数据切片和所述第i+1数据切片;

将i依次从1取到n-2,当i取到n-2时,则对所述第i+1异或运算结果的h个crc余式和第i+2异或运算结果进行异或运算,获得所述待处理数据的crc码。

9.如权利要求6-8任一所述的装置,其特征在于,所述处理器具体用于:

将所述第i异或运算结果划分为h个有效净荷子切片,所述h个有效净荷子切片中每个有效净荷子切片的比特数量均相同;

将所述每个有效净荷子切片中的有效净荷数据移位到高位,并将所述每个有效净荷子切片的低位补0,从而获得所述第i异或运算结果的h个子切片。

10.如权利要求6-8任一所述的装置,其特征在于,所述处理器具体用于:

确定所述待处理数据的比特数量能否被所述目标比特数量整除;

若所述待处理数据的比特数量不能被所述目标比特数量整除,则对所述待处理数据进行移位补0操作;

将移位补0操作后的所述待处理数据划分为比特数量均为m的n个数据切片。

11.一种获得循环冗余校验crc码的装置,其特征在于,包括:

收发模块,用于接收待处理数据;

处理模块,用于按照目标比特数量,将待处理数据依次分成n个数据切片;其中,所述n个数据切片中的每个数据切片的比特数量与所述目标比特数量均为m,n为正整数;

所述处理模块,还用于将第i数据切片与所述crc寄存器中的当前值进行异或运算,得到第i异或运算结果,所述n个数据切片包括第i数据切片,i为大于或等于1且小于n的正整数;

所述处理模块,还用于对所述第i异或运算结果进行划分以及补0操作,获得满足第一条件的h个子切片;其中,m能被h整除,所述第一条件为h个子切片的比特数量依次递减m/h个比特,且h个子切片中所有子切片的有效净荷比特数量均相同,有效净荷比特数量是指所述每个子切片中补0之前的比特数量,h大于或等于2;

所述处理模块,还用于获得所述第i异或运算结果的h个子切片中的每个子切片对应的crc余式,从而获得所述第i异或运算结果的h个crc余式;

所述处理模块,还用于若n为1,则根据所述第i异或运算结果的h个子切片进行异或运算,获得所述待处理数据的crc码;

所述处理模块,还用于若n大于1,则根据所述第i异或运算结果的h个crc余式,以及所述n个数据切片中除了所述第i数据切片之外的数据切片,获得所述待处理数据的crc码。

12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如权利要求1-5中任一项所述的方法。


技术总结
本申请提供一种获得CRC码的方法及装置,用于减少并行计算多比特数据的CRC码过程中占用的内存空间。该方法包括:按照目标比特数量,将待处理数据依次分成N个数据切片;将第i数据切片与CRC寄存器中的当前值进行异或运算,得到第i异或运算结果;对第i异或运算结果进行处理,获得满足第一条件的H个子切片;根据预存的余式表,获得第i异或运算结果的H个CRC余式;若N为1,则根据第i异或运算结果的H个子切片进行异或运算,获得待处理数据的CRC码;若N大于1,则根据第i异或运算结果的H个CRC余式,以及N个数据切片中除了第i数据切片之外的数据切片,获得待处理数据的CRC码。

技术研发人员:山珊;李丹妮
受保护的技术使用者:电信科学技术研究院有限公司
技术研发日:2019.01.09
技术公布日:2020.07.17
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1