一种基于fpga的多数据三模冗余判决模块的制作方法

文档序号:8905353阅读:1235来源:国知局
一种基于fpga的多数据三模冗余判决模块的制作方法
【技术领域】
[0001]本发明涉及航天抗单粒子效应技术领域,更具体的说,涉及一种基于FPGA实现的内部多位数据三模冗余判决模块。
【背景技术】
[0002]随着航天科技的发展,对太空领域的探索也越来越深入,而航天器的安全要求也越来越高。航天器在太空中飞行时,单个高能粒子入射到半导体器件,可以在器件的灵敏体积内沉积能量,导致瞬态的扰动甚至永久性的损伤,这种现象称为单粒子效应。在现有技术上,抗单粒子效应最有效的方法便是在系统上做冗余容错设计,而在冗余容错设计中,三模冗余设计最为广泛。
[0003]三模冗余系统简称TMR(TripleModularRedundancy),是最常用的一种容错设计技术。三个模块同时执行相同的操作,以多数相同的输出作为表决系统的正确输出,通常称为三取二。三个模块中只要不同时出现两个相同的错误,就能掩蔽掉故障模块的错误,保证系统正确的输出。由于三个模块是互相独立的,两个模块同时出现错误是极小概率事件,故可以大大提高系统的可信性。
[0004]大多数的三模冗余判决模块都是基于单数据的,即三组输入信号两两一组进行“与”运算,再将“与”运算的结果进行“或”运算后作为表决器的表决结果输出,从其真值表中可以得知满足“三选二”三模冗余判决模块要求。
[0005]目前,各大领域所做的三模冗余设计都是基于单位数据进行判决,即使是多数据判决也只是将单位数据判决模块重复搭建而成,具有结构简单,功能单一等缺点,比如在系统发生错误时并不能检测出错误,更不能得知错误来自哪一模块。

【发明内容】

