随着电子技术特别是部分可重构技术发展,出现了多种改进的TMR技术,它们都针对性地解决了传统TMR方法所存在的问题,使得TMR技术得到发展。本文首先介绍了传统TMR的原理,接着总结了其所存在的问题,然后对改进的TMR技术的优劣进行了全面的分析,最后对TMR技术发展趋势进行了展望。
$ u" H$ U) B& S
! }3 Z ~+ j* `3 L6 m
1常规TMR方法及存在的问题
1 J4 L0 g. h$ z: ~% J# ^
& h9 c" u- j4 ?. z+ g2 f7 B" h$ G
TMR的基本概念是用三个相同的模块分别实现相同的功能,最后在输出口通过一个多数表决器对数据进行选择以实现容错的目的。TMR的使用是建立在某一个时刻错误只出现在一个模块里的基础上,而实际上,因为在不同的模块里同时出错的概率是比较低的,而且实现过程直接、简单,所以TMR是现在比较有效且被大量使用的一种容错的方法。TMR主要被广泛用于防止由辐射引起的SEU对系统的影响,由于它的使用使FPGA在SEU影响下的可靠性得到很大提高。常规TMR方法的基本结构如图1所示。
' h% ~" q+ h# O, [7 S" n1 K- S
) I, K. ^' A( r! v, C* c尽管TMR可以有效提高设计的可靠性,但是它也存在很多不足之处。主要有以下几点:
" Z1 x7 ^" B6 e( j1 ?& w; J+ V. I
(1)它不能对出错的模块进行修复。当一个模块出错后,我们只是将错误通过多数表决器屏蔽,但是错误模块仍然存在。而且一般的TMR也不能对错误进行检测和定位,以便系统进行修复。如果出现的错误得不到及时修复,那么当再次出现错误时TMR将失效。
- Z, Q9 z" m: d( U1 V) k. Q
2 z5 w* L) a2 @2 V8 G) U(2)很多研究只是考虑到单个错误的影响,而忽略了多个SEU同时出现的可能,尽管出现这种情况的概率较低,但却是存在的。实验也表明TMR对减弱单个SEU产生的影响是非常有效的,但SEU在配置存储器中积累会使效果降低。
- G) l7 c) a: A6 V* S
- Q$ O2 e, v3 e8 e5 {& b(3)普通TMR资源开销大,资源利用率低。普通TMR是对整个设计或者较大的模块进行三模冗余,粒度比较大,它的资源开销相比原始电路增大200%。如果受到FPGA硬件资源和功耗等设计约束的限制不能对整个电路或者模块实现TMR,那么会造成资源浪费。
7 O5 I; _4 z! ^" D. O
3 O t& _" {, @ r* u
(4)由于电路的倍增使得功耗增大,而且由于表决器的存在以及其他一些额外的布线使得速度降低。
* ]8 \5 G2 c& |: ]/ T
& k9 c* o+ ^+ a! `8 c
(5)表决器本身也可能出错,而一般的TMR的表决器没有自检错能力,也不具备抗辐射能力。
' u1 o9 E6 j, v3 T$ r& S! U. `( z
- s9 q% L/ `- C/ c, O, e(6)当采用三模冗余的电路驱动没有采用冗余的电路时,需要一个表决器将三个信号合为一个信号。当没有采用冗余的电路驱动采用三模冗余的电路时需要通过额外的布线将一路信号扩展称为三路信号。因为逻辑电路和布线资源都对SEU敏感,所以这样的结果会降低系统可靠性。
! D. M; p6 W8 R) t. E! D( R