CN101251816B - 一种用于可编程器件的冗余系统及其冗余实现方法 - Google Patents
一种用于可编程器件的冗余系统及其冗余实现方法 Download PDFInfo
- Publication number
- CN101251816B CN101251816B CN2008101019090A CN200810101909A CN101251816B CN 101251816 B CN101251816 B CN 101251816B CN 2008101019090 A CN2008101019090 A CN 2008101019090A CN 200810101909 A CN200810101909 A CN 200810101909A CN 101251816 B CN101251816 B CN 101251816B
- Authority
- CN
- China
- Prior art keywords
- redundant
- module
- status register
- voting machine
- redundant module
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Hardware Redundancy (AREA)
Abstract
本发明提供一种用于可编程器件的冗余系统,包括N模冗余部分,表决器部分,还包括状态寄存器复制数据通路部分;其中,N模冗余部分中的各个冗余模块并行连接到表决器部分,每个冗余模块各自包含有用于存储状态数据的状态寄存器;N模冗余部分中的各个冗余模块还通过状态寄存器复制数据通路部分连接,表决器部分分别与各个冗余模块上的对应的状态寄存器复制通路部分连接。本发明提高了N模冗余的可靠性,具有结构简单、通用性强、占用资源少、效率高的优点。
Description
技术领域
本发明涉及到容错与故障修复设计的体系结构,特别涉及对可编程器件中软错误的故障检测和修复方法。
背景技术
可编程器件具有开发周期短,开发成本低,灵活性高,可重复编程等特点,因此广泛应用于现代电子系统设计中。可靠性是电子系统设计中必须考虑的问题,可编程器件大多采用静态易失性存储结构,如应用广泛的SRAM型FPGA,与专用集成电路ASIC相比更容易受到外界环境的干扰而引发故障,因此针对可编程器件的容错与故障修复方法在电子系统的可靠性设计中具有重要意义。
目前,针对可编程器件常用的容错方法是N模冗余法,N模冗余中最常见的则为三模冗余(Triple Module Redundancy,TMR),该方法中通过采用“少数服从多数”的原则忽略故障信息,从而保证正确信息的输出。在图1中对传统的三模冗余设计的系统框图进行了说明,从图中可以看出,冗余系统将功能模块复制为三份,在其后添加多数通过表决器,令三个模块在同一时间执行相同的操作,然后将三个模块的输出结果送入表决器进行判决,以多数相同的数据输出作为系统表决后的正确输出。图2则对图1中所涉及的三模冗余系统的工作流程进行说明,当冗余系统中某一模块发生故障时,表决器会将其数据输出屏蔽,以达到容错的目的。待整个系统完成当前任务后,将可编程器件整体重新配置,以修复故障。
传统的三模冗余设计在故障修复环节存在严重问题。当冗余系统中某一模块发生故障后,必须等待系统将当前任务完成,才能对可编程器件进行整体重配以修复故障。这其中包含两个问题:首先,冗余系统不能对故障模块进行及时修复,一旦积累到两个模块发生故障,三模冗余将不能提供正确的数据输出,整个容错系统将崩溃。其次,在故障修复时必须令可编程器件停止工作,对其进行整体重配,此方式势必将影响整个电子系统的运行,在高可靠性系统设计中(例如航空、航天设计)难以使用。
本领域的技术人员将局部动态可重构技术应用于三模冗余系统中以解决传统的三模冗余系统中的上述问题。该技术目前已经应用在静态易失性存储结构的可编程器件中。用户可以在可编程器件运行过程中对局部的逻辑进行修改和配置,修改过程不会影响整体系统的运行。该方法应用在三模冗余的纠错系统中,可在一定程度上解决上述问题。如图3所示,为采用了局部动态可重构技术的三模冗余系统的结构图,从图中可以看出,当冗余模块发生故障后,系统中的表决器对发生故障的冗余模块进行定位,然后通知外接的中央处理器对发生故障的冗余模块通过局部动态重构技术进行更新,更新后的模块可以重新加入冗余系统中工作。
但是,现代电子系统设计中,可编程器件的大多数功能模块都包含时序电路,其中不可避免的会设计状态寄存器。从图4的采用局部动态重构技术的三模冗余流程图中可以看出,当某一模块发生故障后,即便用户对其进行局部重构,更新后的模块状态寄存器将为初始状态,与正常工作的两个模块状态不同步,无法立即加入冗余系统中工作,只能等待另两个模块完成当前任务后恢复初始状态,三者重新同步。在重新同步之前,如果另有一个模块发生故障,三模冗余系统仍将失效。因此,三模冗余中的模块同步问题严重制约了冗余系统可靠性的提高。
发明内容
本发明的目的是克服现有的N模冗余系统中的模块同步问题制约冗余系统可靠性提高的缺陷,从而提供一种N模冗余中可实现模块同步的冗余系统以及相应的冗余实现方法。
为了实现上述目的,本发明提供了一种用于可编程器件的冗余系统,包括用于实现系统容错的N模冗余部分,用于检测错误数据及定位错误冗余模块的表决器部分,还包括用于实现冗余模块间状态同步的状态寄存器复制数据通路部分,所述的表决器部分还对所述的状态寄存器复制数据通路部分的开关进行控制;其中,
所述的N模冗余部分中的各个冗余模块并行连接到所述的表决器部分,每个所述的冗余模块各自包含有用于存储状态数据的状态寄存器;所述的N模冗余部分中的各个冗余模块还通过所述的状态寄存器复制数据通路部分连接,所述的表决器部分分别与各个冗余模块上的对应的状态寄存器复制通路部分连接;所述N值为大于等于3的奇数。
上述技术方案中,所述的状态寄存器复制数据通路部分为单向数据传输通道,将所述N模冗余部分中的一个冗余模块的状态寄存器中的状态数据传递到相邻的下一个冗余模块,直至形成一个状态数据传递的单向闭合回路。
上述技术方案中,所述的状态寄存器复制数据通路部分在每个冗余模块的寄存器反馈回路上有一个2选1选择器,选择器的一路输入接所在冗余模块的状态寄存器输出信号,另一路输入接所述的相邻的下一个模块的寄存器输出信号,所述选择器的输出信号接入所在冗余模块,所述选择器的选择控制信号由所述表决器提供。
上述技术方案中,所述的N模冗余部分中的所有冗余模块具有相同的逻辑结构。
上述技术方案中,所述的状态寄存器复制数据通路部分采用并行数据通路或串行数据通路实现。
一种采用所述的用于可编程器件的冗余系统实现冗余的方法,包括以下步骤:
步骤1)、所述的N模冗余部分中的各个冗余模块分别对输入的数据进行计算;
步骤2)、所述的表决器部分对各个冗余模块的计算结果进行检测,屏蔽发生故障的冗余模块所输出的计算结果;
步骤3)、所述的表决器部分对发生故障的冗余模块进行定位;
步骤4)、所述的表决器部分根据步骤3)的定位结果通知外接的中央处理器对发生故障的冗余模块进行局部动态重构;
步骤5)、所述的局部动态重构完成后,利用正常工作的冗余模块的状态信息对所述的发生故障的冗余模块进行状态同步;
步骤6)、撤销对发生故障的冗余模块所输出的计算结果的屏蔽。
上述技术方案中,,在所述的步骤5)中,包括:
步骤5-1)、所述的表决器部分向与发生故障的冗余模块相关的状态寄存器复制数据通路发送控制命令,将相邻冗余模块的状态寄存器中的信息复制到发生故障的冗余模块的状态寄存器中;
步骤5-2))、状态同步结束后,所述的表决器发出终止状态寄存器中信息复制的控制命令。
上述技术方案中,所述的控制命令通过令牌机制实现,在所述的步骤5-1)中,所述的表决器部分向与发生故障的冗余模块相关的状态寄存器复制数据通路发送控制命令包括:所述的表决器部分向与发生故障的冗余模块相关的状态寄存器复制数据通路发送令牌;在所述的步骤5-2)中,所述的表决器发出终止状态寄存器中信息复制的控制命令包括:所述的表决器部分收回令牌。
上述技术方案中,所述的表决器部分向与发生故障的冗余模块相关的状态寄存器复制数据通路发送令牌包括:所述的表决器部分向所述的状态寄存器复制数据通路中的2选1选择器发送控制信号,使得所述的2选1选择器的输出结果为所述的相邻的下一个模块的寄存器输出信号。
上述技术方案中,所述的表决器部分收回令牌包括:所述的表决器部分向所述的状态寄存器复制数据通路中的2选1选择器发送控制信号,使得所述的2选1选择器的输出结果为所述的所在冗余模块的状态寄存器输出信号。
上述技术方案中,在所述的步骤5-2)中,所述的状态同步结束的判断标准为:
所述选择器部分检测发生故障的冗余模块与其它冗余模块间的数据输出是否一致,若一致,则认为状态同步过程结束。
本发明的优点在于:
1、本发明的用于可编程器件的冗余系统解决了N模冗余设计中的模块同步问题,使得完成故障修复后的冗余模块可以立即与其他模块同步,重新加入系统工作,这在很大程度上避免了因故障积累造成的系统失效,提高了N模冗余的可靠性。
2、本发明的用于可编程器件的冗余系统在实现状态同步时均在可编程器件内部通过硬件实现,状态寄存器的复制可以采用并行机制执行,运行效率高。
3、本发明基本不改变可编程器件中功能模块的逻辑结构,仅需要在状态寄存器的反馈回路做简单修改,具有结构简单的优点。
4、本发明的用于可编程器件的冗余系统可以应用于可编程器件内部各种功能模块的冗余设计,具有很强的通用性。
5、本发明的主体部分仅由2选1选择器外加一些连线资源实现,资源开销很小,同时本发明在可编程器件内部实现,既不会消耗芯片的管脚和电路板卡面积,也不会增加电子系统的重量和体积。
附图说明
以下,结合附图来详细说明本发明的实施例,其中:
图1为传统三模冗余系统的结构图;
图2为传统三模冗余系统的工作流程图;
图3为采用局部动态重构技术的三模冗余系统的结构图;
图4为采用局部动态重构技术的三模冗余系统的工作流程图;
图5为本发明的用于可编程器件的冗余系统在一个实施例中的结构图;
图6为本发明的用于可编程器件的冗余系统在一个实施例中的冗余模块的结构图;
图7为图6中的冗余模块的状态转换图;
图8为本发明的用于可编程器件的冗余系统中的模块同步原理图;
图9为本发明的用于可编程器件的冗余系统中的状态寄存器复制数据通路的示意图;
图10为在一个实施例中的本发明的用于可编程器件的冗余系统中的状态寄存器复制数据通路的电路结构图;
图11为在一个实施例中的本发明的用于可编程器件的冗余系统的电路结构图;
图12为本发明的冗余实现方法的流程图;
图13为本发明的冗余系统在一个实施例中各个信号的时序图。
具体实施方式
下面结合附图和具体实施方式对本发明的冗余系统及相应的冗余实现方法进行说明。
本发明的用于可编程器件的的冗余系统可在发生故障的冗余模块排除故障后,通过冗余模块间的模块状态同步实现发生故障的冗余模块在短期内重新工作。该冗余系统可应用在不同的N模冗余系统中,在本实施方式中仍以N模冗余中常见的三模冗余系统为例,对冗余系统的组成以及各自的功能进行说明。
如图5所示,本发明的用于可编程器件的的冗余系统包括三模冗余,表决器以及状态寄存器复制数据通路三个部分。三模冗余中的三个冗余模块通过状态寄存器复制数据通路彼此连接,表决器除了与三个冗余模块分别连接外,还连接到所述的状态寄存器复制数据通路。本发明的用于可编程器件的的冗余系统还要与外部的中央处理器连接,由外接的中央处理器实现局部动态重构。下面分别对冗余系统中的三个部分进行详细说明。
三模冗余部分是将一个功能模块复制为三份得到的,通过三模冗余可有效地实现相关系统的容错。在现有技术中,实现三模冗余结构的方法有两种,一种是三个模块之间具有相同的逻辑结构和功能,冗余模块仅仅是最初功能模块的镜像复制;另一种是三个模块具有相同的功能,但它们通过不同的逻辑结构实现。为了保证各个冗余模块具有相同的状态寄存器,以实现后续的模块同步中的寄存器数据间的相互匹配,本发明的三模冗余部分采用了完全相同的逻辑结构。在具体实现时,首先将功能模块的硬件描述语言(Hardware Description Language,HDL)代码复制为三份,确保三个模块具有相同的逻辑结构;其次要对每个冗余模块设定约束条件,确保三个模块具有大体相当的传输延时,避免因传输延时不同而造成的数据不同步,进而导致表决器误判。
三模冗余部分中的冗余模块的功能与具体的应用场景相关,而它的具体结构也与它的功能息息相关。在本实施例中,为了说明的方便,冗余模块具有简单的功能:冗余模块在时钟信号的驱动下输出内部状态寄存器的值,而状态寄存器在每个时钟周期的上升沿发生改变。为了完成上述功能,一个冗余模块由一个时钟同步加法器和一个D触发器组成,其中的D触发器起到了保存状态信息的作用,即在本实施例中将D触发器作为状态寄存器。在本发明中的状态寄存器是指可能影响冗余模块工作状态,从而影响最后输出结果的寄存器。它可以仅是影响模块状态机的寄存器,也可以是包含D触发器在内的所有寄存器,在本实施例中仅将D触发器作为状态寄存器。
图6对本实施例中的冗余模块的电路结构进行了说明,而在图7中则对该冗余模块的状态转换关系进行了说明。从图7可以看出,冗余模块的D触发器所存储的状态信息用两个2进制位表示,可以表示4种状态。每一种状态信息通过时钟同步加法器的加一操作而改变,然后在时钟信号的上升沿将改变后的状态信息输出到D触发器中,D触发器保存该状态信息,然后在时钟信号的上升沿输出该状态信息,所输出的状态信息再次进入时钟同步加法器,等待状态信息的下一次改变。本实施例中所描述的三模冗余中的各个冗余模块的电路结构只是为了举例说明之用,本领域的普通技术人员应当了解,其它各种结构的冗余模块都可用于本发明。
与现有的三模冗余系统中所采用的表决器相比,本发明的表决器除了用于对冗余模块所输出的数据进行检测判决,以及对冗余模块中的故障模块进行故障屏蔽与故障定位外,还需要对状态寄存器复制数据通路的开关信号进行控制。表决器对状态寄存器复制数据通路的开关信号的控制可以通过令牌机制实现的。如图8所示,在令牌机制中,表决器为主设备,各个冗余模块为从设备,主设备向从设备发放令牌。只有收到令牌的从设备才可以进行状态寄存器复制的操作,没有令牌的从设备不得复制状态寄存器。待从设备的复制完成后,主设备将令牌收回。令牌机制中有且仅有一个令牌,即同一时刻最多只能有一个从设备进行状态寄存器复制。在具体实现上,表决器有专门的数据通路分别连接外部的中央处理器和各个冗余模块的状态寄存器复制数据通路。每个冗余模块在表决器中都有自己的序号,当某一冗余模块的数据出错后,表决器会将该冗余模块的序号发送给中央处理器,中央处理器随即调用该序号的配置信息对其局部重构。重构完成后,表决器向发生故障的冗余模块发送令牌进行寄存器复制,并监视其输出数据,如果数据与其他两个冗余模块一致,就认为模块同步完成,将令牌收回。表决器对状态寄存器复制数据通路的开关信号的控制除了本实施例中所提到的令牌机制外,还可以采用现有技术中的其它控制方法。
状态寄存器复制数据通路用于实现模块间的状态同步。如图9所示,该通路为单向传输数据通路,利用该通路可实现冗余模块间状态信息的同步,冗余模块1的状态信息可通过该通路传送到冗余模块2,而冗余模块2的状态信息则被传送到冗余模块3,冗余模块3的状态信息则被传送到冗余模块1。状态寄存器复制数据通路可根据系统性能以及资源开销等情况选择设计为串行或并行通路。数据通路的开关由表决器进行控制,在模块正常工作时,该数据通路关闭,模块按照自身的状态机进行跳转;当模块异常时,表决器会通知中央处理器对其进行重构。重构后的模块为初始状态,表决器将其数据通路打开,该模块复制临近模块的状态寄存器,以实现自身状态的跨越式跳转,迅速完成系统同步。
状态寄存器复制数据通路在具体实现上,可以采用一个2选1选择器。如图10所示,选择器的输入端0和输入端1分别接本地状态寄存器(即图中的D触发器)和临近模块的状态寄存器的输出,选择控制信号接表决器,输出端接本地状态寄存器的输入。在正常状态下,表决器将选择信号置低,选择器的输入端接本地状态寄存器;当需要同步时,表决器将选择信号置高,选择器的输入端接相邻模块状态寄存器。除了本实施例中所提到的2选1选择器外,状态寄存器复制数据通路还可以采用多路选择器、三态门等其他装置。
将本实施例中的各个部分相结合,可以得到一个完整的三模冗余系统,图11为该冗余系统在一个实施例中的电路结构图,从该图中可以看出,三个冗余模块分别与表决器连接,在每个冗余模块的寄存器反馈回路上添加2选1选择器,选择器的一路输入接本模块的寄存器输出信号,另一路输入接邻近模块的寄存器输出信号。选择器的输出信号接入本模决的加法器,选择控制信号由表决器提供。冗余模块1的2选1选择器中一路输入来自本模块的数据输出1,另一路输入来自相邻模块的数据输出2;冗余模块2的选择器两路输入分别为数据输出2和数据输出3,冗余模块3的选择器输入分别为数据输出3和数据输出1。三路寄存器复制数据通路将三个冗余模块构建为一个闭合的环路,任何一个模块均可以从邻近模块中获取寄存器数据。
利用上述的冗余系统,可完成相应的冗余实现方法,如图12所示,该方法具体包括以下步骤:
步骤1、数据输入三模冗余部分中的各个冗余模块;
步骤2、冗余模块对数据分别进行计算,并将计算结果分别输入表决器;
步骤3、表决器对各个输入结果进行检测,如果发生故障,执行下一步,否则输出结果后,重新执行步骤1;
步骤4、对发生故障的冗余模块进行定位;
步骤5、通知外部的中央处理器对发生故障的冗余模块采用局部动态重构技术进行故障修复;
步骤6、中央处理器完成对发生故障的冗余模块的故障修复后,通知表决器,表决器向与发生故障的冗余模块相关的状态寄存器复制数据通路发送控制命令;在本步骤中,所发送的控制命令通过令牌机制实现,具体的说,表决器发送令牌是使状态寄存器复制数据通路中的二路选择器变成高电位,使得选择器的输出接相邻模块状态寄存器。
步骤7、在所述令牌的控制下,状态寄存器复制数据通路将相邻模块的状态寄存器的状态信息复制到发生故障的冗余模块的状态寄存器中;
步骤8、表决器检测发生故障的冗余模块与其它冗余模块间的数据输出是否一致,若一致,则认为同步过程完成,执行下一步,否则重复执行步骤7;
步骤9、表决器发送终止状态信息的控制命令;在本步骤中,表决器所发送的控制命令通过收回令牌的操作实现。所述的收回令牌操作是使状态寄存器复制数据通路中的二路选择器重新变成低电位,选择器的输出端接本地状态寄存器;
步骤10、发生故障的冗余模块重新运行。
为了对上述方法有更进一步的了解,下面结合具体的例子对冗余实现过程中相应信号的变化情况进行说明。针对图11中的冗余系统,假设冗余模块1在工作过程中发生故障,则冗余模块1将错误输出传送至表决器,表决器检测到冗余模块1与冗余模块2、3的数据不一致,判决冗余模块1发生故障,将其数据屏蔽。随后,表决器发送信号至中央处理器,告知其将冗余模块1局部重构。中央处理器完成重构后,表决器将冗余模块1中选择器的选择信号切换到数据输出2,即将令牌发送给模块1,并且检测三个冗余模块的数据输出。待冗余模块1与另两个冗余模块数据输出一致时,认为同步完成,将选择信号切换回数据输出1,即将令牌收回。对于此种假设情况,在图13中对同步过程中的各种信号的变化进行了描述,其中,信号“输出1”、“输出2”、“输出3”分别为三个冗余模块的数据输出,“状态1”、“状态2”、“状态3”分别是三个冗余模块的状态寄存器中的状态信息。“数据输出”是表决器的输出、“故障”是故障定位信号、“始能1”是模块1的选择器信号。
在第1时钟周期,三个冗余模块内部寄存器的状态均为10,数据输出均为01,表决器检测所有冗余模块工作正常,表决器中的“数据输出”也为01,同时“故障”信号为0,即没有模块出现故障,冗余模块1的2选1选择器信号“始能1”为0,即反馈回路连接该模块本身的数据输出。在第2时钟周期,冗余模块1发生故障,状态寄存器“状态1”没有发生跳转,仍保持为10;其余两个模块运行正常,状态寄存器跳转为11。此时由于“输出1”信号输出为上一个时钟周期状态寄存器的值,因此本周期“输出1”信号输出跳变为10。表决器检测三个冗余模块的输出仍然一致,认为没有故障发生,“故障”、“始能1”信号保持不变,总“数据输出”跟随跳变为10。在第3时钟周期,冗余模块1由于故障,其状态寄存器仍然保持10不变,输出信号也保持10,其余模块仍正常运行。表决器检测到“输出1”与“输出2”、“输出3”不一致,认为冗余模块1发生故障,将其数据输出屏蔽,总“数据输出”信号跟随二号、三号冗余模块变化,同时“故障”信号置为01,指示模块1发生故障。第4至第8时钟周期,中央处理器对模块1进行重构,“状态1”和“输出1”均为高阻态。表决器令总数据信号跟随“输出2”和“输出3”变化。第9时钟周期,模块1更新完毕,其状态寄存器“状态1”恢复初始状态0,“输出1”仍为高阻态。表决器将“始能1”信号置为1,即将令牌发送给模块1,将其状态寄存器反馈回路切换到冗余模块2的数据输出,开始复制状态寄存器。第10时钟周期,冗余模块1完成状态寄存器复制,“状态1”跳转为11,此时“输出1”跳变为上一周期“状态1”的值0。表决器检测“输出1”仍然与其他模块数据输出不同步,因此继续保留“始能1”为高电平。第11时钟周期,“输出1”与其他输出信号同步,表决器判定模块1恢复正常,将“始能1”置0收回令牌,“故障”信号也恢复为0。至此三模冗余完成容错、纠错及同步的全过程。
在上述实施例中,以三模冗余系统为例,对本发明进行了详细说明,但本领域的普通技术人员应当了解,本发明并不局限于在三模冗余系统中应用,结合现有技术与本发明所披露的内容,可将本发明应用在其它模数的冗余系统中。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (11)
1.一种用于可编程器件的冗余系统,包括用于实现系统容错的N模冗余部分,用于检测错误数据及定位错误冗余模块的表决器部分,其特征在于,还包括用于实现冗余模块间状态同步的状态寄存器复制数据通路部分,所述的表决器部分还对所述的状态寄存器复制数据通路部分的开关进行控制;其中,
所述的N模冗余部分中的各个冗余模块并行连接到所述的表决器部分,每个所述的冗余模块各自包含有用于存储状态数据的状态寄存器;所述的N模冗余部分中的各个冗余模块还通过所述的状态寄存器复制数据通路部分连接,所述的表决器部分分别与各个冗余模块上的对应的状态寄存器复制通路部分连接;所述N值为大于等于3的奇数。
2.根据权利要求1所述的用于可编程器件的冗余系统,其特征在于,所述的状态寄存器复制数据通路部分为单向数据传输通道,将所述N模冗余部分中的一个冗余模块的状态寄存器中的状态数据传递到相邻的下一个冗余模块,直至形成一个状态数据传递的单向闭合回路。
3.根据权利要求2所述的用于可编程器件的冗余系统,其特征在于,所述的状态寄存器复制数据通路部分在每个冗余模块的寄存器反馈回路上有一个2选1选择器,选择器的一路输入接所在冗余模块的状态寄存器输出信号,另一路输入接所述的相邻的下一个模块的寄存器输出信号,所述选择器的输出信号接入所在冗余模块,所述选择器的选择控制信号由所述表决器提供。
4.根据权利要求1所述的用于可编程器件的冗余系统,其特征在于,所述的N模冗余部分中的所有冗余模块具有相同的逻辑结构。
5.根据权利要求1所述的用于可编程器件的冗余系统,其特征在于,所述的状态寄存器复制数据通路部分采用并行数据通路或串行数据通路实现。
6.一种采用所述权利要求1-5中的用于可编程器件的冗余系统实现冗余的方法,包括以下步骤:
步骤1)、所述的N模冗余部分中的各个冗余模块分别对输入的数据进行计算;
步骤2)、所述的表决器部分对各个冗余模块的计算结果进行检测,屏蔽发生故障的冗余模块所输出的计算结果;
步骤3)、所述的表决器部分对发生故障的冗余模块进行定位;
步骤4)、所述的表决器部分根据步骤3)的定位结果通知外接的中央处理器对发生故障的冗余模块进行局部动态重构;
步骤5)、所述的局部动态重构完成后,利用正常工作的冗余模块的状态信息对所述的发生故障的冗余模块进行状态同步;
步骤6)、撤销对发生故障的冗余模块所输出的计算结果的屏蔽。
7.根据权利要求6所述的冗余实现方法,其特征在于,在所述的步骤5)中,包括:
步骤5-1)、所述的表决器部分向与发生故障的冗余模块相关的状态寄存器复制数据通路发送控制命令,将相邻冗余模块的状态寄存器中的信息复制到发生故障的冗余模块的状态寄存器中;
步骤5-2))、状态同步结束后,所述的表决器发出终止状态寄存器中信息复制的控制命令。
8.根据权利要求7所述的冗余实现方法,其特征在于,所述的控制命令通过令牌机制实现,在所述的步骤5-1)中,所述的表决器部分向与发生故障的冗余模块相关的状态寄存器复制数据通路发送控制命令包括:所述的表决器部分向与发生故障的冗余模块相关的状态寄存器复制数据通路发送令牌;在所述的步骤5-2)中,所述的表决器发出终止状态寄存器中信息复制的控制命令包括:所述的表决器部分收回令牌。
9.根据权利要求8所述的冗余实现方法,其特征在于,所述的表决器部分向与发生故障的冗余模块相关的状态寄存器复制数据通路发送令牌包括:所述的表决器部分向所述的状态寄存器复制数据通路中的2选1选择器发送控制信号,使得所述的2选1选择器的输出结果为所述的相邻的下一个模块的寄存器输出信号。
10.根据权利要求8所述的冗余实现方法,其特征在于,所述的表决器部分收回令牌包括:所述的表决器部分向所述的状态寄存器复制数据通路中的2选1选择器发送控制信号,使得所述的2选1选择器的输出结果为所述的所在冗余模块的状态寄存器输出信号。
11.根据权利要求7所述的冗余实现方法,其特征在于,在所述的步骤5-2)中,所述的状态同步结束的判断标准为:
所述选择器部分检测发生故障的冗余模块与其它冗余模块间的数据输出是否一致,若一致,则认为状态同步过程结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101019090A CN101251816B (zh) | 2008-03-13 | 2008-03-13 | 一种用于可编程器件的冗余系统及其冗余实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101019090A CN101251816B (zh) | 2008-03-13 | 2008-03-13 | 一种用于可编程器件的冗余系统及其冗余实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101251816A CN101251816A (zh) | 2008-08-27 |
CN101251816B true CN101251816B (zh) | 2010-06-09 |
Family
ID=39955214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101019090A Expired - Fee Related CN101251816B (zh) | 2008-03-13 | 2008-03-13 | 一种用于可编程器件的冗余系统及其冗余实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101251816B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101943910B (zh) * | 2009-07-07 | 2012-06-27 | 华东理工大学 | 用于容错控制的自校验方法 |
WO2013011353A1 (en) | 2011-07-20 | 2013-01-24 | Freescale Semiconductor, Inc. | Processing apparatus and method of synchronizing a first processing unit and a second processing unit |
WO2013081587A1 (en) * | 2011-11-30 | 2013-06-06 | Intel Corporation | Instruction and logic to provide vector horizontal majority voting functionality |
CN102831037B (zh) * | 2012-07-17 | 2015-01-07 | 高旭东 | 一种数据通路分片的冗余保护结构 |
CN102902603B (zh) * | 2012-09-27 | 2015-04-08 | 南京师范大学 | 一种面向数据并行计算的容错方法 |
CN104731666B (zh) * | 2013-12-23 | 2017-12-08 | 深圳市国微电子有限公司 | 一种抗单粒子翻转的自纠错集成电路及其纠错方法 |
CN104731668B (zh) * | 2014-12-05 | 2017-08-25 | 中国航空工业集团公司第六三一研究所 | Fpga三模冗余架构的故障管理与恢复控制器及其控制方法 |
CN105488259B (zh) * | 2015-11-25 | 2019-05-07 | 深圳市国微电子有限公司 | 一种抗辐照电路的加固方法 |
CN108804109B (zh) * | 2018-06-07 | 2021-11-05 | 北京四方继保自动化股份有限公司 | 基于多路功能等价模块冗余仲裁的工业部署和控制方法 |
CN109062716B (zh) * | 2018-06-20 | 2021-09-21 | 南京航空航天大学 | 基于帧级位流回读表决的准三模自修复系统及其控制方法 |
CN109189600A (zh) * | 2018-08-17 | 2019-01-11 | 四川航天系统工程研究所 | 一种基于多模冗余嵌入式软件的计算机系统及设计方法 |
CN110554981A (zh) * | 2019-08-02 | 2019-12-10 | 中国科学院上海微系统与信息技术研究所 | 基于交替偏置的高可靠接口电路及方法 |
CN110879523B (zh) * | 2019-12-11 | 2023-01-24 | 中国人民解放军陆军工程大学 | 一种修复切换控制模块 |
CN111338833B (zh) * | 2020-02-19 | 2022-02-01 | 北京航空航天大学 | 一种基于bram检测的动态自适应sram型fpga系统容错方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5629878A (en) * | 1993-10-07 | 1997-05-13 | International Business Machines Corporation | Test planning and execution models for generating non-redundant test modules for testing a computer system |
CN1402130A (zh) * | 2001-08-24 | 2003-03-12 | 中国科学院计算技术研究所 | 自诊断的多模冗余系统 |
US20040257982A1 (en) * | 2001-09-14 | 2004-12-23 | Norbert Boll | Method and communication system for establishing at least one fail safe communication link |
-
2008
- 2008-03-13 CN CN2008101019090A patent/CN101251816B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5629878A (en) * | 1993-10-07 | 1997-05-13 | International Business Machines Corporation | Test planning and execution models for generating non-redundant test modules for testing a computer system |
CN1402130A (zh) * | 2001-08-24 | 2003-03-12 | 中国科学院计算技术研究所 | 自诊断的多模冗余系统 |
US20040257982A1 (en) * | 2001-09-14 | 2004-12-23 | Norbert Boll | Method and communication system for establishing at least one fail safe communication link |
Also Published As
Publication number | Publication date |
---|---|
CN101251816A (zh) | 2008-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101251816B (zh) | 一种用于可编程器件的冗余系统及其冗余实现方法 | |
EP2013733B1 (en) | Error filtering in fault tolerant computing systems | |
US20050240811A1 (en) | Core-level processor lockstepping | |
US20070220367A1 (en) | Fault tolerant computing system | |
US20230350746A1 (en) | Fault-tolerant system with multi-core cpus capable of being dynamically configured | |
CN110413456B (zh) | 三冗余数据逐级表决系统及方法 | |
US20060242461A1 (en) | Method and system of copying a memory area between processor elements for lock-step execution | |
WO1997022930A1 (en) | Transparent fault tolerant computer system | |
US7590885B2 (en) | Method and system of copying memory from a source processor to a target processor by duplicating memory writes | |
CN111078614B (zh) | 一种基于fpga的功能模块 | |
CN101876929A (zh) | 用于同步冗余处理器的状态历史存储器 | |
CN100580637C (zh) | 防止固件缺陷干扰逻辑时钟的方法和系统 | |
CN102855314A (zh) | 基于fpga的实时数据库备份系统及备份方法 | |
CN101441586B (zh) | 基于微包协议的三模冗余容错计算机无缝重构方法 | |
Kempf et al. | An adaptive lockstep architecture for mixed-criticality systems | |
Proenza et al. | The design of the CANbids architecture | |
CN202798645U (zh) | 抗辐照的三模冗余电路结构 | |
CN101915894B (zh) | 测试数字逻辑器件中实时有限状态机的方法 | |
CN101604270B (zh) | 基于vxworks操作系统的ARINC429通信冗余方法 | |
CN109766226A (zh) | 一种多层次设计实现多模冗余投票功能的数字电路 | |
CN105243708A (zh) | 一种智能锁内分层程序及冗余控制架构 | |
CN111831490B (zh) | 一种冗余主备用节点之间内存同步方法及系统 | |
CN108038014A (zh) | 一种图像压缩多核并行容错方法、计算机、处理器 | |
CN104731666A (zh) | 一种抗单粒子翻转的自纠错集成电路及其纠错方法 | |
Lechner | Designing robust gals circuits with triple modular redundancy |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100609 |
|
CF01 | Termination of patent right due to non-payment of annual fee |