System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据通信,特别涉及一种数据校验结果确定方法、装置、电子设备及存储介质。
技术介绍
1、在数据通信
,由于fpga(field-programmable gate array,现场可编程门阵列)芯片具有速度快、效率高、灵活稳定、可反复使用以及集成度高的优点,常被作为数据通讯接口用于实现串行通信。为减少信号干扰等原因所造成的通信异常情况,除了提高硬件的可靠性以外,还可以在数据的编码上提供检错和纠错支持,crc(cyclic redundancycheck,循环冗余校验码)是数据通信领域中最常用的一种差错校验码,其原理为:针对要发送的原始数据代码,为避免信号干扰以及判断数据接收端所读取的数据代码是否为数据发送端的原始数据代码,对数据发送端的原始数据代码加上校验数据,该校验数据即crc校验码。在数据传输过程中,如果发生传输错误,crc校验码会生成非法代码,甚至能够根据非法代码来确定发生传输错误的具体位置,因此,根据crc校验码能够判断数据接收端所接收的数据代码是否正确。
2、由于以太网数据传输对延时要求较高,低延迟系统需要在单周期内计算出帧数据的32位crc校验值,对于千兆以太网的传输数据位宽为8bit,传统crc运算方案是在当前周期内同时进行以太网数据位异或和传递crc结果再异或的处理,需要涉及同时对3~14个数据的异或处理,处理结果通过组合逻辑直接输出,进而导致运算门延迟高,运算效率低。
技术实现思路
1、本申请提供一种数据校验结果确定方法、装置、电子设备及
2、本申请提供一种数据校验结果确定方法,包括:
3、在接收到发送端发送的数据包时,确定所述数据包对应的循环冗余校验运算公式;
4、将所述数据包对应的循环冗余校验运算公式拆分为第一子公式和第二子公式,其中,所述第一子公式与所述数据包的数据相关,所述第二子公式与所述数据包的前一数据包的校验值相关;
5、将所述第一子公式和所述第二子公式放入能够复用相同计算资源的不同运算单元进行计算,以获取第一子公式对应的第一运算结果和第二子公式对应的第二运算结果;
6、将所述第一运算结果和第二运算结果进行组合以确定所述数据包对应的循环冗余校验结果。
7、本申请的有益效果在于:在接收到发送端发送的数据包时,能够将数据包对应的循环冗余校验运算公式拆分为多个子公式,并将所述多个子公式放入不同的运算单元进行计算,缩短了运算公式长度,而不同的运算单元在运算时,可以复用相同的逻辑门进行计算,降低了门延迟,提高了数据校验的运算速率。
8、在一个实施例中,所述将所述第一子公式和所述第二子公式放入能够复用相同计算资源的不同运算单元进行计算,以获取第一子公式对应的第一运算结果和第二子公式对应的第二运算结果,包括:
9、将所述第一子公式放入组合逻辑运算单元中进行计算,并将所述第二子公式放入时序逻辑运算单元中进行计算,其中,所述时序逻辑运算单元计算出所述第二运算结果时,将所述第二运算结果存储在寄存器中;
10、在经过一个时钟周期之后,获取所述组合逻辑单元中的第一运算结果和所述寄存器中存储的第二运算结果。
11、本实施例的有益效果在于:通过将第一子公式放入组合逻辑运算单元中进行计算,并将第二子公式放入时序逻辑运算单元中进行计算后的第二运算结果存储在寄存器中,以便计算时直接进行提取,进而使得组合逻辑和时序逻辑配合使用,平衡了可配置逻辑资源的使用,节省了逻辑门资源。
12、在一个实施例中,当所述发送端发送的数据包为同组数据中第一个数据包时,所述确定所述数据包对应的循环冗余校验运算公式,包括:
13、获取预存储的循环冗余校验初始值;
14、将所述循环冗余校验初始值作为前一数据包的校验值生成所述数据包对应的循环冗余校验运算公式。
15、在一个实施例中,还包括:
16、当所述发送端发送的数据包为同组数据中最后一个数据包时,确定所述数据包对应的循环冗余校验结果为所述同组数据的第一循环冗余校验结果。
17、在一个实施例中,所述方法还包括:
18、当计算出同组数据的第一循环冗余校验结果时,根据所述同组数据的第一循环冗余校验结果对所述同组数据进行校验;
19、当所述同组数据校验通过时,将所述同组数据转发给接收端。
20、在一个实施例中,所述方法还包括:
21、在将所述同组数据转发给接收端时,在所述同组数据的最后一个数据包中添加所述第一循环冗余校验结果。
22、在一个实施例中,所述同组数据的最后一个数据包中包含所述发送端所生成的第二循环冗余校验结果,所述根据所述同组数据的循环冗余校验结果对所述同组数据进行校验,包括:
23、提取所述第二循环冗余校验结果;
24、将所述第一循环冗余结果与所述第二循环冗余结果进行比对;
25、当所述第一循环冗余结果与所述第二循环冗余结果比对一致时,确定所述同组数据校验通过。
26、在一个实施例中,还包括:
27、当所述第一循环冗余结果与所述第二循环冗余结果比对不一致时,确定所述同组数据校验未通过;
28、向所述发送端发出所述同组数据中出现数据丢失的提示信息。
29、在一个实施例中,所述确定所述数据包对应的循环冗余校验运算公式,包括:
30、根据用于生成循环冗余校验运算公式的软件生成所述数据包对应的循环冗余校验运算公式,其中,所述循环冗余校验运算公式中包括所述数据包特定位置数据的异或逻辑关系以及前一数据包校验值中预设位置数据的异或逻辑关系。
31、在一个实施例中,所述将所述第一运算结果和第二运算结果进行组合以确定所述数据包对应的循环冗余校验结果,包括:
32、将所述第一运算结果和所述第二运算结果进行异或运算;
33、确定所述异或运算的运算结果为所述数据包对应的循环冗余校验结果。
34、本申请一种数据校验结果确定装置,包括:
35、第一确定模块,用于在接收到发送端发送的数据包时,确定所述数据包对应的循环冗余校验运算公式;
36、拆分模块,用于将所述数据包对应的循环冗余校验运算公式拆分为第一子公式和第二子公式,其中,所述第一子公式与所述数据包的数据相关,所述第二子公式与所述数据包的前一数据包的校验值相关;
37、计算模块,用于将所述第一子公式和所述第二子公式放入能够复用相同计算资源的不同运算单元进行计算,以获取第一子公式对应的第一运算结果和第二子公式对应的第二运算结果;
38、第二确定模块,用于将所述第一运算结果和第二运算结果进行组合以确定所述数据包对应的循环冗余校验结果。
39、在一个实施例中,所述计算模块,包括:
40、计算子模块,用于将所述第一子公式放入组合逻辑运算单元中本文档来自技高网...
【技术保护点】
1.一种数据校验结果确定方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述将所述第一子公式和所述第二子公式放入能够复用相同计算资源的不同运算单元进行计算,以获取第一子公式对应的第一运算结果和第二子公式对应的第二运算结果,包括:
3.如权利要求1所述的方法,其特征在于,当所述发送端发送的数据包为同组数据中第一个数据包时,所述确定所述数据包对应的循环冗余校验运算公式,包括:
4.如权利要求1所述的方法,其特征在于,还包括:
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
7.如权利要求5所述的方法,其特征在于,所述同组数据的最后一个数据包中包含所述发送端所生成的第二循环冗余校验结果,所述根据所述同组数据的第一循环冗余校验结果对所述同组数据进行校验,包括:
8.如权利要求7所述的方法,其特征在于,还包括:
9.如权利要求1所述的方法,其特征在于,所述确定所述数据包对应的循环冗余校验运算公式,包括:
...【技术特征摘要】
1.一种数据校验结果确定方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述将所述第一子公式和所述第二子公式放入能够复用相同计算资源的不同运算单元进行计算,以获取第一子公式对应的第一运算结果和第二子公式对应的第二运算结果,包括:
3.如权利要求1所述的方法,其特征在于,当所述发送端发送的数据包为同组数据中第一个数据包时,所述确定所述数据包对应的循环冗余校验运算公式,包括:
4.如权利要求1所述的方法,其特征在于,还包括:
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
7.如权利要求5所述的方法,其特征在于,所述同组数据的最后一个数据包中包含所述发送端所生成的第二循环冗余...
【专利技术属性】
技术研发人员:吴红军,
申请(专利权)人:北京罗克维尔斯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。