CN111865494A - 一种基于校验和的数据自检装置及方法 - Google Patents
一种基于校验和的数据自检装置及方法 Download PDFInfo
- Publication number
- CN111865494A CN111865494A CN202010578591.6A CN202010578591A CN111865494A CN 111865494 A CN111865494 A CN 111865494A CN 202010578591 A CN202010578591 A CN 202010578591A CN 111865494 A CN111865494 A CN 111865494A
- Authority
- CN
- China
- Prior art keywords
- checksum
- data
- check node
- node
- processing node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Detection And Correction Of Errors (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于校验和的数据自检装置及方法,所述数据自检装置包括:第一处理节点,用于形成一帧数据内容,对数据内容进行计算得出校验和A1,将校验和A1填入数据报文头的校验和字段中,并将其与数据内容按照时钟节拍顺序发送给第一校验节点;第一校验节点,电性连接于第一处理节点,用于接收到数据报文头和数据内容,并从数据报文头的校验和字段中提取出校验和A1,对数据内容进行计算得出校验和B1,判断校验和B1是否与校验和A1相一致,如果一致,将数据报文头和数据内容传送给第二处理节点;第二处理节点,电性连接于第一校验节点,用于接收由第一校验节点校验过的数据内容,并进行数据处理,本发明方便对错误的定位,加快调试进度。
Description
技术领域
本发明属于数据传输技术领域,尤其涉及一种可以保证数据的完整性和准确性的基于校验和的数据自检装置及方法。
背景技术
检验和(checksum),在数据处理和数据通信领域中,用于校验目的地一组数据项的和。校验和是指传输位数的累加,当传输结束时,接收者可以根据这个数值判断是否接到了所有的数据。如果数值匹配,那么说明传送已经完成。TCP和UDP传输层都提供了该功能。检验和通常用来在通信中,尤其是远距离通信中保证数据的完整性和准确性。
在FPGA上进行网络协议的解析处理过程中,多采用流水线式处理模式,即上游的处理节点完成数据处理后将会发送给下游的处理节点进行继续处理,然而对下游的处理节点无法判断接收的数据是否完整、准确的,一旦有某个处理节点接收的数据不完整或不准确,则最终FPGA产出的最终数据也为不准确,进而导致造成网络错误。
发明内容
为了解决上述问题,本发明的目的在于提供一种可以快速调试并在较高时钟频率下正常工作来实现传输层和网络层的校验和的高速计算的基于校验和的数据自检装置及方法。
本发明的目的是这样实现的:
本发明第一方面提出一种基于校验和的数据自检装置,所述数据自检装置包括:第一处理节点、第二处理节点及第一校验节点;
所述第一处理节点,用于形成一帧数据内容,通过反码求和算法对数据内容进行计算,并得出校验和A1,将校验和A1填入数据报文头的校验和字段中,并将其与所述数据内容按照时钟节拍顺序依次发送给所述第一校验节点;
所述第一校验节点,电性连接于所述第一处理节点,用于接收到数据报文头和数据内容,并从数据报文头的校验和字段中提取出校验和A1,通过反码求和算法对所述数据内容进行计算得出校验和B1,判断计算得到的校验和 B1是否与接收到的校验和A1相一致,如果一致,则将所述数据报文头和所述数据内容传送给所述第二处理节点;
所述第二处理节点,电性连接于所述第一校验节点,用于接收由所述第一校验节点校验过的数据内容,并进行数据处理。
进一步的,所述第一校验节点可配置为校正模式或非校正模式;当所述第一校验节点被配置为校正模式时,如果计算得到的校验和B1与接收到的校验和A1不一致,则将计算得到的校验和B1替换校验和A1置于所述数据报文头中,并将其与所述数据内容传送给所述第二处理节点;当所述第一校验节点被配置为非校正模式时,如果计算得到的校验和B1与接收到的校验和A1不一致,则直接舍弃所述数据内容。
进一步的,所述基于校验和的数据自检装置为FPGA板卡。
进一步的,所述第一处理节点对校验和A1的计算方式为:
所述第一处理节点将所述数据内容按照时钟节拍划分为n个数据段 a1,a2,a3,...,an;
所述第一处理节点将每个数据段a1,a2,a3,...,an按照k比特划分为m个数据单元a11,a12,a13,...,a1m;a21,a22,a23,...,a2m;a31,a32,a33,...,a3m;...;an1,an2,an3,...,anm;
当所述第一处理节点运行完第一个时钟节拍,到达第二个时钟节拍时,通过至少一个计算模块将a11与a21、a12与a22、a13与a23、…、a1m与a2m分别进行相加,并得到中间值a21sum,s22sum,a23sum,...,a2msum;
当所述第一处理节点运行完第二个时钟节拍,到达第三个时钟节拍时,通过至少一个计算模块将a21sum与a31、a22sum与a32、a23sum与a33、…、a2msum与a3m分别进行相加,并得到中间值a31sum,a32sum,a33sum,...,a3msum;
重复上一步动作,直至运行完第n个时钟节拍,则得到中间值 an1sum,an2sum,an3sum,...,anmsum;
将各个中间值an1sum,an2sum,an3sum,...,anmsum进行相加得到数值A0,并对数值A0进行反码计算得到校验和A1。
进一步的,所述第一校验节点对校验和B1的计算方式为:
所述第一校验节点按照时钟节拍依序接收数据报文头和数据内容的每个数据段;
当运行第一个时钟节拍时,所述第一校验节点接收到数据段b1,并按照k 比特划分为m个数据单元b11,b12,b13,...,b1m;
当运行第二个时钟节拍时,所述第一校验节点接收数据段b2,并按照k 比特划分为m个数据单元b21,b22,b23,...,b2m,同时将b11与b21、b12与b22、b13与b23、…、b1m与b2m分别进行相加,并得到中间值 b21sum,b22sum,b23sum,...,b2msum;
当运行第三个时钟节拍时,所述第一校验节点接收数据段b3,并按照k 比特划分为m个单元b31,b32,b33,...,b3m,同时将b21sum与b31、b22sum与b32、 b23sum与b33、…、b2msum与b3m分别进行相加,并得到中间值 b31sum,b32sum,b33sum,...,b3msum;
重复上一步动作,直至运行完第n个时钟节拍,则得到中间值bn1sum,bn2sum,bn3sum,...,bnmsum;
所述第一校验节点将各个中间值bn1sum,bn2sum,bn3sum,...,bnmsum进行相加得到数值B0,并对数值B0进行反码计算得到校验和B1。
更进一步的,前n-1个数据段a1,a2,a3,...,an-1中的每个数据段大小均为 R1比特,第n个数据段an的大小为R2比特,且R2小于等于R1;如果R2 小于R1时,则在第n个数据段an的低位进行补加(R1-R2)个0位,然后进行后续的反码求和算法流程。
更进一步的,R1为k的整数倍,则每个时钟节拍的数据单元为W/k个。
更进一步的,在上述相加计算过程中,如果出现高位溢出现象,则将溢出位和中间值的低k比特继续进行反码运算,重复该过程直至运算结果无溢出。
更进一步的,自第二个时钟节拍起,每个数据单元分别对应有一个寄存器,所述寄存器用于寄存当前时钟节拍所有相加计算过程得到的中间值,并接受下一个时钟节拍的数据单元的调用,以作为下一个时钟节拍相加计算的元素。
更进一步的,所述第一处理节点和所述第一校验节点的时钟频率相一致,所述k等于16。
更进一步的,计算模块为m个,且m个计算模块分别对应于每个时钟节拍的m个数据单元,并为每个时钟节拍的m个数据单元分别提供加法运算服务。
本发明第二方面还提出一种基于校验和的数据自检方法,应用于上述的基于校验和的数据自检装置,所述方法包括:
步骤1)、由第一处理节点形成一帧数据内容;
步骤2)、所述第一处理节点通过反码求和算法对数据内容进行计算,并得出校验和A1,将校验和A1填入数据报文头的校验和字段中,并将其与所述数据内容按照时钟节拍顺序依次发送给所述第一校验节点;
步骤3)、由所述第一校验节点接收到数据报文头和数据内容,并从数据报文头的校验和字段中提取出校验和A1,通过反码求和算法对所述数据内容进行计算得出校验和B1;
步骤4)、由所述第一校验节点判断计算得到的校验和B1是否与接收到的校验和A1相一致,如果一致;
步骤5)、所述第一校验节点将所述数据报文头和所述数据内容传送给所述第二处理节点;
步骤6)、所述第二处理节点接收由所述第一校验节点校验过的数据内容,并进行数据处理。
进一步的,由所述第一校验节点判断计算得到的校验和B1是否与接收到的校验和A1相一致之后,所述方法还包括:
步骤7)、如果计算得到的校验和B1与接收到的校验和A1不一致,确定所述第一校验节点是否被配置为校正模式;
步骤8)、如果所述第一校验节点被配置为校正模式,所述第一校验节点将计算得到的校验和B1替换校验和A1置于所述数据报文头中,并将其与所述数据内容传送给所述第二处理节点;
步骤9)、如果第一校验节点未被配置为校正模式,则直接舍弃所述数据内容。
本发明的数据自检装置及方法能够在向外发包之前,可以通过相应的检验节点做出自检动作,进而提前检查出数据出错的节点,从而方便调试人员快速对错误的定位,加快调试进度。
另外,本发明在校验和的计算过程中,采用多路(如32路)并行计算方式,且每一路进行纵向相加,整个运算过程由时序逻辑电路完成,比采用横向相加的组合逻辑电路具有更好的时序余量,可以在较高时钟频率下正常工作,同时实现了传输层和网络层的校验和的高速计算,并使数据包处理时间和传输时间完全重叠,具有较高的带宽,较小的时延。
本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了本发明一种基于校验和的数据自检装置的框图;
图2示出了本发明一种基于网络数据包的校验和的计算原理图;
图3示出了本发明一种基于网络数据包的校验方法的流程图;。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了本发明一种基于校验和的数据自检装置的框图。
如图1所示,本发明第一方面提出一种基于校验和的数据自检装置,所述数据自检装置包括:第一处理节点、第二处理节点及连接在第一处理节点和第二处理节点之间的第一校验节点,第一处理节点的输出与第一校验节点输入相连接,第一校验节点输出与第二处理节点的输入相连接;还包括第三处理节点、第四处理节点及连接在第三处理节点和第四处理节点之间的第二校验节点,第二处理节点的输出与第三处理节点的输入相连接,在第三处理节点和第四处理节点之间的第二校验节点等。需要说明的是,所述数据自检装置不限于包括上述两个处理节点,也可以包括三个或更多个处理节点,实际应用中,处理节点的数量可以根据实际数据处理需求来设定。相应的,校验节点也不限于一个,可以根据处理节点的数量而定。
所述第一处理节点,用于形成一帧数据内容,通过反码求和算法对数据内容进行计算,并得出校验和A1,将校验和A1填入数据报文头的校验和字段中,并将其与所述数据内容按照时钟节拍顺序依次发送给所述第一校验节点;
所述第一校验节点,电性连接于所述第一处理节点,用于接收到数据报文头和数据内容,并从数据报文头的校验和字段中提取出校验和A1,通过反码求和算法对所述数据内容进行计算得出校验和B1,判断计算得到的校验和 B1是否与接收到的校验和A1相一致,如果一致,则将所述数据报文头和所述数据内容传送给所述第二处理节点;
所述第二处理节点,电性连接于所述第一校验节点,用于接收由所述第一校验节点校验过的数据内容,并进行数据处理。
进一步的,所述第一校验节点可配置为校正模式或非校正模式;当所述第一校验节点被配置为校正模式时,如果计算得到的校验和B1与接收到的校验和A1不一致,则将计算得到的校验和B1替换校验和A1置于所述数据报文头中,并将其与所述数据内容传送给所述第二处理节点;当所述第一校验节点被配置为非校正模式时,如果计算得到的校验和B1与接收到的校验和A1不一致,则直接舍弃所述数据内容。
在研发调试工作过程中,如果需要忽略对第一处理节点的校验工作,则可以将第一校验节点配置为校正模式,如果第一校验节点计算得到的校验和B1 与接收到的校验和A1不一致,则会将校验和B1替换校验和A1,以进行校正,然后将校正后的数据报文头以及对应的数据内容发送给第二处理节点,方便后续调试人员对其它处理节点的校验、调试工作。可以理解,当第一校验节点计算得到的校验和B1与接收到的校验和A1不一致时,如果第一校验节点不进行校正,则不匹配的校验和与数据内容将会影响调试人员对后续处理节点的调试工作。
如图1所示,本发明的数据自检装置还可以包括第三处理节点、第四处理节点以及第二校验节点,其中第三处理节点分别电性连接于第二处理节点和第二校验节点,第四处理节点电性连接于第二校验节点,第二校验节点设置于第二处理节点、第三处理节点的下游,所以由第二处理节点、第三处理节点处理完成的数据将会由第二校验节点进行校验,并在校验通过后,方可传送给第四处理节点进行后续处理流程。
可以理解,本发明的校验节点通过对校验和的计算、比对,即可判断上游处理节点传输的数据内容是否完整、准确。继而使数据自检装置向外发包之前,可以做出相应的自检动作,提前检查出数据出错的节点。
优选的,上述基于校验和的数据自检装置可以为FPGA板卡。但不限于此。
如图2所示,所述第一处理节点对校验和A1的计算方式为:
所述第一处理节点将所述数据内容按照时钟节拍划分为n个数据段 a1,a2,a3,...,an;
所述第一处理节点将每个数据段a1,a2,a3,...,an按照k比特划分为m个数据单元a11,a12,a13,...,a1m;a21,a22,a23,...,a2m;a31,a32,a33,...,a3m;...;an1,an2,an3,...,anm;
当所述第一处理节点运行完第一个时钟节拍,到达第二个时钟节拍时,通过至少一个计算模块将a11与a21、a12与a22、a13与a23、…、a1m与a2m分别进行相加,并得到中间值a21sum,a22sum,a23sum,...,a2msum;
当所述第一处理节点运行完第二个时钟节拍,到达第三个时钟节拍时,通过至少一个计算模块将a21sum与a31、a22sum与a32、a23sum与a33、…、a2msum与a3m分别进行相加,并得到中间值a31sum,a32sum,a33sum,...,a3msum;
重复上一步动作,直至运行完第n个时钟节拍,则得到中间值 an1sum,an2sum,an3sum,...,anmsum;
将各个中间值an1sum,an2sum,an3sum,...,anmsum进行相加得到数值A0,并对数值A0进行反码计算得到校验和A1。
根据本发明的实施例,所述第一校验节点对校验和B1的计算方式为:
所述第一校验节点按照时钟节拍依序接收数据报文头和数据内容的每个数据段;
当运行第一个时钟节拍时,所述第一校验节点接收到数据段b1,并按照k 比特划分为m个数据单元b11,b12,b13,...,b1m;
当运行第二个时钟节拍时,所述第一校验节点接收数据段b2,并按照k 比特划分为m个数据单元b21,b22,b23,...,b2m,同时将b11与b21、b12与b22、b13与b23、…、b1m与b2m分别进行相加,并得到中间值 b21sum,b22sum,b23sum,...,b2msum;
当运行第三个时钟节拍时,所述第一校验节点接收数据段b3,并按照k 比特划分为m个单元b31,b32,b33,...,b3m,同时将b21sum与b31、b22sum与b32、 b23sum与b33、…、b2msum与b3m分别进行相加,并得到中间值 b31sum,b32sum,b33sum,...,b3msum;
重复上一步动作,直至运行完第n个时钟节拍,则得到中间值 bn1sum,bn2sum,bn3sum,...,bnmsum;
所述第一校验节点将各个中间值bn1sum,bn2sum,bn3sum,...,bnmsum进行相加得到数值B0,并对数值B0进行反码计算得到校验和B1。
进一步的,前n-1个数据段a1,a2,a3,...,an-1中的每个数据段大小均为R1 比特,第n个数据段an的大小为R2比特,且R2小于等于R1;如果R2小于 R1时,则在第n个数据段an的低位进行补加(R1-R2)个0位,然后进行后续的反码求和算法流程。
在实际应用中,第一校验节点将会按照时钟节拍的顺序依次接收到各个数据段b1,b2,b3,...,bn,且接收端接收到的各个数据段b1,b2,b3,...,bn分别与第一处理节点发送的各个数据段a1,a2,a3,...,an相对应,且每个数据段的大小一致。即如果第一处理节点发送的数据段an的大小为R2比特,且小于R1,则第一校验节点接收到的数据段bn的大小也为R2比特,且小于R1。因此,在运行第n个时钟节拍的求和运算之前,需要对数据段bn的低位进行补加(R1- R2)个0位,然后进行后续的反码求和算法流程。
进一步的,R1为k的整数倍,则每个时钟节拍的数据单元为W/k个。
优选的,R1等于512,预设k等于16,则每个时钟节拍的数据单元为 32个。但不限于此。在其他实施例中,R1也可以为256、1024等等,k也可以等于8、32等等。
需要说明的是,在上述相加计算过程中,如果出现高位溢出现象,则将溢出位和中间值的低k比特继续进行反码运算,重复该过程直至运算结果无溢出。
根据本发明的实施例,自第二个时钟节拍起,每个数据单元分别对应有一个寄存器,所述寄存器用于寄存当前时钟节拍所有相加计算过程得到的中间值,并接受下一个时钟节拍的数据单元的调用,以作为下一个时钟节拍相加计算的元素。
可以理解,所述第一处理节点和所述第一校验节点的时钟频率相一致,以确保发送端发送的数据段与接收端接收的数据段相对应。
根据本发明的实施例,计算模块为m个,且m个计算模块分别对应于每个时钟节拍的m个数据单元,并为每个时钟节拍的m个数据单元分别提供加法运算服务。
图3示出了本发明一种基于校验和的数据自检方法的流程图。
如图3所示,本发明第二方面提出一种基于校验和的数据自检方法,应用于上述的基于校验和的数据自检装置,所述方法包括:
步骤1)、由第一处理节点形成一帧数据内容;
步骤2)、所述第一处理节点通过反码求和算法对数据内容进行计算,并得出校验和A1,将校验和A1填入数据报文头的校验和字段中,并将其与所述数据内容按照时钟节拍顺序依次发送给所述第一校验节点;
步骤3)、由所述第一校验节点接收到数据报文头和数据内容,并从数据报文头的校验和字段中提取出校验和A1,通过反码求和算法对所述数据内容进行计算得出校验和B1;
步骤4)、由所述第一校验节点判断计算得到的校验和B1是否与接收到的校验和A1相一致,如果一致;
步骤5)、所述第一校验节点将所述数据报文头和所述数据内容传送给所述第二处理节点;
步骤6)、所述第二处理节点接收由所述第一校验节点校验过的数据内容,并进行数据处理。
进一步的,在步骤6)、之后,本发明的方法还包括:如果计算得到的校验和B1与接收到的校验和A1不一致,且当所述第一校验节点被配置为校正模式时,则将计算得到的校验和B1替换校验和A1置于所述数据报文头中,并将其与所述数据内容传送给所述第二处理节点。
具体为:
步骤7)、如果计算得到的校验和B1与接收到的校验和A1不一致,确定所述第一校验节点是否被配置为校正模式;
步骤8)、如果所述第一校验节点被配置为校正模式,所述第一校验节点将计算得到的校验和B1替换校验和A1置于所述数据报文头中,并将其与所述数据内容传送给所述第二处理节点。
进一步的,在步骤7)之后,所述方法还包括:
步骤9)、如果第一校验节点未被配置为校正模式,则直接舍弃所述数据内容。
本发明的数据自检装置及方法能够在向外发包之前,可以通过相应的检验节点做出自检动作,进而提前检查出数据出错的节点,从而方便调试人员快速对错误的定位,加快调试进度。
另外,本发明在校验和的计算过程中,采用多路(如32路)并行计算方式,且每一路进行纵向相加,整个运算过程由时序逻辑电路完成,比采用横向相加的组合逻辑电路具有更好的时序余量,可以在较高时钟频率下正常工作,同时实现了传输层和网络层的校验和的高速计算,并使数据包处理时间和传输时间完全重叠,具有较高的带宽,较小的时延。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (13)
1.一种基于校验和的数据自检装置,其特征在于,所述基于校验和的数据自检装置包括:第一处理节点、第二处理节点及第一校验节点;
所述第一处理节点,用于形成一帧数据内容,通过反码求和算法对数据内容进行计算,并得出校验和A1,将校验和A1填入数据报文头的校验和字段中,并将其与所述数据内容按照时钟节拍顺序依次发送给所述第一校验节点;
所述第一校验节点,电性连接于所述第一处理节点,用于接收到数据报文头和数据内容,并从数据报文头的校验和字段中提取出校验和A1,通过反码求和算法对所述数据内容进行计算得出校验和B1,判断计算得到的校验和B1是否与接收到的校验和A1相一致,如果一致,则将所述数据报文头和所述数据内容传送给所述第二处理节点;
所述第二处理节点,电性连接于所述第一校验节点,用于接收由所述第一校验节点校验过的数据内容,并进行数据处理。
2.根据权利要求1所述的一种基于校验和的数据自检装置,其特征在于,所述第一校验节点配置为校正模式或非校正模式;当所述第一校验节点被配置为校正模式时,如果计算得到的校验和B1与接收到的校验和A1不一致,则将计算得到的校验和B1替换校验和A1置于所述数据报文头中,并将其与所述数据内容传送给所述第二处理节点;当所述第一校验节点被配置为非校正模式时,如果计算得到的校验和B1与接收到的校验和A1不一致,则直接舍弃所述数据内容。
3.根据权利要求1所述的一种基于校验和的数据自检装置,其特征在于,所述基于校验和的数据自检装置为FPGA板卡。
4.根据权利要求1所述的一种基于校验和的数据自检装置,其特征在于,所述第一处理节点对校验和A1的计算方式为:
所述第一处理节点将所述数据内容按照时钟节拍划分为n个数据段a1,a2,a3,…,an;
所述第一处理节点将每个数据段a1,a2,a3,...,an按照k比特划分为m个数据单元
a11,a12,a13,…,a1m;a21,a22,a23,…,a2m;a31,a32,a33,…,a3m;…;an1,an2,an3,…,anm;
当所述第一处理节点运行完第一个时钟节拍,到达第二个时钟节拍时,通过至少一个计算模块将a11与a21、a12与a22、a13与a23、…、a1m与a2m分别进行相加,并得到中间值a21sum,a22sum,a23sum,…,a2msum;
当所述第一处理节点运行完第二个时钟节拍,到达第三个时钟节拍时,通过至少一个计算模块将a21sum与a31、a22sum与a32、a23sum与a33、...、a2msum与a3m分别进行相加,并得到中间值a31sum,a32sum,a33sum,…,a3msum;
重复上一步动作,直至运行完第n个时钟节拍,则得到中间值an1sum,an2sum,an3sum,…,anmsum;
将各个中间值an1sum,an2sum,an3sum,...,anmsum进行相加得到数值A0,并对数值A0进行反码计算得到校验和A1。
5.根据权利要求1所述的一种基于校验和的数据自检装置,其特征在于,所述第一校验节点对校验和B1的计算方式为:
所述第一校验节点按照时钟节拍依序接收数据报文头和数据内容的每个数据段;
当运行第一个时钟节拍时,所述第一校验节点接收到数据段b1,并按照k比特划分为m个数据单元b11,b12,b13,...,b1m;
当运行第二个时钟节拍时,所述第一校验节点接收数据段b2,并按照k比特划分为m个数据单元b21,b22,b23,...,b2m,同时将b11与b21、b12与b22、b13与b23、…、b1m与b2m分别进行相加,并得到中间值b21sum,b22sum,b23sum,…,b2msum;
当运行第三个时钟节拍时,所述第一校验节点接收数据段b3,并按照k比特划分为m个单元b31,b32,b33,...,b3m,同时将b21sum与b31、b22sum与b32、b23sum与b33、…、b2msum与b3m分别进行相加,并得到中间值b31sum,b32sum,b33sum,…,b3msum;
重复上一步动作,直至运行完第n个时钟节拍,则得到中间值bn1sum,bn2sum,bn3sum,…,bnmsum;
所述第一校验节点将各个中间值bn1sum,bn2sum,bn3sum,...,bnmsum进行相加得到数值B0,并对数值B0进行反码计算得到校验和B1。
6.根据权利要求4所述的一种基于校验和的数据自检装置,其特征在于,前n-1个数据段a1,a2,a3,...,an-1中的每个数据段大小均为R1比特,第n个数据段an的大小为R2比特,且R2小于等于R1;如果R2小于R1时,则在第n个数据段an的低位进行补加(R1-R2)个0位,然后进行后续的反码求和算法流程。
7.根据权利要求6所述的一种基于校验和的数据自检装置,其特征在于,R1为k的整数倍,则每个时钟节拍的数据单元为W/k个。
8.根据权利要求5所述的一种基于校验和的数据自检装置,其特征在于,在上述相加计算过程中,如果出现高位溢出现象,则将溢出位和中间值的低k比特继续进行反码运算,重复该过程直至运算结果无溢出。
9.根据权利要求5所述的一种基于校验和的数据自检装置,其特征在于,自第二个时钟节拍起,每个数据单元分别对应有一个寄存器,所述寄存器用于寄存当前时钟节拍所有相加计算过程得到的中间值,并接受下一个时钟节拍的数据单元的调用,以作为下一个时钟节拍相加计算的元素。
10.根据权利要求5所述的一种基于校验和的数据自检装置,其特征在于,所述第一处理节点和所述第一校验节点的时钟频率相一致,所述k等于16。
11.根据权利要求5所述的一种基于校验和的数据自检装置,其特征在于,计算模块为m个,且m个计算模块分别对应于每个时钟节拍的m个数据单元,并为每个时钟节拍的m个数据单元分别提供加法运算服务。
12.一种基于校验和的数据自检方法,应用于上述权利要求1至11任意一项所述的基于校验和的数据自检装置,其特征在于,所述方法包括:
步骤1)、由第一处理节点形成一帧数据内容;
步骤2)、所述第一处理节点通过反码求和算法对数据内容进行计算,并得出校验和A1,将校验和A1填入数据报文头的校验和字段中,并将其与所述数据内容按照时钟节拍顺序依次发送给所述第一校验节点;
步骤3)、由所述第一校验节点接收到数据报文头和数据内容,并从数据报文头的校验和字段中提取出校验和A1,通过反码求和算法对所述数据内容进行计算得出校验和B1;
步骤4)、由所述第一校验节点判断计算得到的校验和B1是否与接收到的校验和A1相一致,如果一致;
步骤5)、所述第一校验节点将所述数据报文头和所述数据内容传送给所述第二处理节点;
步骤6)、所述第二处理节点接收由所述第一校验节点校验过的数据内容,并进行数据处理。
13.根据权利要求12所述的一种基于校验和的数据自检方法,其特征在于,由所述第一校验节点判断计算得到的校验和B1是否与接收到的校验和A1相一致之后,所述方法还包括:
步骤7)、如果计算得到的校验和B1与接收到的校验和A1不一致,确定所述第一校验节点是否被配置为校正模式;
步骤8)、如果所述第一校验节点被配置为校正模式,所述第一校验节点将计算得到的校验和B1替换校验和A1置于所述数据报文头中,并将其与所述数据内容传送给所述第二处理节点;
步骤9)、如果第一校验节点未被配置为校正模式,则直接舍弃所述数据内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010578591.6A CN111865494B (zh) | 2020-06-23 | 2020-06-23 | 一种基于校验和的数据自检装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010578591.6A CN111865494B (zh) | 2020-06-23 | 2020-06-23 | 一种基于校验和的数据自检装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111865494A true CN111865494A (zh) | 2020-10-30 |
CN111865494B CN111865494B (zh) | 2022-02-18 |
Family
ID=72989507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010578591.6A Active CN111865494B (zh) | 2020-06-23 | 2020-06-23 | 一种基于校验和的数据自检装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111865494B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114499757A (zh) * | 2022-01-07 | 2022-05-13 | 锐捷网络股份有限公司 | 一种生成校验和的方法、装置及电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5663952A (en) * | 1995-07-07 | 1997-09-02 | Sun Microsystems, Inc. | Checksum generation circuit and method |
US6047304A (en) * | 1997-07-29 | 2000-04-04 | Nortel Networks Corporation | Method and apparatus for performing lane arithmetic to perform network processing |
KR20010011058A (ko) * | 1999-07-24 | 2001-02-15 | 윤종용 | 데이타 통신 시스템의 데이타 패킷 손상 및 유실 검출방법 |
US20030014706A1 (en) * | 2001-07-13 | 2003-01-16 | Yuri Poeluev | Method for computing the internet checksum |
CN1681234A (zh) * | 2004-04-10 | 2005-10-12 | 鸿富锦精密工业(深圳)有限公司 | 数据传输的正确性检查系统及方法 |
JP2008301210A (ja) * | 2007-05-31 | 2008-12-11 | Nec Electronics Corp | パケット送信装置およびパケット送信方法 |
CN101860904A (zh) * | 2009-04-07 | 2010-10-13 | 上海摩波彼克半导体有限公司 | 基于数据包ip头压缩技术实现校验和计算的方法 |
CN110222519A (zh) * | 2019-06-05 | 2019-09-10 | 郑州信大捷安信息技术股份有限公司 | 一种可配置通道的数据处理系统及方法 |
-
2020
- 2020-06-23 CN CN202010578591.6A patent/CN111865494B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5663952A (en) * | 1995-07-07 | 1997-09-02 | Sun Microsystems, Inc. | Checksum generation circuit and method |
US6047304A (en) * | 1997-07-29 | 2000-04-04 | Nortel Networks Corporation | Method and apparatus for performing lane arithmetic to perform network processing |
KR20010011058A (ko) * | 1999-07-24 | 2001-02-15 | 윤종용 | 데이타 통신 시스템의 데이타 패킷 손상 및 유실 검출방법 |
US20030014706A1 (en) * | 2001-07-13 | 2003-01-16 | Yuri Poeluev | Method for computing the internet checksum |
CN1681234A (zh) * | 2004-04-10 | 2005-10-12 | 鸿富锦精密工业(深圳)有限公司 | 数据传输的正确性检查系统及方法 |
JP2008301210A (ja) * | 2007-05-31 | 2008-12-11 | Nec Electronics Corp | パケット送信装置およびパケット送信方法 |
CN101860904A (zh) * | 2009-04-07 | 2010-10-13 | 上海摩波彼克半导体有限公司 | 基于数据包ip头压缩技术实现校验和计算的方法 |
CN110222519A (zh) * | 2019-06-05 | 2019-09-10 | 郑州信大捷安信息技术股份有限公司 | 一种可配置通道的数据处理系统及方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114499757A (zh) * | 2022-01-07 | 2022-05-13 | 锐捷网络股份有限公司 | 一种生成校验和的方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111865494B (zh) | 2022-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10567123B2 (en) | Methods, systems and computer readable media for evaluating link or component quality using synthetic forward error correction (FEC) | |
CN111865494B (zh) | 一种基于校验和的数据自检装置及方法 | |
CN109347598A (zh) | 校验码处理方法、电子设备及存储接介质 | |
WO2019128891A1 (zh) | 一种检测误码的方法及装置 | |
CN105337815A (zh) | 一种主备切换时间的测试方法和装置 | |
CN105827476A (zh) | 高速PING实现方法和Ping测试方法 | |
CN108337069B (zh) | 一种改进的降低误码率的末端并行分组crc校验系统 | |
CN113938248B (zh) | 数据报文纠错方法和数据报文纠错装置 | |
CN113572560A (zh) | 用于确定时钟同步精度的方法、电子设备和存储介质 | |
Gangopadhyay et al. | Multiple-bit parity-based concurrent fault detection architecture for parallel CRC computation | |
CN107231213A (zh) | Crc‑32算法在usb3.0数据包中的实现方法 | |
CN109286471B (zh) | 面向srio控制器的crc校验方法及装置 | |
US6915471B2 (en) | Encoder and method for encoding data | |
CN114978417B (zh) | 一种基于两路blvds总线的数据通信校验方法及系统 | |
CN111835587A (zh) | 一种基于网络数据包的校验方法及系统 | |
Ye et al. | Method for increasing reliability for transmission state of power equipment energy | |
CN114679300A (zh) | 一种数据校验方法、装置、电子设备及存储介质 | |
CN104702385A (zh) | 网络质量检测方法、装置和设备 | |
Saleh et al. | Design and simulation of CRC encoder and decoder using VHDL | |
US7058881B2 (en) | Distributed 4-bits diagonal interleaved parity (DIP4) checker | |
Jain et al. | Cyclic Redundancy Codes: Study and Implementation | |
Moltchanov et al. | Performance response of wireless channels for quantitatively different loss and arrival statistics | |
CN114978960B (zh) | 以太网帧头触发器 | |
CN112241334B (zh) | 一种电力数据传输的完整性校验方法 | |
Juan et al. | Utilization of DSP algorithms for Cyclic Redundancy Checking (CRC) in Controller Area Network (CAN) controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |