CN103186100A - 冗余防护系统及方法 - Google Patents
冗余防护系统及方法 Download PDFInfo
- Publication number
- CN103186100A CN103186100A CN201110460564XA CN201110460564A CN103186100A CN 103186100 A CN103186100 A CN 103186100A CN 201110460564X A CN201110460564X A CN 201110460564XA CN 201110460564 A CN201110460564 A CN 201110460564A CN 103186100 A CN103186100 A CN 103186100A
- Authority
- CN
- China
- Prior art keywords
- unit
- protection module
- output
- precision
- redundant
- 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
Landscapes
- Hardware Redundancy (AREA)
Abstract
本发明公开了一种冗余防护系统及方法,涉及冗余防护技术领域。该系统包括:判定模块,用于根据待防护模块的性质判定由第一冗余防护模块对其进行防护或由第二冗余防护模块对其进行防护;第一冗余防护模块,使用精准冗余防护方法对所述待防护模块进行防护;第二冗余防护模块,使用精准冗余防护方法外的冗余防护方法对所述待防护模块进行防护。本发明的系统及方法与TMR相似,但是牺牲了TMR提供的一些保护,以降低花费;且本发明的系统及方法使用较小的降低精度的单元以限制输出错误,防护效率较高。
Description
技术领域
本发明涉及冗余防护技术领域,尤其涉及一种基于FPGA的DSP和通信系统空间环境单粒子效应的冗余防护系统及方法。
背景技术
在空间系统和地面站的处理和通信中,现场可编程门阵列(Field-Programmable Gate Array,FPGA)的应用越来越广泛,成为空间系统中处理和通信的重要目标。与CPU相比,FPGA能够提供更快的处理和增加性能;与专用集成电路(Application Specific IntegratedCircuit,ASIC)相比,FPGA可以重新编程,有更高的灵活性,并且能够减少卫星系统的重量和功耗要求。随着卫星上的科学实验变得越来越复杂,收集的数据经常超过卫星到地面站下行链路的容量,为了减少转移至地面的数据量,卫星系统中增加了卫星的在线处理模块和系统。FPGA可提供数字信号处理以及通信应用的更好的性能,通常被这些卫星用于数字信号处理(DSP)和通信应用。
卫星在宇宙空间运行会受到各种高能粒子和射线的辐射,可能造成卫星内电子系统的损伤甚至失效。据统计,卫星的故障主要来源于空间辐射,在辐射造成的故障中,单粒子效应(Single Event Effects,SEE)造成的故障占很大的比重。SEE是指高能粒子入射半导体器件或集成电路芯片有源区,诱发器件、电路的电性能发生变化的现象。SEE包括单粒子翻转(SEU)、单粒子闭锁(,SEL)、以及单粒子瞬变(SET)等等。用于空间系统的基于FPGA的DSP和通信系统必须能够以减缓SEU的冗余技术相同的花费应对这些辐射影响。
针对空间辐射环境产生的SEE,目前主要的防护技术主要包括空间冗余、瞬时冗余、信息冗余和三模冗余。空间冗余使用并行计算以屏蔽错误,电路复制需要很高的费用;瞬时冗余包括重复计算,能够检测和纠正瞬态(SET)和持久(SEU)故障,但降低了FPGA系统的可靠性;信息冗余是以指定机器编码的形式保护电路,此种技术为保护编码和再编码电路花费更高。SEU即使器件逻辑状态翻转:原来存储的″0″变为″1″,或者″1″变为″0″,从而导致系统功能紊乱,严重时会发生灾难性事故。
SEU造成的逻辑错误不是永久性的,也被称为软错误。最容易发生SEU的是像RAM这种利用双稳态进行存储的器件,其次是CPU,再其次是其它的接口电路。随着芯片集成度的增加,发生SEU错误的可能性也在增大。在特定的应用中,SEU已经成为一个不能忽视的问题。由于太空中高能粒子的轰击,SEU已经成为星载计算机中最常见的错误。SEU会影响FPGA执行的逻辑,三模冗余(TMR)对于防护FPGA中的SEU是非常有效的,是最常用的技术,但是主要以额外的硬件、多余的数据或重复的处理等形式进行电路的冗余,需要原始电路三倍的面积以及功耗,且将使电路速度降低,在部位、功耗和/或电路定时方法花费昂贵。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:提供一种花费较低、且能够有效地对基于FPGA的DSP及通信系统进行冗余防护的冗余防护系统及方法。
(二)技术方案
为解决上述问题,本发明提供了一种冗余防护系统,该系统包括:判定模块,用于根据待防护模块的性质判定由第一冗余防护模块对其进行防护或由第二冗余防护模块对其进行防护;第一冗余防护模块,使用精准冗余防护方法对所述待防护模块进行防护;第二冗余防护模块,使用精准冗余防护方法外的冗余防护方法对所述待防护模块进行防护。
优选地,所述第一冗余防护模块包括:全精度单元,以所述待防护模块的输入为输入;两个降低精度的单元,以预设位宽的所述全精度单元的输入为输入;判决单元,与所述全精度单元以及所述两个降低精度的单元均相连,若所述全精度单元正常运行,则输出所述全精度单元的输出,否则,输出所述精准冗余单元的输出。
优选地,所述判决单元与所述三模冗余防护模块的多数表决器相同。
优选地,所述判决单元为多个,且分别与所述全精度单元以及所述两个降低精度的单元均相连;
该系统还包括:表决器,与所述多个判决单元相连,对所述多个判决单元的输出进行多数表决,输出表决结果。
优选地,所述表决器设置在每个待防护模块的输出处;或所述表决器设置在包括所述待防护模块的系统的最终输出处。
优选地,所述待防护模块为基于FPGA的DSP及通信系统。
优选地,所述第二冗余防护模块使用三模冗余防护方法对所述待防护模块进行防护。
本发明还提供了一种冗余防护方法,该方法判定待防护模块的性质,若所述待防护模块用于算术运算,则使用精准冗余防护方法对所述待防护模块进行防护,否则,使用三模冗余防护方法对所述待防护模块进行防护。
优选地,所述精准冗余防护方法包括:
S1.以所述待防护模块的输入作为全精度单元的输入,以预设位宽的所述待防护模块的输入作为两个降低精度的单元的输入;
S2.根据所述全精度单元以及两个降低精度的单元的输出,以及预设的误差检测阈值,判决单元判决所述全精度单元是否正常运行,若正常,则以所述全精度单元的输出为输出;否则,以所述境地精度的单元的输出为输出。
优选地,在步骤S2中,若两个所述降低精度的单元的输出不同,则判定所述全精度单元正常运行;若两个所述降低精度的单元的输出相同,则判决单元将所述全精度单元的输出与所述降低精度的单元的输出作比较,若两者的差大于所述预设的误差检测阈值,则判定所述全精度单元存在运行故障,否则判定所述全精度单元正常运行。
(三)有益效果
本发明的系统及方法与TMR相似,但是牺牲了TMR提供的一些保护,以降低花费;本发明的系统及方法使用较小的降低精度的单元以限制输出错误,防护效率较高。
附图说明
图1为依照发明一种实施方式的冗余防护系统的结构框图;
图2为依照发明一种实施方式的冗余防护系统中第一冗余防护模块的结构框图;
图3为依照发明一种实施方式的冗余防护系统中第一冗余防护模块的另一结构框图;
图4为在基于FPGA的系统中应用依照发明一种实施方式的冗余防护系统及方法时的流程;
图5为在依照本发明一种实施方式的冗余防护系统中各单元的配置流程。
具体实施方式
本发明提出的冗余防护系统及方法,结合附图及实施例详细说明如下。
FPGA使用大量的存储阵列存储其配置。这种配置存储器界定了FPGA中执行的硬件。通过改变这些存储器的内容,FPGA能够用作FIR滤波器、微处理器或任何其他的定制电路。在辐射化境中使用FPGA最重要的一点是配置存储器甚至用户存储器中的SEU能够改变执行的硬件。通过对空间环境中的基于FPGA的DSP及通信系统进行的可靠性分析,能够得出FPGA对于SEU最敏感的配置位置,以及SEU诱发的性能哪些是系统可以容忍,哪些是会对系统造成致命损害的。通过详细地分析,在基于FPGA的系统中,不是所有的SEU都会造成致命错误,也不是所有的SEU都需要减缓。以误码率为品质(度量)因素,大部分SEU具有与附加噪声同样的影响。最关键的SEU会影响FPGA的时钟、全面复位(global reset)和计算机最重要的位(most significant bits,MSBs),因此需要针对这些部分进行SEU的防护。为了使FPGA避免SEU造成的错误,必须阻止翻转或以其他方式接受该翻转。在空间环境中,因为需要问题离子的高能量以及物理场的大小和重量,阻止其翻转是不切实际的。因此,SEU的减缓方法通常用于最小化翻转的负面影响。
下面,以针对用于算术运算的模块的防护为例来进一步说明本发明的系统及方法。
如图1所示,依照发明一种实施方式的冗余防护系统包括:
判定模块,用于根据待防护模块的性质判定由第一冗余防护模块对其进行防护或由第二冗余防护模块对其进行防护;第一冗余防护模块,使用精准冗余防护方法对待防护模块进行防护;第二冗余防护模块,使用精准冗余防护方法外的冗余防护方法对待防护模块进行防护,优选地,本实施方式的系统及方法中使用TMR防护方法对待防护模块进行防护。
本发明提供了一种针对空间环境诱发SEE的精准冗余防护法(reduced-precision redundancy,RPR),RPR是一种用于算术运算(arithmetic operation)最重要的位(Most Significant Bits,MSBs)的保护的冗余技术,其测量存在SEU的系统的性能,以根据其影响的剧烈程度,对SEU分级并防护。其核心思想为:通过关注计算的MSBs上的冗余,以比TMR低的花费来实现。
如图2所示,第一冗余防护模块进一步包括:
全精度单元(Full-Precision,FP),其以待防护模块的输入为输入,与待防护模块完全同步;两个降低精度的单元(Reduced-Precision,RP),以预设位宽Br的FP的输入为输入;判决单元(Decision block),与FP以及两个RP(RP1、RP2)均相连,若FP正常运行,则输出FP的输出FPout,否则,输出RP的输出RP1out或RP2out。
判决单元与TMR中的多数表决器(majority voter module)相同。
如图3所示,为了防止判决单元中存在SEU引起的故障,判决单元可为同样的多个,且分别与FP以及两个RP均相连,这样,多个判决单元为具有相同的输入。此时,该系统还包括:表决器(Vector),与多个判决单元均相连,以多个判决单元的输出为输入,并对多个判决单元的输出进行多数表决,输出一个正确的表决结果。
通过这样的结构,如果输入至这三个单独的单元的信号中的一个出现翻转,RPR仍能够正确运行。因此,除了保护计算的MSBs,本系统还能够保护重要的全面信号。
表决器的数量及位置对系统的可靠性和花费具有很大的影响,通常,表决器可以设置在每个待防护模块的输出处;或者表决器也可以设置在FPGA系统的最终输出处。当表决器置于每个待防护模块的输出时,可降低每个单元和判决单元的Br或Th。当表决器仅置于系统的输出时,Br或Th必须加大至满足由多个RP所积累的大额量化误差。该值可根据经验设置。
需要说明的是,Br即为MSBs,为发生SEU时对电路影响最大的位,该值可根据系统要求以及可用资源设置,且其设置类似于通常的位宽设置问题。本实施方式的系统中FP优选使用待防护模块同样的位宽,RP则具有较小位宽,且使用比待防护模块更少的硬件。Br值得设置将影响整个系统的电路开销以及其能提供的防护的数量。
当在一个FPGA系统中同时使用RPR以及TMR,并放置表决器时所要遵循如下基本原则:
1、表决器应插入到每个反馈回路,包括TMR的多数表决器或RPR表决器。
2、表决器必须在从RPR改变至TMR或从减缓单元为未减缓单元之前插入。
3、非算数模块必须由TMR防护。
4、由于RPR的表决器成本比较大,具有反馈的小模块应由TMR防护。
5、RPR表决器更大,应该少量的使用。
6、为了最大的可靠性,RPR的表决器以及TMR的多数表决器应复制为三个同样的。
本发明还提供了一种基于上述系统的冗余防护方法,该方法判定待防护模块的性质,若待防护模块用于算术运算,则使用精准冗余防护方法对待防护模块进行防护,否则,使用三模冗余防护方法对待防护模块进行防护。
精准冗余防护方法包括步骤:
S1.以待防护模块的输入作为FP的输入,以待防护模块的输入的Br的位宽作为两个RP的输入;
S2.根据FP以及两个RP的输出,以及预设的误差检测阈值Th(为比较RP与FP输出之间的阈值,为控制由本系统检测到的错误数量级的重要参数),判决单元判决FP是否正常运行,若正常,则以FPout为输出;否则,以RP1out或RP2out的输出为输出。
在特定的Br值下,Th具有最适的范围。如果Th太大,即便在FP中存在严重错误时FPout也会被使用;Th太小将会引起即便FP中没有错误,也会选择RP的输出,导致检测翻转错误的情况
在步骤S2中,若RP1out与RP2out不同,则FP正常运行,以FPout为输出;若RP1out与RP2out相同,则判决单元将FPout与RP1out或RP2out作比较,若两者的差大于Th,则判定FP存在运行故障,以RP1out或RP2out的输出为输出;否则判定FP正常运行,以FPout为输出。
在基于FPGA的系统中应用上述系统及方法时的流程如图4所示,其包括步骤:
A1.为待防护的模块选择RPR模块或TMR模块;
A2.设置TMR多数表决器的位置;
A3.设置RPR表决器的位置;
A4.设置Br值;
A5.确定Th值;
A6.判断步骤A5所设置的Th值是否对于输出范围灵活,若是,则继续执行步骤A7,否则,增设RPR的表决器的数量或增大Br值,并返回步骤A3;
A7.判断防护是否满足需要(加入防护系统的FPGA系统的噪声低于系统要求),若是,则结束;否则,减少RPR的表决器的数量或降低Br值,并返回步骤A3。
另外,如图5所示,在本发明的冗余防护系统中各单元的配置流程包括步骤:
B1.选择RPR的表决器的位置;
B2.设置Th值;
B3.计算Br值;
B4.判定系统花费是否过高,若是,则降低Br值或减少表决器的个数并返回步骤B1,否则结束。
其中,在步骤B4中,可通过增加表决器的个数来实现降低Br;可通过降低Br来实现减少表决器的个数。
通过故障注入试验,显示了本发明所提出的冗余防护系统及方法能够改善简单FPGA系统的失效率,且花费比TMR少二十倍。
以上实施方式仅用于说明本发明,而并非对本发明的限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行各种组合、修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种冗余防护系统,其特征在于,该系统包括:
判定模块,用于根据待防护模块的性质判定由第一冗余防护模块对其进行防护或由第二冗余防护模块对其进行防护;
第一冗余防护模块,使用精准冗余防护方法对所述待防护模块进行防护;
第二冗余防护模块,使用精准冗余防护方法外的冗余防护方法对所述待防护模块进行防护。
2.如权利要求1所述的系统,其特征在于,所述第一冗余防护模块包括:
全精度单元,以所述待防护模块的输入为输入;
两个降低精度的单元,以预设位宽的所述全精度单元的输入为输入;
判决单元,与所述全精度单元以及所述两个降低精度的单元均相连,若所述全精度单元正常运行,则输出所述全精度单元的输出,否则,输出所述精准冗余单元的输出。
3.如权利要求2所述的系统,其特征在于,所述判决单元与所述三模冗余防护模块的多数表决器相同。
4.如权利要求2所述的系统,其特征在于,所述判决单元为多个,且分别与所述全精度单元以及所述两个降低精度的单元均相连;
该系统还包括:
表决器,与所述多个判决单元相连,对所述多个判决单元的输出进行多数表决,输出表决结果。
5.如权利要求4所述的系统,其特征在于,所述表决器设置在每个待防护模块的输出处;或所述表决器设置在包括所述待防护模块的系统的最终输出处。
6.如权利要求1-5任一项所述的系统,其特征在于,所述待防护模块为基于FPGA的DSP及通信系统。
7.如权利要求6任一项所述的系统,其特征在于,所述第二冗余防护模块使用三模冗余防护方法对所述待防护模块进行防护。
8.一种冗余防护方法,其特征在于,该方法判定待防护模块的性质,若所述待防护模块用于算术运算,则使用精准冗余防护方法对所述待防护模块进行防护,否则,使用三模冗余防护方法对所述待防护模块进行防护。
9.如权利要求8所述的方法,其特征在于,所述精准冗余防护方法包括:
S1.以所述待防护模块的输入作为全精度单元的输入,以预设位宽的所述待防护模块的输入作为两个降低精度的单元的输入;
S2.根据所述全精度单元以及两个降低精度的单元的输出,以及预设的误差检测阈值,判决单元判决所述全精度单元是否正常运行,若正常,则以所述全精度单元的输出为输出;否则,以所述境地精度的单元的输出为输出。
10.如权利要求9所述的方法,其特征在于,在步骤S2中,若两个所述降低精度的单元的输出不同,则判定所述全精度单元正常运行;
若两个所述降低精度的单元的输出相同,则判决单元将所述全精度单元的输出与所述降低精度的单元的输出作比较,若两者的差大于所述预设的误差检测阈值,则判定所述全精度单元存在运行故障,否则判定所述全精度单元正常运行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110460564.XA CN103186100B (zh) | 2011-12-31 | 2011-12-31 | 冗余防护系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110460564.XA CN103186100B (zh) | 2011-12-31 | 2011-12-31 | 冗余防护系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103186100A true CN103186100A (zh) | 2013-07-03 |
CN103186100B CN103186100B (zh) | 2016-03-02 |
Family
ID=48677320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110460564.XA Active CN103186100B (zh) | 2011-12-31 | 2011-12-31 | 冗余防护系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103186100B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106849908A (zh) * | 2016-11-29 | 2017-06-13 | 西安空间无线电技术研究所 | 一种星上可重构fir滤波器的抗辐照加固方法 |
CN109143839A (zh) * | 2018-09-04 | 2019-01-04 | 广西质量技术工程学校 | 一种高容错的传感器冗余控制方法 |
CN110134001A (zh) * | 2019-05-29 | 2019-08-16 | 山东省科学院激光研究所 | 一种具有冗余安全的异构双核电机伺服控制器及其冗余安全控制方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1080105A (zh) * | 1992-05-21 | 1993-12-29 | 阿尔卡特有限公司 | 一种分布控制方法及实现自动保护转换的机械装置 |
CN1630223A (zh) * | 2003-12-17 | 2005-06-22 | 华为技术有限公司 | 业务接入保护装置 |
JP2007180830A (ja) * | 2005-12-27 | 2007-07-12 | Toshiba Corp | 二重化監視制御システム、及び同システムの冗長化切替え方法 |
CN101046678A (zh) * | 2007-03-09 | 2007-10-03 | 北京交通大学 | 三模冗余安全计算机中输出的安全关断方法及装置 |
US20070255981A1 (en) * | 2006-03-24 | 2007-11-01 | Fujitsu Limited | Redundancy-function-equipped semiconductor memory device made from ECC memory |
US20090089348A1 (en) * | 2007-09-28 | 2009-04-02 | Josephine Ammer Bolotski | Adaptive precision arithmetic unit for error tolerant applications |
-
2011
- 2011-12-31 CN CN201110460564.XA patent/CN103186100B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1080105A (zh) * | 1992-05-21 | 1993-12-29 | 阿尔卡特有限公司 | 一种分布控制方法及实现自动保护转换的机械装置 |
CN1630223A (zh) * | 2003-12-17 | 2005-06-22 | 华为技术有限公司 | 业务接入保护装置 |
JP2007180830A (ja) * | 2005-12-27 | 2007-07-12 | Toshiba Corp | 二重化監視制御システム、及び同システムの冗長化切替え方法 |
US20070255981A1 (en) * | 2006-03-24 | 2007-11-01 | Fujitsu Limited | Redundancy-function-equipped semiconductor memory device made from ECC memory |
CN101046678A (zh) * | 2007-03-09 | 2007-10-03 | 北京交通大学 | 三模冗余安全计算机中输出的安全关断方法及装置 |
US20090089348A1 (en) * | 2007-09-28 | 2009-04-02 | Josephine Ammer Bolotski | Adaptive precision arithmetic unit for error tolerant applications |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106849908A (zh) * | 2016-11-29 | 2017-06-13 | 西安空间无线电技术研究所 | 一种星上可重构fir滤波器的抗辐照加固方法 |
CN109143839A (zh) * | 2018-09-04 | 2019-01-04 | 广西质量技术工程学校 | 一种高容错的传感器冗余控制方法 |
CN110134001A (zh) * | 2019-05-29 | 2019-08-16 | 山东省科学院激光研究所 | 一种具有冗余安全的异构双核电机伺服控制器及其冗余安全控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103186100B (zh) | 2016-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20140164839A1 (en) | Programmable device, method for reconfiguring programmable device, and electronic device | |
Glein et al. | A self-adaptive SEU mitigation system for FPGAs with an internal block RAM radiation particle sensor | |
US20100169886A1 (en) | Distributed memory synchronized processing architecture | |
US9632869B1 (en) | Error correction for interconnect circuits | |
Li et al. | Design and characterization of SEU hardened circuits for SRAM-based FPGA | |
EP2455771B1 (en) | Measurement device and measurement method | |
Sogomonyan | Self-correction fault-tolerant systems | |
CN103186100B (zh) | 冗余防护系统及方法 | |
US9728274B2 (en) | Error control using threshold based comparison of error signatures | |
Augustin et al. | Implementation of selective fault tolerance with conventional synthesis tools | |
Sootkaneung et al. | On techniques for handling soft errors in digital circuits | |
Rajaei et al. | Low cost circuit-level soft error mitigation techniques for combinational logic | |
EP2641174A1 (en) | Classifying a criticality of a soft error and mitigating the soft error based on the criticality | |
CN109408839A (zh) | 一种通过局部冗余减少敏感配置比特的抗辐射容错fpga电路设计方法 | |
Zhou et al. | Fault tolerant reconfigurable system with dual-module redundancy and dynamic reconfiguration | |
Jin et al. | TMR group coding method for optimized SEU and MBU tolerant memory design | |
CN106301352B (zh) | 一种基于与门、或门与选择器的抗辐射容错电路设计方法 | |
CN108631772B (zh) | 一种三模冗余电路结构 | |
Aguilera et al. | Fault injection on a mixed-signal programmable SoC with design diversity mitigation | |
Schoof et al. | Fault-tolerant ASIC design for high system dependability | |
Liu et al. | Recent advances on reliability of FPGAs in a radiation environment | |
Khairullah | A survey on Dependable Digital Systems using FPGAs: Current Methods and Challenges | |
Xuan et al. | SEU hardened placement and routing based on slack reduction | |
Huang | Fault-tolerant design of SRAM FPGA register based on dual-mode redundancy structure | |
Chen et al. | Fault-tolerant Design of Spaceborne Parallel Digital Channelizer |
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 |