自校验的数据表决系统的制作方法
未命名
07-27
阅读:97
评论:0
1.本发明主要涉及电子系统的可靠性分析领域,尤其涉及一种自校验的数据表决系统。
背景技术:
2.在如太空这样的复杂电磁环境中,电子系统不可避免的受到高能带电粒子、太阳电磁辐射、等离子体、地球磁场、宇宙射线等复杂空间环境的影响而产生单粒子事件,使得存储在电子系统中的数据出错。为了降低复杂电磁环境对数据的影响,可以增加冗余数据、分散保存数据,并且采用数据仲裁的方法从冗余的数据中得到未受到单粒子事件影响的正确数据,从而提高电子系统的可靠性。
3.表决系统是数据仲裁的重要环节。如果表决系统出错会导致整个仲裁的结果出错。然而,目前的表决系统往往缺乏对自身错误进行检测的功能,如果采用其他的检错单元来检测表决系统的错误的话,会额外引入该检错单元的可靠性问题,反而带来更多的问题。因此,期望设计一种具有自校验功能的表决系统,提高电子系统的可靠性。
技术实现要素:
4.本发明要解决的技术问题是提供一种能够同时检测输入数据错误和表决系统自身错误的自校验的数据表决系统。
5.为解决上述技术问题,本发明提供了一种自校验的数据表决系统,包括输入校验单元、输出逻辑单元、输出校验单元和校验处理单元,其中,所述输入校验单元包括n1个第一异或单元、n1个第一多路双轨码校验器和第一码校验器,所述第一码校验器是2*n1中取n1码的码校验器,所述输入校验单元用于接收n2路输入数据,所述n2路输入数据互为冗余数据,每个所述输入数据包括m位数据,所述n2路输入数据两两组合形成n1个数据组,每个所述第一多路双轨码校验器用于接收一组所述数据组并进行比较,并根据比较结果输出第一校验结果,每个所述第一异或单元用于对一路输入数据中的两个不同位数据进行异或处理获得第一异或结果,所述第一异或单元还用于根据所述第一异或结果和所述第一校验结果生成一对第一测试码,n1对第一测试码组成所述第一码校验器的第一输入测试集,所述第一码校验器根据所述第一输入测试集输出第二校验结果,其中,n1是大于等于3的正整数,n2是大于等于3的奇数;所述输出逻辑单元用于接收所述第一校验结果,并输出第三校验结果,所述第三校验结果包括多数一致的第一校验结果;所述输出校验单元包括n1个第二异或单元、n1个第二多路双轨码校验器和第二码校验器,所述第二码校验器是2*n1中取n1码的码校验器,每个所述第二多路双轨码校验器用于接收一路所述输入数据和一路所述第三校验结果并进行比较,并根据比较结果输出第四校验结果,每个所述第二异或单元用于对一路输入数据中的两个不同位数据进行异或处理获得第二异或结果,所述第二异或单元还用于根据所述第二异或结果和所述第四校验结果生成一对第二测试码,n1对第二测试码组成所述第二码校验器的第二输入测试集,所述第二码校验器根据所述第二输入测试集
输出第五校验结果;以及所述校验处理单元用于根据所述第二校验结果和所述第五校验结果确定所述数据表决系统的状态。
6.在本技术的一实施例中,每对所述第一测试码是包括[0,1]或[1,0]的两位数据,并且每对所述第二测试码是包括[0,1]或[1,0]的两位数据。
[0007]
在本技术的一实施例中,不同的所述第一异或单元对所述一路输入数据中的不同位进行异或处理,不同的所述第二异或单元对所述一路输入数据中的不同位进行异或处理。
[0008]
在本技术的一实施例中,所述第二校验结果包括2个数据位,所述第二校验结果包括四种,分别是[0,1]、[1,0]、[0,0]、[1,1],其中,[0,1]、[1,0]表示所述第二校验结果和所述输入校验单元都正常,[0,0]、[1,1]表示所述第二校验结果或所述输入校验单元出错。
[0009]
在本技术的一实施例中,所述第五校验结果包括2个数据位,所述第五校验结果包括四种,分别是[0,1]、[1,0]、[0,0]、[1,1],其中,[0,1]、[1,0]表示所述第五校验结果和所述输出校验单元都正常,[0,0]、[1,1]表示所述第五校验结果或所述输出校验单元出错。
[0010]
在本技术的一实施例中,所述校验处理单元还用于根据所述第二校验结果和所述第五校验结果确定第一处理方式,所述第一处理方式包括不处理、刷新所述输入数据、刷新所述第一码校验器、刷新所述第一多路双轨码校验器、刷新所述第二码校验器、刷新所述第二码校验器中的任意一种或几种的组合。
[0011]
在本技术的一实施例中,所述校验处理单元还用于在执行所述第一处理方式之后,根据所述数据表决系统的状态确定第二处理方式,所述数据表决系统的状态包括正常、输入校验单元出错、输出校验单元出错和输出逻辑出错中的任意一种,所述第二处理方式包括:输出异常报告或刷新所述输出逻辑单元。
[0012]
在本技术的一实施例中,所述输出逻辑单元还用于输出每一路所述输入数据的判断结果,所述判断结果包括正常和出错。
[0013]
在本技术的一实施例中,所述输出逻辑单元还用于输出所述第二校验结果和所述第五校验结果。
[0014]
在本技术的一实施例中,所述输入数据以一个字节为一个数据单位,每个所述输入数据包括8位数据。
[0015]
本技术的数据表决系统在输入校验单元和输出校验单元中都设置了异或单元、多路双轨码校验器和码校验器,通过对输入数据的两个不同位数据进行异或处理,再结合多路双轨码校验器生成具有随机性的测试集,使码校验器可以获得完整的测试码,避免测试信息的信息损失。校验处理单元根据输入校验单元的第二校验结果和输出校验单元的第五校验结果来判断数据表决系统的状态,以及处理方式,可以达到对输入数据的校验以及对数据表决系统自身的校验,实现真正的自校验,有利于提高电子系统的可靠性。
附图说明
[0016]
包括附图是为提供对本技术进一步的理解,它们被收录并构成本技术的一部分,附图示出了本技术的实施例,并与本说明书一起起到解释本发明原理的作用。附图中:
[0017]
图1是本技术一实施例的自校验的数据表决系统的框图;
[0018]
图2是本技术一实施例的自校验的数据表决系统中的输入校验单元和输出逻辑单
元的结构框图;
[0019]
图3是本技术一实施例的自校验的数据表决系统中的输出校验单元的结构框图;
[0020]
图4是一种双轨码校验器的电路结构示意图;
[0021]
图5是图2和图3中所示的第一多路双轨码校验器和第二多路双轨码校验器的电路结构示意图;
[0022]
图6是是图2和图3中所示的第一码校验器和第二码校验器的电路结构示意图;
[0023]
图7是本技术一实施例的数据表决系统中的输入校验单元的电路结构示意图;
[0024]
图8是本技术一实施例的数据表决系统中的输出校验单元的电路结构示意图。
具体实施方式
[0025]
为了更清楚地说明本技术的实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本技术的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本技术应用于其他类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
[0026]
如本技术和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
[0027]
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本技术的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0028]
此外,需要说明的是,使用“第一”、“第二”等词语来限定零部件,仅仅是为了便于对相应零部件进行区别,如没有另行声明,上述词语并没有特殊含义,因此不能理解为对本技术保护范围的限制。此外,尽管本技术中所使用的术语是从公知公用的术语中选择的,但是本技术说明书中所提及的一些术语可能是申请人按他或她的判断来选择的,其详细含义在本文的描述的相关部分中说明。此外,要求不仅仅通过所使用的实际术语,而是还要通过每个术语所蕴含的意义来理解本技术。
[0029]
本技术的自校验的数据表决系统可以应用于任何电子设备中,这些电子设备的应用环境包括复杂电磁环境。优选地,该电子设备是航天器上处于太空复杂电磁环境下的电子设备。
[0030]
图1是本技术一实施例的自校验的数据表决系统的框图。参考图1所示,该实施例的数据表决系统100包括输入校验单元110、输出逻辑单元120、输出校验单元130和校验处理单元140。其中,输入校验单元110包括n1个第一异或单元、n1个第一多路双轨码校验器和
第一码校验器,该第一码校验器是2*n1中取n1码的码校验器,输入校验单元110用于接收n2路输入数据101,该n2路输入数据101互为冗余数据,每个输入数据101包括m位数据,n2路输入数据101两两组合形成n1个数据组,每个第一多路双轨码校验器用于接收一组数据组并进行比较,并根据比较结果输出第一校验结果,每个第一异或单元用于对一路输入数据中的两个不同位数据进行异或处理获得第一异或结果,第一异或单元还用于根据第一异或结果和第一校验结果生成一对第一测试码,n1对第一测试码组成第一码校验器的第一输入测试集,第一码校验器根据第一输入测试集输出第二校验结果ei,其中,n1是大于等于3的正整数,n2是大于等于3的奇数。输出逻辑单元120用于接收第一校验结果,并输出第三校验结果out,第三校验结果包括多数一致的第一校验结果。输出校验单元130包括n1个第二异或单元、n1个第二多路双轨码校验器和第二码校验器,第二码校验器是2*n1中取n1码的码校验器,每个第二多路双轨码校验器用于接收一路输入数据和一路第三校验结果并进行比较,并根据比较结果输出第四校验结果,每个第二异或单元用于对一路输入数据中的两个不同位数据进行异或处理获得第二异或结果,第二异或单元还用于根据第二异或结果和第四校验结果生成一对第二测试码,n1对第二测试码组成第二码校验器的第二输入测试集,第二码校验器根据第二输入测试集输出第五校验结果eo。校验处理单元140用于根据第二校验结果ei和第五校验结果eo确定数据表决系统100的状态。
[0031]
目前一些表决系统仅包括一个输入校验单元来校验输入数据,和一个输出逻辑单元来输出校验结果,并不能实现自校验。本技术的数据表决系统通过如图1这样的设置,可以达到对输入数据的校验以及对数据表决系统自身的校验,实现真正的自校验,有利于提高电子系统的可靠性。
[0032]
本说明书将以n1=3和n2=3的具体实施例来说明该数据表决系统,本领域技术人员可以根据本技术的思想将n1扩展到大于3的任意整数,将n2扩展到任意大于3的奇数。
[0033]
图2是本技术一实施例的自校验的数据表决系统中的输入校验单元和输出逻辑单元的结构框图。在该实施例中,n1=n2=3。参考图2所示,3路输入数据分别是d1、d2和d3。该三路数据互为冗余数据。当应用在太空环境下的电子设备中时,该三路数据可以是为了防止数据出错所增加的冗余数据。在一些实施例中,该三路数据可以是随机数,用于对该数据表决系统100进行测试。在一些实施例中,m=8,即每路输入数据都包括8为数据,即一个字节。例如,输入数据d1是一连串以字节为数据单元的数据,d2和d3也是如此。
[0034]
如图2所示,输入校验单元110包括3个第一异或单元211、212、213,用虚线框表示。需要说明,图2中所示的第一异或单元仅为示意。图2中尽管在每个虚线框中示出了2个异或门图标,但并不限制该第一异或单元中只包括2个异或门,也不用于限制第一异或单元和第一多路双轨码校验器之间的具体连接关系。关于输入校验单元110中的第一异或单元的具体结构及其与第一多路双轨码校验器之间的具体连接关系将在后文结合图7说明。
[0035]
参考图2,3路输入数据分别两两组合形成3个数据组,这些数据组包括(d1,d2)、(d2、d3)和(d1、d3),每个数据组分别对应于一个第一多路双轨码校验器。如图2,数据组(d1,d2)对应于第一多路双轨码校验器221,数据组(d1,d3)对应于第一多路双轨码校验器222,数据组(d2,d3)对应于第一多路双轨码校验器223。每个第一多路双轨码校验器接收一组数据组并进行比较,并根据比较结果输出第一校验结果。例如,第一多路双轨码校验器221比较数据组(d1,d2)中的2路输入数据d1、d2,并输出一第一校验结果。而第一异或单元
对输入数据d1中的两个不同位数据进行异或处理获得一第一异或结果。图2中未直接示出第一校验结果和第一异或结果。然而,图2中所示的第一多路双轨码校验器221向3/6码校验器230所输出的数据就是由第一异或结果和第一校验结果生成一对第一测试码。关于第一多路双轨码校验器222、223的输出数据以此类推,共生成3对第一测试码。
[0036]
需说明,第一多路双规码校验器的数量n1与输入数据的路数n2可以相等或不等。在上述实施例中,n1=n2。在其他的实施例中n1可以不等于n2,理论上,n1可以大于n2。例如当n2=5时,5路数据两两组合可以生成10种组合,即d1d2、d1d3、d1d4、d1d5、d2d3、d2d4、d2d5、d3d4、d3d5、d4d5,则n1可以等于10,即每个数据组输入至一个第一多路双规码校验器中。然而,为了达到数据校验的目的,实际上仅需选取相邻的数据组合即可,即d1d2、d2d3、d3d4、d4d5、d5d1五个数据组,也就只需要五个第一多路双规码校验器。根据这些实施例,n1=n2,取相邻路的输入数据分别作为第一多路双规码校验器的输入信号。
[0037]
如图2所示,该实施例中的第一码校验器是3/6码校验器230。3/6码校验器230是6中取3码的码校验器。每个第一异或单元和对应的第一多路双轨码校验器一起向3/6码校验器230输出一对第一测试码,3/6码校验器230共接收到3对第一测试码,共6位数据,再经过3/6码校验器230输出两位结果作为第二校验结果ei。
[0038]
需要说明,当n1取其他数字时,第一码校验器相应的变为相应的2*n1中取n1码的码校验器。
[0039]
图2中的输出逻辑单元240是图1所示的输出逻辑单元120的一个具体实施方式。输出逻辑单元240的输入是图2中未示出的由第一多路双轨码校验器221、222、223所分别获得的三组第一校验结果,输出逻辑单元240根据该三组第一校验结果输出多数一致的第一校验结果作为第三校验结果out。例如,对应于分别包括8位的输入数据d1、d2、d3,如果d1和d2的两个字节中的8个bit位数据都一致,则输出该一致的字节作为第三校验结果out。
[0040]
图3是本技术一实施例的自校验的数据表决系统中的输出校验单元的结构框图。该实施例与图2所示的实施例一致,n1=n2=3。图3所示的输出校验单元300是图1中的输出校验单元130的一种具体实施方式。如图3所示,其中的3路输入数据d1、d2、d3即图2中输入至输入校验单元110中的3路输入数据,此外,还将图2中的输出逻辑单元240输出的第三校验结果out输入至该输出校验单元300中。
[0041]
具体地,该输出校验单元300包括3个第二异或单元311、312、313和3个第二多路双轨码校验器321、322、323,以及一个第二码校验器,在该实施例中,第二码校验器是3/6码校验器330。输出校验单元300中的第二异或单元、第二多路双轨码校验器、3/6码校验器330的内部结构、工作原理分别与输入校验单元110第一异或单元、第一多路双轨码校验器、3/6码校验器230的内部结构、工作原理相同或相似,区别在于输入和输出的不同。关于输出校验单元300中的第二异或单元的具体结构及其与第二多路双轨码校验器之间的具体连接关系将在后文结合图8说明。
[0042]
需要说明,当n1取其他数字时,第二码校验器相应的变为相应的2*n1中取n1码的码校验器。如图3,第二多路双轨码校验321接收输入数据d1和第三校验结果out并进行比较并输出一第四校验结果,第二多路双轨码校验322接收输入数据d2和第三校验结果out并进行比较并输出一第四校验结果,第二多路双轨码校验323接收输入数据d3和第三校验结果out并进行比较并输出一第四校验结果。第二异或单元311对输入数据d1中的两个不同位数
据进行异或处理获得一第二异或结果,第二异或单元312对输入数据d2中的两个不同位数据进行异或处理获得一第二异或结果,第二异或单元313对输入数据d3中的两个不同位数据进行异或处理获得一第二异或结果。图3中未直接示出第二校验结果和第二异或结果。第二多路双轨码校验321输出的第四校验结果和第二异或单元311输出的第二异或结果生成一对第二测试码,共生成3对第二测试码。
[0043]
如图3所示,3/6码校验器330共接收到3对第二测试码,共6位数据,再经过3/6码校验器330输出两位结果作为第五校验结果eo。
[0044]
本技术的数据表决系统可以采用任意形式的软件或硬件来实现。本技术发明人采用fpga对该数据表决系统进行构建、仿真和测试,本领域技术人员基于本技术的思想也可以采用其他的方式来实现该数据表决系统。以下采用fpga实现的电路图来说明本技术的数据表决系统中的输入校验单元、输出逻辑单元、输出校验单元的一种实施方式,不用于限制该些单元的具体结构。
[0045]
首先采用图4说明一种双轨码校验器的电路结构。这种双轨码校验器是组成图2中的第一多路双轨码校验器和图3中的第二多路双轨码校验器的基本单元。如图4所示,其中的a1、a2、b1、b2分别表示一位输入数据,c1、c2分别表示一位输出数据。采用图4所示的双轨码校验器具有如表1所示的运算逻辑。
[0046]
表1.双轨码校验器的输出特性
[0047]
b2b1a2a1c2c1010110011001100101101010
[0048]
双轨码校验器的输入是两个两位的信号值,其中一组信号反相后输入,当每个位都是反相的比较结果时输出正常输出[0,1]或[1,0],可以通过级联的方式拓展到更多的位数,最后的结果仍然是两位。
[0049]
图5是图2和图3中所示的第一多路双轨码校验器和第二多路双轨码校验器的电路结构示意图,将其统称为多路双轨码校验器。多路双轨码校验器在图4所示的基础上加以改进,其输入数据为两路分别具有8位数据的原始数据raw_data1[7,
…
,0]和raw_data2[7,
…
,0],其中该两路数据的相同的两位数据分别输入至一个双轨码校验器(two_rail_checker)中,从而实现了对8位数据的比较和校验,并输出第一校验结果c2c1。
[0050]
在原始数据raw_data1[7,
…
,0]和raw_data2[7,
…
,0]都正确无误的情况下,c2c1输出[0,1]或[1,0]。如果将第一校验结果c2c1直接输入给3/6码校验器的话,会导致3/6码校验器无法获得完整的组合输入。
[0051]
图6是是图2和图3中所示的第一码校验器和第二码校验器的电路结构示意图,其具体地为3/6码校验器。2*n1中取n1码的码校验器对输入的要求较为严格,即输入的2*n1位数据中需要有n1位1,由于数据的内容是不确定的,因此无法直接使用输入数据作为码校验器的输入。本技术的数据表决系统用两组数据互相比较作为上述多路双轨码校验器的输入,再使用该多路双轨码校验器的输出作为3/6码校验器的输入,解决了数据无法直接输入的问题。根据完全自校验的要求,为了使3/6码校验器能够发挥出完全自校验的作用,需要
在第二次发生错误前输入数据后能够快速至少完整输入测试码一次,因此应保证3/6码校验器的输入覆盖所有的测试码。表2是3/6码校验器的完整测试集。
[0052]
表2.3/6码校验器的完整测试集
[0053]
x1x2x3x4x5x6100011110001111000011100001110000111
[0054]
由于双轨码校验器的正常输出为[0,1]或[1,0],根据3/6码校验器的对偶特性,可以将x1x4、x2x5、x3x6连接至三个多路双轨码校验器的输出。这样就可以使输入3/6码校验器的数据遍历其完整测试集。
[0055]
此外,考虑到双轨码校验器的上述输出特性,通过对一位数据进行重复校验输入时等效于将这个数据位剔除,这样虽然实现了差异化输入,但是会使得测试信息损失。因此,在本技术的数据表决系统中引入了第一异或单元和第二异或单元,分别对每路输入数据中的两个不同位数据进行异或处理,以此产生一位差异化的数据作为数据输入,避免测试信息损失的问题。进一步地,两位信号的处理方法还包括与逻辑和或逻辑,但是使用这两种逻辑运算所获得的输出,其0和1的概率不能保持相等,因此会对校验器的输出结果产生影响。所以本技术采用异或逻辑,即设置第一异或单元和第二异或单元,使得新增的数据位0和1的出现概率一致,避免设计对不同错误概率偏好的影响。
[0056]
图7是本技术一实施例的数据表决系统中的输入校验单元的电路结构示意图。如图7所示,其中示出了3路输入数据data1[7,
…
,0]、data2[7,
…
,0]和data3[7,
…
,0],该3路输入数据可以分别对应于图2中的输入数据d1、d2、d3。图7中还包括3个第一异或单元711、712、713、3个第一多路双轨码校验器721、722、723和一个3/6码校验器730,分别对应于图2中所示的输入校验单元110中的第一异或单元211、212、213、第一多路双轨码校验器221、222、223和3/6码校验器230。如图7所示,第一异或单元中主要包括一些实现异或逻辑的异或门xor,但同时也包括一些与门and。以第一异或单元711为例,输入数据d1中的两个不同位数据,即data1[1]和data1[2],经过第一异或单元711的异或处理后获得第一异或结果。同时,输入数据d1、d2输入第一多路双轨码校验器721中,该第一多路双轨码校验器721对该两路8位数据进行比较,输出第一校验结果,如图7中所示的data1_result0和data1_result1。data1_result0和data1_result1继续经过第一异或单元711的处理,最终和第一异或结果一起生成了一对第一测试码x3x6,作为3/6码校验器730的一对输入。同理,d2的两个不同位数据,即data2[3]和data1[4],经过第一异或单元712的异或处理后获得第一异或结果,输入数据d1、d3经过第一多路双轨码校验器722之后输出第二校验结果data2_result0和data2_result1,最终生成一对第一测试码x2x5。d3的两个不同位数据,即data3[5]和data3[6],经过第一异或单元713的异或处理后获得第一异或结果,输入数据d2、d3经过第一多路双轨码校验器723之后输出第二校验结果data3_result0和data3_result1,最终生成一对第一测试码x1x4。根据这样的设置,可以使由第一测试码组成的第一输入测试
集遍历3/6码校验器730所需的测试集中的全部测试码,实现完整的自校验过程。如图7所示,3/6码校验器730的输出为ei0和ei1,即第二校验结果ei的两位数据。
[0057]
在一些实施例中,不同的第一异或单元对一路输入数据中的不同位进行异或处理。如图7所示,在这些实施例中,每个第一异或单元对应于一路输入数据,并且所处理的数据位是不同的。例如,第一异或单元711处理d1中的data1[1]和data1[2],即第1位和第2位;第一异或单元712处理d2中的data2[3]和data2[4],即第3位和第4位,不同于第一异或单元711所处理的d1的位数;第一异或单元713处理d3中的data3[5]和data3[6],即第5位和第6位,不同于第一异或单元711、712所处理的d1和d2的位数。图7所示仅为示例,在其他的实施例中,只要这些位数不同即可,例如d1取data1[1]和data1[3],d2取data2[2]和data2[4],d3取data3[3]和data3[6]等。根据这样的设置引入了随机性,使得输入至3/6码校验器730的第一输入测试集中出现[1,0]、[0,1]的概率相近,测试过程更加完整。
[0058]
图8是本技术一实施例的数据表决系统中的输出校验单元的电路结构示意图。如图8所示,其中示出了3路输入数据data1[7,
…
,0]、data2[7,
…
,0]和data3[7,
…
,0],该3路输入数据可以分别对应于图3中的输入数据d1、d2、d3。同时,第三校验结果out也作为该输出校验单元的输入信号。图8中还包括3个第二异或单元811、812、813、3个第二多路双轨码校验器821、822、823和一个3/6码校验器830,分别对应于图3中所示的输出校验单元300中的第二异或单元311、312、313、第二多路双轨码校验器321、322、323和3/6码校验器330。如图8所示,第二异或单元中主要包括一些实现异或逻辑的异或门xor,但同时也包括一些与门and。以第二异或单元811为例,输入数据d1中的两个不同位数据,即data1[1]和data1[2],经过第二异或单元811的异或处理后获得第二异或结果。同时,输入数据d1和第三校验结果out输入到第二多路双轨码校验器821中,该第二多路双轨码校验器821对该两路8位数据进行比较,输出一第四校验结果。图8中没有标出该第四校验结果,不过可以获知该第四校验结果是由第二多路双轨码校验器821的c2c1管脚输出。第四校验结果继续经过第二异或单元811的处理,最终和第二异或结果一起生成了一对第二测试码x3x6,作为3/6码校验器830的一对输入。同理,d2的两个不同位数据,即data2[3]和data1[4],经过第二异或单元812的异或处理后获得第二异或结果,输入数据d2和第三校验结果out经过第二多路双轨码校验器822之后输出一第四校验结果,最终生成一对第二测试码x2x5。d3的两个不同位数据,即data3[5]和data3[6],经过第二异或单元813的异或处理后获得第二异或结果,输入数据d2和第三校验结果out经过第二多路双轨码校验器823之后输出一第四校验结果,最终生成一对第二测试码x1x4。根据这样的设置,可以使由第二测试码组成的第二输入测试集遍历3/6码校验器830所需的测试集中的全部测试码,实现完整的自校验过程。如图8所示,3/6码校验器830的输出为eo0和eo1,即第五校验结果eo的两位数据。
[0059]
在一些实施例中,不同的第二异或单元对一路输入数据中的不同位进行异或处理。如图8所示,在这些实施例中,每个第二异或单元对应于一路输入数据,并且所处理的数据位是不同的。例如,第二异或单元811处理d1中的data1[1]和data1[2],即第1位和第2位;第二异或单元812处理d2中的data2[3]和data2[4],即第3位和第4位,不同于第二异或单元711所处理的d1的位数;第二异或单元813处理d3中的data3[5]和data3[6],即第5位和第6位,不同于第二异或单元811、812所处理的d1和d2的位数。图8所示仅为示例,在其他的实施例中,只要这些位数不同即可,例如d1取data1[1]和data1[3],d2取data2[2]和data2[4],
d3取data3[3]和data3[6]等。根据这样的设置引入了随机性,使得输入至3/6码校验器830的第二输入测试集中出现[1,0]、[0,1]的概率相近,测试过程更加完整。
[0060]
根据上述实施例可知,每对第一测试码是包括[0,1]或[1,0]的两位数据,并且每对第二测试码是包括[0,1]或[1,0]的两位数据。
[0061]
根据图7所示的输入校验单元,第二校验结果包括2个数据位,第二校验结果包括四种,分别是[0,1]、[1,0]、[0,0]、[1,1],其中,[0,1]、[1,0]表示第二校验结果和输入校验单元都正常,[0,0]、[1,1]表示第二校验结果或输入校验单元出错。
[0062]
根据图8所示的输出校验单元,第五校验结果包括2个数据位,第五校验结果包括四种,分别是[0,1]、[1,0]、[0,0]、[1,1],其中,[0,1]、[1,0]表示第五校验结果和输出校验单元都正常,[0,0]、[1,1]表示第五校验结果或输出校验单元出错。
[0063]
根据上面的实施例,根据本技术的数据表决系统不仅可以对输入数据进行校验,判断输入数据是否正确,还能对该数据表决系统本身,具体到输入校验单元、输出校验单元是否正确,从而实现了真正意义上的自校验。
[0064]
回到本技术的图1所示,校验处理单元140从输入校验单元110接收到第二校验结果ei,从输出校验单元130接收到第五校验结果eo,即可确定数据表决系统的状态。该状态包括正常、异常,以及具体何处异常等。例如,如果ei和eo都正常,则数据表决系统的状态是输入数据和数据表决系统本身都正常,如果ei异常,则表示输入校验单元110内部出错,如果eo异常,则表示输出校验单元130内部出错,或者输出逻辑单元120内部出错。
[0065]
在一些实施例中,校验处理单元140还用于根据第二校验结果ei和第五校验结果eo确定第一处理方式,第一处理方式包括不处理、刷新输入数据、刷新第一码校验器、刷新第一多路双轨码校验器、刷新第二码校验器、刷新第二码校验器中的任意一种或几种的组合。参考图1所示,从校验处理单元140指向输入校验单元110的箭头表示可以从校验处理单元140向输入校验单元110发出刷新指令或命令;从校验处理单元140指向输出校验单元130的箭头表示可以从校验处理单元140向输出校验单元130发出刷新指令或命令。
[0066]
在一些实施例中,校验处理单元140还用于在执行第一处理方式之后,根据数据表决系统的状态确定第二处理方式,数据表决系统的状态包括正常、输入校验单元出错、输出校验单元出错和输出逻辑出错中的任意一种,第二处理方式包括:输出异常报告或刷新输出逻辑单元120。表3给出了在该些实施例中校验处理单元140的处理逻辑。
[0067]
表3.校验处理单元140的处理逻辑
[0068]
[0069][0070]
如表3所示,当ei和eo都正常时,则无需处理。当ei异常,eo正常时,此时表决系统的状态是输入校验单元110内部出错,首先对输入校验单元110中的3/6码校验器(即第一码校验器)进行刷新,若刷新后正常则无需进一步处理;若刷新后不正常则继续进行刷新。当ei和eo都异常时,此时判断数据表决系统的状态为输入校验单元110和输出校验单元130都出错。然而,在此时可以首先进行第一处理方式,即重新读入数据,并刷新输入校验单元110中的第一多路双轨码校验器,在第一处理方式之后,再确定ei和eo的状态,如果都正常了,则表示前面的错误是由于输入数据出错导致的,否则,则表示输入数据不一致,此时进一步的处理将数据不一致的结果报告给输出逻辑单元120。在图1中从校验处理单元140到输出逻辑单元120的箭头表示该结果的报告方向,该箭头表示校验处理单元140可以向输出逻辑单元120输出数据和/或命令。
[0071]
在一些实施例中,输出逻辑单元120还用于输出每一路输入数据的判断结果,该判断结果包括正常和出错。
[0072]
如表3所示,当ei正常,eo异常时,第一处理方式采用刷新输出校验单元130中的3/6码校验器(即第二码校验器),若刷新后正常,则表决系统的状态为输出校验单元130出错,否则为输出逻辑单元120,此时进一步的处理是,刷新输出逻辑单元120。在图1中从校验处理单元140到输出逻辑单元120的箭头表示该刷新指令的方向。
[0073]
在一些实施例中,输出逻辑单元120还用于输出第二校验结果ei和第五校验结果eo。
[0074]
综合上述不同的实施例,图1中的输出数据102可以包括以下三种内容:(1)第三校验结果out;(2)每一路输入数据的判断结果;(3)第二校验结果ei和第五校验结果eo。当然,根据需要输出逻辑单元120还可以输出其他的数据或命令至外部单元,本技术对此不做限
制。
[0075]
表4给出了在另一些实施例中校验处理单元140的处理逻辑。与表3相比,该处理逻辑增加考虑了每路数据的预判错误状态data_error,即前文所述的输出逻辑单元120可以输出的每一路输入数据的判断结果。并且这里采用的刷新功能是对数据表决系统的整体刷新,而不是如表3中的仅为3/6码校验器进行刷新。data_error采用三个数据位分别表示三路数据的状态,0表示该路数据正确,1表示该路数据出错。表4中的表决器即数据表决系统。
[0076]
表4.校验处理单元140的处理逻辑
[0077][0078][0079]
如表4所示,当ei和eo都正常时,如果data_error为000,表示每路数据都正常,则无需处理,否则,再次校验已接收的数据,如果data_error变为000,则无需处理,否则认为表决器错误。
[0080]
当ei正常,eo异常时,或者当ei异常,eo正常时,无论data_error为何,都执行刷新表决器的动作,判断结果为表决器本身错误。
[0081]
当ei和eo都异常时,则根据data_error的不同给出不同的处理和判断结果。当有任意一路出错时,再次校验已接收数据,如果data_error则表示表决器正确,是输入数据错误,否则表示表决器错误。当3路数据都出错时,再次校验已接收数据,并且申请重新输入数据,若仍出错则重复申请。这里的健康管理单元是数据表决系统外部的一个单元,用于控制输入数据101和接收输出数据102,并根据输出数据102进一步控制数据表决系统,例如发出
刷新指令等。数据处理模块则是用于产生输入数据101的模块,健康管理单元可以对该数据处理模块发出刷新指令,从而获得更新的输入数据。
[0082]
在一些实施例中,输入数据101由数据处理模块生成,并存储在寄存器中。数据表决系统100可以从寄存器中获得所需要的输入数据101。
[0083]
参考图1,本技术的数据表决系统100不仅通过输入校验单元110对输入数据101进行校验,还结合其所输出的第二校验结果ei和输出逻辑单元120的第三校验结果out通过输出检验单元130进行第二次校验获得第五校验结果eo,并采用校验处理单元140根据第二校验结果ei和第五校验结果eo来确定数据表决系统100的状态和所要采取的处理方式,可以同时对输入数据和数据表决系统本身进行校验,实现了真正的自校验,有利于提高电子系统的可靠性。
[0084]
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述发明披露仅仅作为示例,而并不构成对本技术的限定。虽然此处并没有明确说明,本领域技术人员可能会对本技术进行各种修改、改进和修正。该类修改、改进和修正在本技术中被建议,所以该类修改、改进、修正仍属于本技术示范实施例的精神和范围。
[0085]
同时,本技术使用了特定词语来描述本技术的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本技术至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本技术的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
[0086]
本技术的一些方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。处理器可以是一个或多个专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理器件(dapd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、处理器、控制器、微控制器、微处理器或者其组合。此外,本技术的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。例如,计算机可读介质可包括,但不限于,磁性存储设备(例如,硬盘、软盘、磁带
……
)、光盘(例如,压缩盘cd、数字多功能盘dvd
……
)、智能卡以及闪存设备(例如,卡、棒、键驱动器
……
)。
[0087]
计算机可读介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等等、或合适的组合形式。计算机可读介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机可读介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、射频信号、或类似介质、或任何上述介质的组合。
[0088]
同理,应当注意的是,为了简化本技术披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本技术实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本技术对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
[0089]
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例
描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有
±
20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本技术一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
技术特征:
1.一种自校验的数据表决系统,其特征在于,包括输入校验单元、输出逻辑单元、输出校验单元和校验处理单元,其中,所述输入校验单元包括n1个第一异或单元、n1个第一多路双轨码校验器和第一码校验器,所述第一码校验器是2*n1中取n1码的码校验器,所述输入校验单元用于接收n2路输入数据,所述n2路输入数据互为冗余数据,每个所述输入数据包括m位数据,所述n2路输入数据两两组合形成n1个数据组,每个所述第一多路双轨码校验器用于接收一组所述数据组并进行比较,并根据比较结果输出第一校验结果,每个所述第一异或单元用于对一路输入数据中的两个不同位数据进行异或处理获得第一异或结果,所述第一异或单元还用于根据所述第一异或结果和所述第一校验结果生成一对第一测试码,n1对第一测试码组成所述第一码校验器的第一输入测试集,所述第一码校验器根据所述第一输入测试集输出第二校验结果,其中,n1是大于等于3的正整数,n2是大于等于3的奇数;所述输出逻辑单元用于接收所述第一校验结果,并输出第三校验结果,所述第三校验结果包括多数一致的第一校验结果;所述输出校验单元包括n1个第二异或单元、n1个第二多路双轨码校验器和第二码校验器,所述第二码校验器是2*n1中取n1码的码校验器,每个所述第二多路双轨码校验器用于接收一路所述输入数据和一路所述第三校验结果并进行比较,并根据比较结果输出第四校验结果,每个所述第二异或单元用于对一路输入数据中的两个不同位数据进行异或处理获得第二异或结果,所述第二异或单元还用于根据所述第二异或结果和所述第四校验结果生成一对第二测试码,n1对第二测试码组成所述第二码校验器的第二输入测试集,所述第二码校验器根据所述第二输入测试集输出第五校验结果;以及所述校验处理单元用于根据所述第二校验结果和所述第五校验结果确定所述数据表决系统的状态。2.如权利要求1所述的数据表决系统,其特征在于,每对所述第一测试码是包括[0,1]或[1,0]的两位数据,并且每对所述第二测试码是包括[0,1]或[1,0]的两位数据。3.如权利要求1所述的数据表决系统,其特征在于,不同的所述第一异或单元对所述一路输入数据中的不同位进行异或处理,不同的所述第二异或单元对所述一路输入数据中的不同位进行异或处理。4.如权利要求1所述的数据表决系统,其特征在于,所述第二校验结果包括2个数据位,所述第二校验结果包括四种,分别是[0,1]、[1,0]、[0,0]、[1,1],其中,[0,1]、[1,0]表示所述第二校验结果和所述输入校验单元都正常,[0,0]、[1,1]表示所述第二校验结果或所述输入校验单元出错。5.如权利要求1所述的数据表决系统,其特征在于,所述第五校验结果包括2个数据位,所述第五校验结果包括四种,分别是[0,1]、[1,0]、[0,0]、[1,1],其中,[0,1]、[1,0]表示所述第五校验结果和所述输出校验单元都正常,[0,0]、[1,1]表示所述第五校验结果或所述输出校验单元出错。6.如权利要求1所述的数据表决系统,其特征在于,所述校验处理单元还用于根据所述第二校验结果和所述第五校验结果确定第一处理方式,所述第一处理方式包括不处理、刷新所述输入数据、刷新所述第一码校验器、刷新所述第一多路双轨码校验器、刷新所述第二码校验器、刷新所述第二码校验器中的任意一种或几种的组合。
7.如权利要求6所述的数据表决系统,其特征在于,所述校验处理单元还用于在执行所述第一处理方式之后,根据所述数据表决系统的状态确定第二处理方式,所述数据表决系统的状态包括正常、输入校验单元出错、输出校验单元出错和输出逻辑出错中的任意一种,所述第二处理方式包括:输出异常报告或刷新所述输出逻辑单元。8.如权利要求1所述的数据表决系统,其特征在于,所述输出逻辑单元还用于输出每一路所述输入数据的判断结果,所述判断结果包括正常和出错。9.如权利要求1所述的数据表决系统,其特征在于,所述输出逻辑单元还用于输出所述第二校验结果和所述第五校验结果。10.如权利要求1所述的数据表决系统,其特征在于,所述输入数据以一个字节为一个数据单位,每个所述输入数据包括8位数据。
技术总结
本发明提供了一种自校验的数据表决系统,包括输入校验单元、输出逻辑单元、输出校验单元和校验处理单元。其中,在输入校验单元和输出校验单元中都设置了异或单元、多路双轨码校验器和码校验器,通过对输入数据的两个不同位数据进行异或处理,再结合多路双轨码校验器生成具有随机性的测试集,使码校验器可以获得完整的测试码,避免测试信息的损失。校验处理单元根据输入校验单元的第二校验结果和输出校验单元的第五校验结果来判断数据表决系统的状态,以及处理方式,可以达到对输入数据的校验以及对数据表决系统自身的校验,实现真正的自校验,有利于提高电子系统的可靠性。有利于提高电子系统的可靠性。有利于提高电子系统的可靠性。
技术研发人员:宁永康 王学良 贺芸 章可钦
受保护的技术使用者:上海微小卫星工程中心
技术研发日:2023.03.20
技术公布日:2023/7/25
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
