循环冗余校验电路及其方法、装置以及芯片、电子设备与流程

文档序号:16059843发布日期:2018-11-24 12:04阅读:207来源:国知局

本发明涉及计算机技术领域,特别是涉及一种循环冗余校验电路及其方法、装置以及芯片、电子设备。

背景技术

循环冗余校验码(cyclicredundancycheck,crc)用于校验数据传输的正确性与完整性,crc运算具有很强的检错能力,易于用编码器或检测电路实现。

图1是传统技术提供一种crc8串行移位电路的结构示意图。如图1所示,该电路的生成多项式为:g=g8x8+g7x7+...+g1x1+1,其能够进行移位以计算出crc校验码。

发明人在实现本发明的过程中,发现传统技术至少存在以下问题:进行crc计算时,每输入一位信息码d,便需要一个时钟周期,当输入d0、d1......dn-1共nbit信息码,则需要n个时钟周期。因此,进行crc计算时,需要较多时间输入多位信息码,导致crc计算时间比较冗长。



技术实现要素:

本发明实施例的一个目的旨在提供一种循环冗余校验电路及其方法、装置以及芯片、电子设备,其解决了现有技术存在着crc计算效率低下的问题。

为解决上述技术问题,本发明实施例提供以下技术方案:

在第一方面,本发明实施例公开一种循环冗余校验电路,所述电路包括:配置模块,用于获取配置信息与信息字段;crc仲裁模块,用于根据所述配置信息,确定生成多项式;crc控制模块,用于响应于所述crc仲裁模块的触发,输出时钟信号、所述生成多项式中各次幂对应的系数及信息字段;并行迭代模块,用于响应于所述时钟信号,根据所述生成多项式中各次幂对应的系数,将所述信息字段进行并行迭代处理,以输出迭代结果;crc输出模块,用于根据所述迭代结果,封装所述信息字段。

可选的,所述配置信息包括j-1位crc初始值,所述并行迭代模块包括i*j个迭代单元;第i-1行第0列迭代单元用于接收所述信息字段中对应位的信息值;第0行第j-1列迭代单元用于响应于所述时钟信号,根据所述crc初始值及生成多项式中对应次幂的系数,计算出第0行第j-1列迭代单元的输出值;第i行第j列迭代单元用于响应于所述时钟信号,根据第i-1行第j-1迭代单元的输出值与生成多项式中对应次幂的系数,计算出第i行第j列迭代单元的输出值,i与j皆为正整数。

可选的,每个所述迭代单元至少包括一个乘法器与异或器;第i-1行第j-1列的乘法器用于将最高次幂对应的系数、最高位对应的crc初始值及对应次幂的系数进行相乘,并且输出相乘结果;第i-1行第0列的异或器用于将相乘结果与所述信息字段中对应位的信息值进行异或,输出第i-1行第0列迭代单元的输出值;第0行第j列的异或器用于将相乘结果与第j-1位对应crc初始值进行异或,输出第0行第j列迭代单元的输出值;第i行第j列的异或器用于将相乘结果与第i-1行第j-1迭代单元的输出值进行异或,输出第i行第j列迭代单元的输出值。

可选的,所述配置信息包括crc类型与生成多项式的各项系数;所述crc仲裁模块用于根据所述配置信息,确定生成多项式,包括:所述crc仲裁模块用于根据所述crc类型与生成多项式的各项系数,确定生成多项式的类型与所述生成多项式中各次幂对应的系数。

可选的,所述crc类型包括以下任意一种:crc4、crc7、crc8、crc12、crc16、crc32。

在第二方面,本发明实施例提供一种循环冗余校验方法,所述方法包括:获取配置信息与信息字段;根据所述配置信息,确定生成多项式与所述生成多项式中各次幂对应的系数;根据所述生成多项式中各次幂对应的系数,将所述信息字段进行并行迭代处理,以输出迭代结果;根据所述迭代结果,封装所述信息字段。

可选的,所述配置信息包括crc初始值;所述根据所述生成多项式中各次幂对应的系数,将所述信息字段进行并行迭代处理,以输出迭代结果,包括:根据所述生成多项式中各次幂对应的系数与crc初始值,将所述信息字段进行并行迭代处理,以输出迭代结果。

可选的,所述配置信息包括crc类型与生成多项式的各项系数;所述根据所述配置信息,确定生成多项式与所述生成多项式中各次幂对应的系数,包括:根据所述crc类型与生成多项式的各项系数,确定生成多项式的类型与所述生成多项式中各次幂对应的系数。

