摘要:冗余技术是改善系统可靠性的一项重要技术。本文以提高惯性组合导航系统的可靠性为出发点,提出了应用于该系统中的一种设计方法——冗余技术。
关键词:组合导航; 惯性系统; 可靠性
1 引言
随着计算机的进一步发展和普及,设备产品微机化已是大势所趋,此时,系统的可靠性设计变得越来越重要,特别是潜艇导航,倘若计算机系统出现故障,就好象汽车失去控制一样,随时都有可能毁灭,其后果不堪设想。1996年6月,欧洲“阿丽亚娜”号航天飞机因导航系统的计算机系统出现故障,使航天飞机坠毁,造成了数亿美元的巨大损失。这一惨痛教训再次提醒人们要重视导航系统的可靠性,因此,对要求可靠性很高的导航系统,除了采用完善设计作为基本保证外,还必须采用冗余技术。冗余技术就是为克服完善设计无法解决这类高可靠要求的困难发展起来的,其设计思想是允许故障存在,并能自动地消除其影响。可以说,冗余技术从根本上开辟了一条实现系统可靠性的途径。本文对几种常用的冗余技术进行比较,并对其在惯性组合导航系统中的应用进行了研究。
2 冗余技术
2.1 硬件与软件
软件是人类脑力劳动的产物,只能书写在文件上或存储在介质中,不受任何物理、化学规律的制约。硬件是由自然界中的基本元素构成的、可用感官识别的实体,其存在形式和运动规律必须服从基本的物理和化学规律。硬件和软件这种本质差别,使得它们具有不同的可靠性特征。软件和硬件在可靠性特征上主要有以下三下不同点[1]:
复杂性 软件内部逻辑高度复杂,而硬件内部逻辑较为简单,这就在很大程度上决定了设计错误是导致软件失效的主要原因,而导致硬件失效的可能性则很小。
物理退化 软件不存在物理退化现象,硬件失效则主要由于物理退化所致。这就决定了软件正确性与软件可靠性密切相关,一个正确的软件件任何时刻均可靠。然而一个正确的硬件元器件或系统则可能在某一个时刻失效。
唯一性 软件是唯一的 ,软件拷贝不改变软件本身,而任何两个硬件不可能绝对相同,这就是为什么概率方法在硬件可靠性领域取得巨大成功,而在软件可行性领域不令人满意的原因。
基于硬件与软件的上述区别,利用软、硬件冗余技术可有效地改善系统的可靠性。
2.2 冗余技术
一般来说,要使系统达到高的可靠性指标,都要以消耗相应的费用和时间为代价,应用冗余技术对系统进行冗余设计,固然是提高系统和设备可靠性的一种有效措施,特别是对于大中型设备,用其他方法难以达到可靠性指标要求时,冗余设计往往能够达到目的。但是,冗余设计要求增加设备的体积、重量、功耗和费用,增大程序的规模,增加资源的消耗,因此,冗余技术不宜普遍采用,只能有选择地用于失效后果非常严重的场合,如飞机飞行控制系统、空中交通管制系统、潜艇导航系统等。
所谓冗余,是指当系统无故障时取消这些冗余措施不会影响系统正常运行。常用的冗余方法有硬件冗余、软件冗余、信息冗余、时间冗余、解析冗余及几种冗余技术的综合应用。
2.2.1 硬件冗余
硬件冗余是以追加系统的硬件资源为代价,主要有以下几种形式:
静态冗余 静态冗余又称为屏蔽冗余,靠附加的元器件来屏蔽掉故障元器件的作用。图1为三模冗余示意图,系统由三个功能相同的模块和一个表决器组成,三个模块同时运行,表决器接受三个模块的输出作为其输入,并将多数表决的结果作为系统的输出。
图1 三模冗余
动态冗余 图2示出了含S个备件的动态冗余方案。系统由S+1个功能相同的模块组成,其中一个运行,其余作备件(冷备件或热备件)。若正在运行的模块发生故障,它便被切除而由备用模块取代。很显然,动态冗余要求不停地进行故障检测和故障恢复。
图2 含S个备件的动态冗余
混合冗余 混合冗余把静态与动态两种冗余方法结合在一起,一个混合的(N,S)系统包括一个NMR系统(由N个模块构成的静态冗余系统)和S个备用模块。图3为混合(3,S)系统的具体实现。“差异检测器”不断比较三个工作模块各自的输出是否与表决器的输出不一致。若某个模块的输出与表决器的输出不一致,开关电路便用一个备件去取代失效的模块;只要有两个模块输出正确,表决器就会有正确的输出。如果根据差异检测器的命令正好把一个失效的备件接入系统,则差异继续存在,开关电路就将另一个备件接入系统。若全部备件都用完了,系统降为(3,0)系统,即标准TMR系统。
图3 混合(3,S)系统
2.2.2 软件冗余
软件冗余是以增大程序的规模,增加资源的消耗为代价,通常采用的方法有N文本法和恢复块法。
N文本法 N文本法与硬件静态冗余相对应,它是指对于一个给定的功能,由N(N≥2)个不同的设计组独立编制出N个不同的程序,然后同时在N个机器上运行并比较运行的结果。如果N个文本运行的结果是一致的,则认为结果是正确的;如果N个文本的输出不尽相同时,则按多数表决的方式或其他预先制定的策略,判定结果的正确性。N文本法的最大优点在于它能够掩盖硬件的瞬时故障,在特殊的软、硬件配置条件下,有助于检查硬件的非瞬时性故障。
图4 N文本法流程图 恢复块法 恢复块法设计就是选择一组操作作为容错设计单元,从而把普通的程序块变成恢复块。被选择用来构造恢复的程序块可以是模块、过程、子程序、程序段等。一个恢复块包含有若干个功能相同、设计差异的程序块文本,每一时刻有一个文本处于运行状态,一旦该文本出现故障,则以备用文本加以替换,从而构成“运态冗余”。软件冗余的恢复块方法就是使软件包含有一系列恢复块。 图5 恢复块法流程图 2.2.3 信息冗余 3 冗余技术在惯性组合导航系统中的应用 为了保证组合导航系统长时间工作的可靠性,满足作战系统、声纳、雷达系统正常工作的需要,通常需要配备多套导航设备构成工作贮备系统,同时,对惯性组合导航系统采用冗余结构。因此,在这种情况下惯导系统的输入信息也是有冗余度的。通过对惯性组合导航系统输出冗余信息的处理,可使系统获得若干有效的特性,主要有:①可以确保导航信息的使用精度;②在设备存在软故障而引起较大的导航输出信息误差的情况下,可以准确而及时地进行故障判定和切换,从而排除故障信息,保证导航信息的使用安全性;③根据故障信息的特征,实现故障诊断,保证系统的有效性;④根据惯性组合导航系统不同工作方式的误差传播特性,利用冗余信息建立系统误差和误差源之间的求解方程组,实现对误差源的估算、修正和补偿,以延长系统的重调时间,提高系统输出导航信息的精度。 |
图6 主机的双机冗余系统硬件结构示意图 |
图7 比较与错误恢复模块流程 3.2 软件冗余设计 |
图8 系统的模块接口与层次结构 4 结束语 冗余技术是改善系统可靠性的一个重要技术,本文将冗余技术应用于惯性组合导航系统设计中,进一步提高了组合导航系统的可靠性,是改善系统可靠性的一个有效方法。 作者简介:钱华明,男,哈尔滨工程大学讲师,从事惯性组合导航、分布式多机系统、计算机控制的研究。 参考文献: [1] 蔡开元.软件可靠性工程基础〔M〕.北京:清华大学出版社,1995. |