[0006]为了克服现有技术的不足,本发明提供一种基于FPGA的多数据三模冗余判决模块,利用数字电路中的比较器和多路选择器实现系统“三选二”功能,不仅达到多位数据同时进行三模冗余判决得到正确数据目的的同时,还能判断系统错误是否发生,以及错误的数据来自哪一模块。
[0007]本发明解决其技术问题所采用的技术方案是:包括FPGA内部逻辑资源搭建出的三个多位数据比较器和两个多通道数据选择器。三个前级工作系统的数据寄存器两两组合分为三组,每组数据寄存器分别连接一个数据比较器的两个输入端,三个数据比较器的输出端两两组合后同时输入两个多通道数据选择器的控制端;其中一个多通道数据选择器的三个数据输入端分别与前级工作系统的三个数据寄存器相连,该多通道数据选择器的输出作为判决模块的正确数据输出,另一个多通道数据选择器在前级工作系统发生错误时输出报错信号。
[0008]所述的每组数据寄存器分别连接一个数据比较器的两个输入端,该组数据寄存器的数据相同时,数据比较器输出1,该组数据寄存器的数据不同时,数据比较器输出O。
[0009]本发明的有益效果是:将三个冗余模块输出的数据进行两两比较,通过比较器的结果进行判决正确的模块数据,同时还通过此结果得知错误的模块的编号,有助于后续系统的处理。相对于传统的三模冗余判决电路,本发明的基于FPGA的多数据三模冗余判决模块,不仅集成于单一 FPGA内部,与工作模块并存,减少了时钟同步所带来的问题,并且加入了多位数据比较器,使得可以多位数据同时进行三模冗余判决,增加了系统的可靠性和快捷性。保证系统可以稳定的工作,减少系统由于错误而带来的损失。
【附图说明】
[0010]图1为三模冗余系统的基本结构图;
[0011]图2为本发明的判决模块基本原理图;
[0012]图3为本发明的判决模块真值表;
[0013]图4为本发明的三模冗余仿真图1 ;
[0014]图5为本发明的三模冗余仿真图2。
【具体实施方式】
[0015]下面结合附图和实施例对本发明进一步说明,本发明包括但不仅限于下述实施例。
[0016]本发明设计一种新型的基于FPGA的多数据三模冗余判决模块。为了整个项目工程具有抗辐射、可靠性高的特点,将前级工作系统备份三份,三份系统同时工作,并在后级加入利用FPGA内部的逻辑资源搭建的多数据三模冗余判决模块,实现对三个工作系统的数据进行判决得到正确数据,以保证系统的安全运行。
[0017]本发明的技术方案是:一种基于FPGA的多数据三模冗余判决模块,该模块主要由FPGA内部逻辑资源搭建出的三个多位数据比较器,两个多通道数据选择器组成。其中,比较器的两个输入端与前级工作系统的数据寄存器相连,输出端两两组合与数据选择器的控制端相连;数据选择器的数据输入端与前级工作系统的数据寄存器相连,输出直接为判决模块输出。这样,系统的三个数据寄存器的数据输入到此判决模块,输出的将是“三选一”判决后的正确数据。
[0018]本发明的进一步技术方案是:利用FPGA内部逻辑资源将工作系统进行三次备份,增加系统的冗余度,并使其同时工作,输出的多位数据寄存器两两组合连入多数据比较器,当两组数据相同时,比较器输出“1”,当两组数据不同时,比较器输出“O”。这样三个比较器输出的结果就会根据数据的相同与否进行变化,通过对三个比较器的输出结果进行判断就可以知道工作系统是否工作正常。
[0019]本发明的进一步技术方案是:三个工作系统是相互独立的,两个模块同时出现错误是极小概率事件,我们假设最多只有一个系统发生错误,由于系统输出的数据寄存器是两两比较的,即使存在一个系统发生错误,也能保证能有一个比较器输出结果为1,此时就可以将输出为I的比较器所对应工作系统的数据作为此次判决后的正确数据,达到“三选二”的功能。
[0020]本发明的进一步技术方案是:三个工作系统同时工作,且都没有出现错误时,输入到比较器的数据均相同,所以三个比较器输出结果为“111”。但当有一个模块发生错误时,即与其他两个正常工作模块数据不相同,此时三个比较器会输出两个O,即可得知系统有错误发生,并通过判断是哪个比较器输出为“ I”便可知发生的错误数据来自哪个工作系统。即使是两个模块错误的小概率事件发生,错误模块虽然不能指出错误数据的来源,但依然可以报错。进而对FPGA内部的逻辑进行相应处理,大大提高系统的可信性。
[0021]本发明的实施例如图1所示,是由三个相同的工作模块与表决器组成,表决器主要的工作是将工作模块输出的数据进行三选二判决,即电路中有两个或两个以上的模块正常工作时,整个系统电路即可正常工作,消除了单个模块的错误。本发明主要是设计一种基于FPGA的多数据三模冗余判决模块,其结构如图2所示,由三个多数据比较器和两个多通道选择器组成,其中,输入数据A连接到第一比较器、第三比较器和多通道选择器的输入端,输入数据B连接到第一比较器、第三比较器和多通道选择器的输入端,输入数据C连接到第二比较器、第三比较器和多通道选择器的输入端,在将三个比较器的比较输出端连到两个多通道数据选择器,由多通道数据选择器判决出正确的数据和发生错误模块。
[0022]如图2,是判决器内部的功能真值表,当比较器输入的数据相同时,输出为“1”,不同时输出为“O”。当输入数据A、B、C相同,三个比较器的值均为1,此时表示无错误数据,输入数据A、B、C均为正确数据。当数据A、B、C中有一个数据发生错误与其它两个不同时,三个比较器中会有两个的比较结果发生不同,即会出现两个“0”,因此逻辑上不会出现两个“ I”的情况。而出现两个“O”时,可以通过表中查出,结果“ I”的比较器所对应的数据编号肯定为正确数据,将该数据取出并作为正确数据传入下一级,完成“三选二”判决。
[0023]在得到正确数据的同时,还可以根据三个比较器输出的结果进行判断,得到错误的数据是A、B、C中的哪一个,这种结构就可以在下次数据到来之前进行相应的操作,来增强数据的可靠性和减少处理数据的时间。
[0024]本发明实例是在基于Actel公司最新IGLOO系列抗辐射芯片AGL600FPGA,该芯片采用基于flash的工艺结构,掉电不丢失,上电速度快,同时具有较强的抗空间单粒子辐射效应能力。在该电路的设计中,为了加强其抗辐射功能,故在关键线路上采用了三模冗余结构。
[0025]基于FPGA的多数据三模冗余判决模块仿真如图4和图5所示,图4表示相同数据的情况下,判决模块正确输出数据。图5表示输入数据A发生错误的情况下,进入判决模块时,比较器I与比较器3输出变为0,从图中可以看出,经过选通数据后仍得到正确数据输出,实现三模冗余的目的。
【主权项】
1.一种基于FPGA的多数据三模冗余判决模块,包括包括FPGA内部逻辑资源搭建出的三个多位数据比较器和两个多通道数据选择器,其特征在于:三个前级工作系统的数据寄存器两两组合分为三组,每组数据寄存器分别连接一个数据比较器的两个输入端,三个数据比较器的输出端两两组合后同时输入两个多通道数据选择器的控制端;其中一个多通道数据选择器的三个数据输入端分别与前级工作系统的三个数据寄存器相连,该多通道数据选择器的输出作为判决模块的正确数据输出,另一个多通道数据选择器在前级工作系统发生错误时输出报错信号。2.根据权利要求1所述的基于FPGA的多数据三模冗余判决模块,其特征在于:所述的每组数据寄存器分别连接一个数据比较器的两个输入端,该组数据寄存器的数据相同时,数据比较器输出1,该组数据寄存器的数据不同时,数据比较器输出O。
【专利摘要】本发明提供了一种基于FPGA的多数据三模冗余判决模块,三个前级工作系统的数据寄存器两两组合分为三组,每组数据寄存器分别连接一个数据比较器的两个输入端,三个数据比较器的输出端两两组合后同时输入两个多通道数据选择器的控制端;其中一个多通道数据选择器的三个数据输入端分别与前级工作系统的三个数据寄存器相连,该多通道数据选择器的输出作为判决模块的正确数据输出,另一个多通道数据选择器在前级工作系统发生错误时输出报错信号。本发明不仅能够达到多位数据同时进行三模冗余判决得到正确数据目的的同时,还能判断系统错误是否发生,以及错误的数据来自哪一模块。
【IPC分类】G06F17/50
【公开号】CN104881544
【申请号】CN201510283672
【发明人】袁建平, 李立欣, 侯建文, 罗建军, 岳晓奎, 万桂斌, 袁健华, 冯浩, 申礼斌, 周德云, 张会生
【申请人】西北工业大学
【公开日】2015年9月2日
【申请日】2015年5月29日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1