在第三方面,本发明实施例提供一种循环冗余校验装置,所述装置包括:获取模块,用于获取配置信息与信息字段;确定模块,用于根据所述配置信息,确定生成多项式与所述生成多项式中各次幂对应的系数;迭代模块,用于根据所述生成多项式中各次幂对应的系数,将所述信息字段进行并行迭代处理,以输出迭代结果;封装模块,用于根据所述迭代结果,封装所述信息字段。

可选的,所述配置信息包括crc初始值;所述迭代模块具体用于:根据所述生成多项式中各次幂对应的系数与crc初始值,将所述信息字段进行并行迭代处理,以输出迭代结果。

可选的,所述配置信息包括crc类型与生成多项式的各项系数;所述确定模块具体用于:根据所述crc类型与生成多项式的各项系数,确定生成多项式的类型与所述生成多项式中各次幂对应的系数。

在第四方面,本发明实施例提供一种芯片,所述芯片包括如上述任一的循环冗余校验电路。

在第五方面,本发明实施例提供一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有电子设备的可执行指令,所述可执行指令用于使所述电子设备执行如上述任一的循环冗余校验方法。

在第六方面,一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够用于执行如上述任一的循环冗余校验方法。

在本发明各个实施例中,配置模块获取配置信息与信息字段,crc仲裁模块根据配置信息,确定生成多项式,crc控制模块响应于crc仲裁模块的触发,输出时钟信号与生成多项式中各次幂对应的系数,并行迭代模块响应于时钟信号,根据生成多项式中各次幂对应的系数,将信息字段进行并行迭代处理,以输出迭代结果,crc输出模块根据迭代结果,封装信息字段。因此,一方面,其只需一个周期的时钟信号便可以完成信息字段的并行迭代处理,从而提高crc计算的效率。另一方面,其可以灵活配置各类配置信息,以适应多种多样的crc计算需求。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1是传统技术提供一种crc8串行移位电路的结构示意图;

图2是本发明实施例提供一种crc校验的应用场景示意图;

图3是本发明实施例提供一种循环冗余校验电路的结构示意图;

图4是本发明实施例提供一种crc校验的时序图;

图5是本发明实施例提供一种采用crc8类型的并行迭代模块的结构示意图;

图6是本发明实施例提供一种采用crc8类型并且迭代四位信息字段的并行迭代模块的结构示意图;

图7是图6的迭代表;

图8是本发明实施例提供一种循环冗余校验装置的结构示意图;

图9是本发明实施例提供一种循环冗余校验方法的流程示意图;

图10是本发明实施例提供一种电子设备的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

crc校验原理是在一个k位二进制数据序列之后附加一个(n-r)位二进制校验码(序列),从而构成一个总长为n=k+r位的二进制序列。附加在数据序列之后的校验码与数据序列的内容之间存在着某种特定的关系。若因干扰等原因使数据序列中的某一位或某些位发生错误,此种特定关系被破坏,特此,通过crc校验算法或crc校验电路校验此类关系,便可以校验数据序列的正确性。

当进行crc校验时,发送方与接收方需要事先约定一个除数,即生成多项式,一般记作g(x)。生成多项式的最高位与最低位必须是1。常用的crc码的生成多项式有:

crc8=x8+x5+x4+1;

crc-ccitt=x16+x12+x5+1;

crc16=x16+x15+x5+1;

crc12=x12+x11+x3+x2+1;

crc32=x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x1+1;

进一步的,如上所述,为了进行差错校验,需要在k位的信息字段后添加的(n-r)位冗余码。

进一步的,在crc校验过程中,需要用到模2计算方法,所谓的模2计算方法是按位异或(exclusiveor)运算,即相同为0,相异为1,也就是不考虑进位、借位的二进制加减运算。如:10011011+11001010=01010001。

crc校验码的计算原理如下:

设信息字段为k位,校验字段为r位,则码字长度为n(n=k+r)。设双方事先约定了一个r次多项式g(x),则crc码:

v(x)=a(x)g(x)=xrm(x)+r(x)

其中:m(x)为k次信息多项式,r(x)为r-1次校验多项式。

r(x)对应的代码即为冗余码,亦即,冗余码加在原信息字段后即形成crc码。

r(x)的计算方法为:在k位信息字段的后面添加r个0,再除以g(x)对应的代码序列,得到的余数即为r(x)对应的代码(应为r-1位;若不足,而在高位补0)。

例如:

信息字段代码为:1011001;对应m(x)=x6+x4+x3+1

假设生成多项式为:g(x)=x4+x3+1;则对应g(x)的代码为:11001

x4m(x)=x10+x8+x7+x4对应的代码记为:10110010000;

采用多项式除法,得到余数为:1010(即校验字段为:1010)

发送方:发出的传输字段为:

10110011010

信息字段校验字段

接收方:使用相同的生成码进行校验:接收到的字段/生成码(二进制除法),如果能够除尽,则正确。

为了进一步阐述crc校验的工作原理,本发明实施例提供一种crc校验的应用场景。如图2所示,该应用场景200包括以下元素:电子标签21、读写器22及云端服务器23。云端服务器23可以是一个物理服务器或者多个物理服务器虚拟而成的一个逻辑服务器。云端服务器23也可以是多个可互联通信的服务器组成的服务器群。

电子标签21由芯片和耦合元件构成,内置天线与读写器通讯。读写器22内嵌有crc校验模块,当读写器22向电子标签21发送通信数据时,crc校验模块使用预设的生成多项式校验与封装该通信数据,从而使传输通信数据更加可靠。电子标签21接收到该通信数据之后,使用同样的生成多项式对该通信数据进行校验,并且校验成功,电子标签21向读写器22返回校验成功信息,读写器22将该校验成功信息发送至云端服务器23进行存储,以便用户在云端服务器23进一步开发该校验成功信息。

crc校验模块根据该通信数据计算crc校验码时,需要一个时钟信息方可输入通信数据中一位信息码,导致读写器22未能够迅速响应电子标签21以完成读写过程。并且,crc校验模块未能够根据通信协议要求灵活配置对应的生成多项式以更加迅速或精确地计算出crc校验码。

特此,本发明实施例提供一种循环冗余校验电路。如图3所示,该循环冗余校验电路300包括配置模块31、crc仲裁模块32、crc控制模块33、并行迭代模块34及crc输出模块35。

配置模块31获取配置信息与信息字段。配置信息可以包括crc类型、生成多项式、crc初始值、信息字段翻转处理信息及迭代结果异或与翻转处理信息,配置信息用于指示循环冗余校验电路300选择对应的配置信息完成crc校验与输出数据的处理。crc类型包括以下任意一种:crc4、crc7、crc8、crc12、crc16、crc32。生成多项式包括生成多项式类型与该生成多项式中各次幂对应的系数,其中,生成多项式类型与crc类型对应,并且用户可以根据协议或者产品需求自行定义生成多项式类型与生成多项式中各次幂对应的系数。crc初始值用于初始化并行迭代模块34,其中,该crc初始值可以是协议定义值或上一次并行迭代出的输出值,crc初始值的位数与并行迭代模块34的迭代位数关联。信息字段翻转处理信息用于指示配置模块31根据协议预先将信息字段的各个信息码进行翻转。迭代结果异或与翻转处理信息用于指示crc输出模块35对迭代结果进行异或与翻转处理。

例如,配置信息包括信息字段翻转处理信息,配置模块21根据该信息字段翻转处理信息,对信息字段预先进行翻转处理,以便符合协议输出预处理的对应信息字段。

例如,配置信息包括crc类型或生成多项式。当crc类型是crc8(crc8=x8+x5+x4+1)时,则crc仲裁模块32选择crc8对应的生成多项式进行校验,并且确定g0=1,g1=g2=g3=g4=0,g5=g6=1,g7=0,g8=1。当crc类型是crc16时,同理可得,可以确定对应的生成多项式进行校验。当然,用户可以不选择标准crc类型,而选择自定义的生成多项式进行校验,例如,g(x)=x5+x3+1。此时,crc仲裁模块32根据该生成多项式,确定5次幂的系数为1,3次幂的系数为1,0次幂的系数为1,1次幂、2次幂及4次幂的系数为0。

再例如,配置信息包括crc初始值。当crc初始值为01010101时,并行迭代模块34同时接收crc初始值的输入与信息字段进行迭代处理。

信息字段是发送方向接收方发送的通信数据,其是二进制序列。

crc仲裁模块32根据配置信息,确定生成多项式之后,向crc控制模块33发送触发信号,crc控制模块33根据该触发信号向并行迭代模块34发送时钟信号、生成多项式中各次幂对应的系数及信息字段,并行迭代模块34响应于该时钟信号,并行完成信息字段的输入,并且根据生成多项式中各次幂对应的系数,将信息字段进行并行迭代处理,以输出迭代结果。crc输出模块35根据迭代结果,封装信息字段。在封装该信息字段,并且配置信息包括迭代结果异或与翻转处理信息时,crc输出模块35可以对迭代结果进行异或与翻转处理。

综上,采用该循环冗余校验电路300,一方面,如图4所示,其只需一个周期1t的时钟信号便可以完成信息字段的并行迭代处理,从而提高crc计算的效率。另一方面,其可以灵活配置各类配置信息,以适应多种多样的crc计算需求。

在一些实施例中,配置信息包括j-1位crc初始值,并且,并行迭代模块34包括i*j个迭代单元。其中,第i-1行第0列迭代单元用于接收信息字段中对应位的信息值。第0行第j-1列迭代单元用于响应于时钟信号,根据crc初始值及生成多项式中对应次幂的系数,计算出第0行第j-1列迭代单元的输出值。第i行第j列迭代单元用于响应于时钟信号,根据第i-1行第j-1迭代单元的输出值与生成多项式中对应次幂的系数,计算出第i行第j列迭代单元的输出值,i与j皆为正整数。

每个迭代单元至少包括一个乘法器与异或器。第i-1行第j-1列的乘法器用于将最高次幂对应的系数、最高位对应的crc初始值及对应次幂的系数进行相乘,并且输出相乘结果。第i-1行第0列的异或器用于将相乘结果与信息字段中对应位的信息值进行异或,输出第i-1行第0列迭代单元的输出值。第0行第j列的异或器用于将相乘结果与第j-1位对应crc初始值进行异或,输出第0行第j列迭代单元的输出值。第i行第j列的异或器用于将相乘结果与第i-1行第j-1迭代单元的输出值进行异或,输出第i行第j列迭代单元的输出值。

为了详细阐述并行迭代模块34,本发明实施例以crc8为例子,详细阐述并行迭代模块34的工作原理。如图5所示,crc初始值分别为:并行迭代模块34包括n*8个迭代单元341(i=n,j=1、2、3、4、5、6、7),n是正整数。其中,第0行第0列迭代单元用于接收信息字段(d0、d1......dn-2、dn-1)中对应位的信息值。第0行第j-1列迭代单元用于响应于时钟信号,根据crc初始值及生成多项式中对应次幂的系数(g0、g1、g2......g6、g7、g8),计算出第0行第j-1列迭代单元的输出值。第n行第j列迭代单元用于响应于时钟信号,根据第n-1行第j-1迭代单元的输出值与生成多项式中对应次幂的系数,计算出第n行第j列迭代单元的输出值,n与j皆为正整数。

每个迭代单元341至少包括一个乘法器3411与异或器3412。第i-1行第j-1列的乘法器3411用于将最高次幂对应的系数g8、最高位对应的crc初始值及对应次幂的系数进行相乘,并且输出相乘结果。第n-1行第0列的异或器3412用于将相乘结果与信息字段中对应位的信息值进行异或,输出第n-1行第0列迭代单元341的输出值。第0行第j列的异或器3412用于将相乘结果与第j-1位对应crc初始值进行异或,输出第0行第j列迭代单元341的输出值。第i行第j列的异或器3412用于将相乘结果与第i-1行第j-1迭代单元341的输出值进行异或,输出第i行第j列迭代单元341的输出值。

为了进一步详细阐述图5所示实施例的迭代过程,本发明实施例提供4位信息字段的迭代过程,如图6与图7所示,信息字段为d0、d1、d2、d3分别为0011,crc初始值分别为01010101,生成多项式中对应次幂的系数g0、g1、g2......g6、g7、g8分别为100001111。并行迭代模块34根据crc初始值、生成多项式中对应次幂的系数与信息字段进行迭代,迭代结果分别为:01101111。

在一些实施例中,与上述各个实施例的不同点在于,配置信息包括crc类型与生成多项式的各项系数。crc仲裁模块根据crc类型与生成多项式的各项系数,确定生成多项式的类型与所述生成多项式中各次幂对应的系数。因此,crc仲裁模块既可以根据crc类型便可以确定生成多项式的各项系数,又可以根据协议自定义生成多项式的各项系数以确定各次幂对应的系数,从而实现灵活配置生成多项式。

作为本发明实施例的另一方面,本发明实施例提供一种芯片,其包括如图2至图7任一项所述的循环冗余校验电路。芯片通过该循环冗余校验电路,其只需一个周期1t的时钟信号便可以完成信息字段的并行迭代处理,从而提高crc计算的效率。另一方面,其可以灵活配置各类配置信息,以适应多种多样的crc计算需求。

该芯片为通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、单片机、arm(acornriscmachine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。还有,嵌入式装置112还可以是任何传统处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如,dsp和微处理器的组合、多个微处理器、一个或多个微处理器结合dsp核、或任何其它这种配置。

作为本发明实施例的又另一方面,本发明实施例提供一种循环冗余校验装置。该循环冗余校验装置可借助软件加通用硬件平台的方式来实现循环冗余校验。并且,与上述各个实施例的不同点在于,本发明实施例还可以通过灵活配置用于指示crc校验的各类配置信息以满足各类应用需求。特此,如图8所示,该循环冗余校验装置800包括获取模块81、确定模块82、迭代模块83及封装模块84。

获取模块81用于获取配置信息与信息字段。确定模块82用于根据配置信息,确定生成多项式与生成多项式中各次幂对应的系数。迭代模块83用于根据生成多项式中各次幂对应的系数,将信息字段进行并行迭代处理,以输出迭代结果。封装模块84用于根据迭代结果,封装信息字段。

配置信息可以包括crc类型、生成多项式、crc初始值、信息字段翻转处理信息及迭代结果异或与翻转处理信息,配置信息用于指示循环冗余校验装置800选择对应的配置信息完成crc校验与输出数据的处理。crc类型包括以下任意一种:crc4、crc7、crc8、crc12、crc16、crc32。生成多项式包括生成多项式类型与该生成多项式中各次幂对应的系数,其中,生成多项式类型与crc类型对应,并且用户可以根据协议或者产品需求自行定义生成多项式类型与生成多项式中各次幂对应的系数。crc初始值用于初始化,其中,该crc初始值可以是协议定义值或上一次并行迭代出的输出值,crc初始值的位数与并行迭代位数关联。信息字段翻转处理信息用于指示获取模块81根据协议预先将信息字段的各个信息码进行翻转。迭代结果异或与翻转处理信息用于指示封装模块84对迭代结果进行异或与翻转处理。

例如,配置信息包括信息字段翻转处理信息,获取模块81根据该信息字段翻转处理信息,对信息字段预先进行翻转处理,以便符合协议输出预处理的对应信息字段。

例如,配置信息包括crc类型或生成多项式。当crc类型是crc8(crc8=x8+x5+x4+1)时,则crc仲裁模块32选择crc8对应的生成多项式进行校验,并且确定g0=1,g1=g2=g3=g4=0,g5=g6=1,g7=0,g8=1。当crc类型是crc16时,同理可得,可以确定对应的生成多项式进行校验。当然,用户可以不选择标准crc类型,而选择自定义的生成多项式进行校验,例如,g(x)=x5+x3+1。此时,确定模块82根据该生成多项式,确定5次幂的系数为1,3次幂的系数为1,0次幂的系数为1,1次幂、2次幂及4次幂的系数为0。

再例如,配置信息包括crc初始值。当crc初始值为01010101时,迭代模块83同时接收crc初始值的输入与信息字段进行迭代处理。

信息字段是发送方向接收方发送的通信数据,其是二进制序列。

综上,采用该循环冗余校验装置800,一方面,其只需一个周期1t的时钟信号便可以完成信息字段的并行迭代处理,从而提高crc计算的效率。另一方面,其可以灵活配置各类配置信息,以适应多种多样的crc计算需求。

并且,由于循环冗余校验装置800的构思与上述各个实施例所述的循环冗余校验电路实现crc校验的构思一样,在内容不互相冲突下,循环冗余校验装置800的实施例可以引用上述各个实施例的内容,在此不赘述。

在一些实施例中,配置信息包括crc初始值,因此,迭代模块83具体用于:根据生成多项式中各次幂对应的系数与crc初始值,将信息字段进行并行迭代处理,以输出迭代结果。

在一些实施例中,配置信息包括crc类型与生成多项式的各项系数,因此,确定模块84具体用于:根据crc类型与生成多项式的各项系数,确定生成多项式的类型与生成多项式中各次幂对应的系数。

作为本发明实施例的又另一方面,本发明实施例提供一种循环冗余校验方法。与上述各个实施例的不同点在于,本发明实施例还可以通过灵活配置用于指示crc校验的各类配置信息以满足各类应用需求。如图9所示,该循环冗余校验方法900包括:

步骤91、获取配置信息与信息字段;

步骤92、根据配置信息,确定生成多项式与生成多项式中各次幂对应的系数;

步骤93、根据生成多项式中各次幂对应的系数,将信息字段进行并行迭代处理,以输出迭代结果;

步骤94、根据迭代结果,封装信息字段。

配置信息可以包括crc类型、生成多项式、crc初始值、信息字段翻转处理信息及迭代结果异或与翻转处理信息,配置信息用于指示循环冗余校验装置800选择对应的配置信息完成crc校验与输出数据的处理。crc类型包括以下任意一种:crc4、crc7、crc8、crc12、crc16、crc32。生成多项式包括生成多项式类型与该生成多项式中各次幂对应的系数,其中,生成多项式类型与crc类型对应,并且用户可以根据协议或者产品需求自行定义生成多项式类型与生成多项式中各次幂对应的系数。crc初始值用于初始化,其中,该crc初始值可以是协议定义值或上一次并行迭代出的输出值,crc初始值的位数与并行迭代位数关联。信息字段翻转处理信息用于根据协议预先将信息字段的各个信息码进行翻转。迭代结果异或与翻转处理信息用于对迭代结果进行异或与翻转处理。

例如,配置信息包括信息字段翻转处理信息,根据该信息字段翻转处理信息,对信息字段预先进行翻转处理,以便符合协议输出预处理的对应信息字段。

例如,配置信息包括crc类型或生成多项式。当crc类型是crc8(crc8=x8+x5+x4+1)时,则crc仲裁模块32选择crc8对应的生成多项式进行校验,并且确定g0=1,g1=g2=g3=g4=0,g5=g6=1,g7=0,g8=1。当crc类型是crc16时,同理可得,可以确定对应的生成多项式进行校验。当然,用户可以不选择标准crc类型,而选择自定义的生成多项式进行校验,例如,g(x)=x5+x3+1。此时,根据该生成多项式,确定5次幂的系数为1,3次幂的系数为1,0次幂的系数为1,1次幂、2次幂及4次幂的系数为0。

再例如,配置信息包括crc初始值。当crc初始值为01010101时,同时接收crc初始值的输入与信息字段进行迭代处理。

信息字段是发送方向接收方发送的通信数据,其是二进制序列。

综上,采用该循环冗余校验方法900,一方面,其只需一个周期1t的时钟信号便可以完成信息字段的并行迭代处理,从而提高crc计算的效率。另一方面,其可以灵活配置各类配置信息,以适应多种多样的crc计算需求。

在一些实施例中,配置信息包括crc初始值。步骤93包括:根据生成多项式中各次幂对应的系数与crc初始值,将信息字段进行并行迭代处理,以输出迭代结果。

在一些实施例中,配置信息包括crc类型与生成多项式的各项系数。步骤92包括:根据crc类型与生成多项式的各项系数,确定生成多项式的类型与生成多项式中各次幂对应的系数。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现循环冗余校验方法,当然也可以通过硬件实现。并且,由于循环冗余校验方法的构思与上述各个实施例所述的循环冗余校验装置实现循环冗余校验的构思一样,在内容不互相冲突下,循环冗余校验方法的实施例可以引用上述各个实施例的内容,在此不赘述。

作为本发明实施例的又一方面,本发明实施例提供一种电子设备。如图10所示,该电子设备100包括:存储介质11与处理器12,处理器12和存储介质11可以通过总线或者其他方式连接,图10中以通过总线连接为例。该存储介质作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的循环冗余校验方法对应的程序指令/模块。处理器12通过运行存储在存储器11中的非易失性软件程序、指令以及模块,从而执行循环冗余校验方法的各种功能应用以及数据处理,即实现上述方法实施例的循环冗余校验方法的各个模块的功能。

存储介质11可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储介质11可选包括相对于处理器12远程设置的存储器,这些远程存储器可以通过网络连接至处理器12。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

所述程序指令/模块存储在所述存储器11中,当被所述一个或者多个处理器12执行时,执行上述任意方法实施例中的循环冗余校验方法,例如,执行以上描述的各个步骤的功能。

本发明实施例还提供了一种非易失性计算机存储介质,非易失性计算机可读存储介质存储有电子设备的可执行指令,该可执行指令被一个或多个处理器执行,例如图10中的一个处理器12,可使得上述一个或多个处理器可执行上述任意方法实施例中的循环冗余校验方法,例如,执行上述任意方法实施例中的循环冗余校验方法。

以上所描述的装置或设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1