一种星载控制计算机智能容错方法

2008-12-20 02:05杨孟飞
空间控制技术与应用 2008年6期
关键词:器件电路计算机

龚 健,杨孟飞

(1.北京控制工程研究所,北京100190;2.空间智能控制技术国家级重点实验室,北京100190;3.中国空间技术研究院,北京100094)

一种星载控制计算机智能容错方法

龚 健1,2,杨孟飞2,3

(1.北京控制工程研究所,北京100190;2.空间智能控制技术国家级重点实验室,北京100190;3.中国空间技术研究院,北京100094)

深空探测任务对星载控制计算机的智能性、环境适应性和自主性提出新的需求。介绍目前星载控制计算机容错方法的进展情况,提出可进化硬件容错这种可用于星载控制计算机容错设计的智能容错方法,给出该方法的3种实现结构,即并行结构、串行结构和具有故障检测功能的串行结构,并对各种结构进行分析和比较。最后,用仿真验证平台验证了串行结构的可行性和容错性。

容错;智能;可进化硬件;星载控制计算机

1 引 言

星载控制计算机是星上控制系统的重要组成部分,其主要功能有:完成星船控制规律的计算,发出控制指令控制执行机构工作,并根据轨道运行情况实现控制模式转换;从地面遥控指令中获得星船的轨道要求、工作状态、系统参数修正等;采集星船姿态与轨道状态信息,存储并通过遥测通道下发到地面;进行控制系统级的自检和诊断,并对各部件主/备份进行切换,或是进行系统重构。可见星载控制计算机是控制系统的核心部件。在中国逐步实施的月球探测以及正在筹划的火星探测等深空探测任务中,星载控制计算机需要长期工作在恶劣的空间环境中,其可靠性决定着整星的可靠性,是任务成败的重要决定因素之一。提高其可靠性有避错和容错两种方法。避错是在设计和制造阶段避免错误的发生,这对设计和制造提出了很高的要求,且成本高,实现难度大;而容错则采用冗余的方式构造高可靠性的系统。基于可靠性和成本考虑,星载控制计算机一般多采用容错方法。

目前星载控制计算机的容错方法一般采用硬件冗余,例如双机比较、备用替换和三模冗余(TMR)表决机制等[1-3],其采用的容错方法都是通过静态的冗余实现的,而且冗余都是显式的。随着智能技术的发展,深空探测任务对航天器的智能性、适应环境能力和自主性提出了新的要求,出现了一种新的智能容错技术——可进化硬件(EHW,evolvable hardware)容错。EHW容错是一种智能的、动态的容错方法,其实现的基本思想是利用进化算法搜索满足电路预期功能的可编程器件的配置,通过这种容错技术可以实现实时的、在线的硬件改变以屏蔽故障,此外还具有自主性、适应环境等智能特性,是一种可用于长期无人值守和复杂空间环境的星载控制计算机容错方法。

国际上EHW容错的研究开始于1992年。目前世界各国的研究机构都有人从事这方面的研究,其中日本和英国的研究开始较早,也较为深入,美国NASA的JPL不仅把EHW容错列入了重点研究项目,而且应用于航天领域。虽然目前EHW容错研究尚处于起步阶段,但已经成为国际上的一个研究热点[4-7]。NASA每年都召开专门的学术会议(即NASA/DoD conference on evolvable hardware)对此技术进行交流。国内也有研究机构进行这方面的研究,例如中国空间技术研究院、中国航天时代电子公司、西安电子科技大学和南京航空航天大学等[8-10]。

2 星载控制计算机的容错设计方法

星载控制计算机的容错设计多基于多机冗余方式,其思路是首先确定故障检测和恢复策略,然后进行冗余设计,最后考虑是否进行异构设计[2]。

(1)确定故障检测和恢复策略

故障检测是进行容错和故障恢复的基础,只有发现和定位故障,才能对故障进行隔离,有效实施针对性的容错策略,实现从故障中恢复。故障的检测和恢复可在不同层次上实施。一般来说,层次越低要求故障定位越准确,难度越大,整个系统容错设计也越复杂;相反,层次越高,难度相对越小,系统的容错设计越容易。例如采用容错设计的精简指令集计算机(RISC)其处理器内部采用并行差错检测电路,设计和制造复杂;而备用替换容错所采用的故障检测和恢复设计相对简单。在星载控制计算机实际应用中,一般采用多层次的故障检测恢复机制,部件级采用成熟的带有容错功能的产品,系统级的采用故障检测和恢复方法自行设计,这样可以有效提高系统可靠性,同时降低设计难度,规避风险。

(2)进行冗余设计

冗余设计就是确定冗余的对象和方式。与故障检测相似,冗余的对象也有不同层次。冗余部件的层次越低,整个系统的容错设计也越复杂;相反,冗余部件的层次越高,系统的容错设计相对简单。冗余的方式是指硬件冗余、软件冗余、信息冗余和时间冗余。对于最常采用的硬件冗余,冗余的方式还包括冗余的模数和对冗余管理的策略(例如表决、备份等)。在硬件冗余的容错设计中,TMR表决是常见的容错方式。

(3)进行异构设计

异构设计就是在冗余部件中,采用不同的设计。异构设计一般在软件容错的N文本中采用,其成本最高大约可达非异构设计的N倍。硬件容错更多是针对电路本身或是外界环境引起的失效,而异构针对设计错误,设计成本较高,因此很少采用。

在故障检测和恢复技术中,传统的成熟技术有看门狗技术、故障检测和纠正(EDAC)技术等。此外从1961开始,NASA的JPL就为深空探测开发了STAR(self-testing and repairing)技术,该技术为适应长期无人维修的使用环境,具备自测试、硬件故障自动恢复和系统重构功能[3]。

在多机冗余的容错设计中,成功的典范莫过于NASA航天飞机中所采用的容错计算机系统。该系统的体系结构采用5台IBM-AP-101计算机作为通用计算机(GPC,general purpose computer),构成四模冗余,第五台机器用于备份。

3 采用EHW容错技术的3种结构

对于深空探测卫星的星载控制计算机来说,整个寿命周期的可靠性更为重要,要求航天器在发生故障时能自动恢复。目前成功应用的TMR冗余技术实时可靠性很高,但对于整个寿命周期来说,其可靠性不如双机冷备份。而EHW容错技术实质上是一种采用智能算法的硬件重配置技术,可以在故障发生时自主进化修复故障,并能对环境产生一定程度的适应。应用于航天器上的EHW容错技术具有以下特点[8]:

1)能够生成新的功能;

2)能够在硬件出现故障、老化、发生温度漂移以及受到辐射时维持已有的功能,并且能够在有些部件发生故障的情况下继续进化生成可工作系统;

3)比静态冗余方式节省能源,这对于航天器,尤其是需长时间自主运行的航天器有着重要的意义;

4)在深空探测中,可以实现硬件自主适应环境、硬件故障时自动恢复,而不需要地面站发送配置指令和数据,从而可避免通信中可能出现的差错。

EHW容错有进化算法和可编程器件两个要素,其中可编程器件是进化的对象,也是容错的对象,EHW容错的动态性通过可编程器件在线可重配置功能实现。对于用可编程器件实现的星载控制计算机,可以采用EHW容错技术设计其容错系统,构造实时的、动态的、可重配置的智能容错系统。下面讨论采用EHW容错技术实现的星载控制计算机的结构。

3.1 并行结构

在EHW容错技术中,进化算法是一种基于群体的算法,因此EHW容错技术的原理结构应是基于群体的并行结构,如图1所示。图1中每个可编程器件用于实现一个星载控制计算机,N个可编程器件只是在进化时才被使用,进化完成后的结果只配置到一个器件上,也就是说最后只有一台计算机工作。其进化的具体算法如下:

1)运算单元产生初始种群,种群大小为N;

2)运算单元把种群中的每个个体染色体编码映射到可编程器件的配置数据(即基因型到表现型的映射),把N个配置数据分别下载到N个可编程器件中;

3)运算单元产生的M路激励信号作为N个可编程器件的输入信号,通过评价电路读取评价值,如果评价值满足目标电路,则进化完成,否则转步骤4);

4)运算单元根据评价值进行进化计算,产生下一代种群,转步骤2)。

这种结构体现了EHW容错的群体概念,是一种高效并行的实现方法。但这种结构只是EHW容错技术的原理结构,在实际应用中由于其冗余度大、硬件利用率低,从而造成成本过高、硬件过于复杂,因而并不实用。此外这种并行结构冗余度比传统多模冗余更大,和传统的多模冗余容错相比没有优势,这也导致此结构不实用。

图1 EHW容错并行进化的结构框图

3.2 串行结构

为了弥补EHW容错并行结构的缺点,可以采用串行评价的方式。串行评价方式中,只有一个可编程器件用于实现星载控制计算机,进化算法中的群体在可编程器件上串行评价,这种结构如图2所示。其进化的具体算法如下:

1)运算单元产生初始种群,种群大小为N;

2)运算单元把种群中的每个个体染色体编码映射到可编程器件的配置数据(即基因型到表现型的映射);

3)运算单元把N个配置数据分N次下载到可编程器件中,每次下载后,把运算单元产生的激励信号作为可编程器件的输入信号,通过评价电路读取评价值,如果评价值满足目标电路,则进化完成,否则转步骤4);

4)运算单元根据评价值进行进化计算,产生下一代种群,转步骤2)。

图2 EHW容错串行进化的结构框图

串行结构实际上是把进化群体中的每个个体串行地进行评价,用时间代价换取了硬件的简化,虽然评价时间增加,但有效地降低了硬件的复杂度,使其趋于实用,并充分体现了EHW容错的优势。

3.3 具有故障检测功能的自主进化结构

并行结构可以认为是一种原理性结构,如果将其应用到实际中则存在很多问题。串行结构进行了改进,是一种实用的结构,但是应用于自主进化容错的系统,还需要加入故障检测的功能。

在串行结构的基础上,加入故障检测模块,构成具有故障检测功能的EHW容错结构,如图3所示。在图3中,故障检测器对可编程器件进行实时监测,一旦检测到故障则通过控制信号反馈给运算单元启动进化,进化启动后其进化算法按照串行结构进行(见3.2中算法)。

图3 具有故障检测功能的EHW容错串行进化的结构框图

3.4 EHW容错和其他容错方式的对比

从EHW容错串行结构中可以看出,该容错方法是一种实时的、在线的重配置机制,由于采用了进化算法,使得这种重配置机制具有自主性和环境适应性。EHW容错中的冗余是可编程器件内部资源的冗余,内部资源可以进行动态分配,与多模冗余预先设计出冗余电路不同,EHW容错以器件内部少量冗余的代价实现了系统级的容错。

当然,EHW容错技术的实现也有代价,就如同双机备份需要有控制和切换电路、TMR需要有表决器一样,EHW容错技术需要运行进化算法的处理器以及用于进化结果评价的电路。不过美国等机构已展开研究把用于进化计算和评价的电路都实现在进行进化的可编程器件上,也就是利用一个可编程器件实现整个容错系统[11]。

表1对常见容错方法进行了比较,表中EHW容错为串行结构的特征。

表1 各种容错方法性能比较

4 EHW容错的验证

目前采用EHW容错技术还不能实现大规模电路的进化,因此实现整个星载控制计算机EHW容错还有待研究。本文从原理角度给出采用EHW容错技术实现星载控制计算机的结构,为了验证结构的可行性,以简单的电路为进化目标进行了实验。采用串行结构搭建的物理仿真平台进行实验,运算单元采用PC机实现。可编程器件用RAM和多路器模拟,如图4所示。评价电路采用组合逻辑实现。

图4 RAM和多路器模拟的可编程器件

图4中输入信号为X0、X1、X2和X3;输出信号为Y;染色体编码的长度为33位,依次为查找表A、查找表B中的数据以及多路器的选择信号sel的值。染色体编码如图5中“个体染色体编码”所示。按照以上方法进行如下两个实验。

图5 仿真验证平台的成功进化结果

(1)进化实验

设进化的目标是4输入的异或门逻辑,即电路输出的逻辑函数为Y=X3⊗X2⊗X1⊗X0。在进化实验中,一般进化几十代就能成功得出正确结果,一次成功的进化结果如图5所示,该进化经历22代后成功,整个过程历时59s。

(2)容错实验

为了验证EHW所固有的容错特性,采用注入故障的方法进行实验。给模拟可编程器件的RAM中的一位注入S-A-0故障,然后进行进化,结果电路成功屏蔽故障,恢复了原有的功能,进化结果如图6所示。由实验可以得出EHW容错的串行结构是可行的,并具有容错的能力。

图6 注入故障情况下仿真验证平台的成功进化结果

5 结束语

本文在介绍星载控制计算机传统容错方法的基础上,提出了EHW容错的智能容错方法。通过分析和比较EHW容错并行结构、串行结构和具有故障检测功能的串行结构,得出串行结构和具有故障检测功能的串行结构比较适用于实际星载控制计算机容错设计的结论。此外,用仿真验证平台验证了串行结构的容错功能。

当前国际上EHW容错的研究刚刚起步,尚不能用这种技术实现星载控制计算机这一复杂的硬件系统。虽然本文从原理角度对提出的串行结构进行了验证,但是如果最终实用还需解决很多问题,其中最主要的问题是进化电路的规模化和缩短进化时间。不过EHW容错已经为世界各国所关注,尤其是NASA已结合其空间应用展开了很多探索,进行了大量试验。此外EHW容错具有智能和适应环境的特性,这也顺应了当今科技领域人工智能的研究热潮。可以预见,这种容错方法必定会为星载控制计算机的容错设计提供新的思路。

[1] 杨孟飞,郭树玲,孙增圻.航天器控制应用的星载计算机技术[J].航天控制,2005,23(2):69-73

[2] 冯彦君,华更新,杨桦,等.国外星载容错计算机技术及最新进展[C].全国第十二届空间及运动体控制技术学术会议,广西桂林,2006

[3] Avizienis A,Gilley G C,Mathur F P,et al.The star(self-testing and repairing)computer:an investigation of the theory and practice of fault-tolerant computer design[J].IEEE Transactions on Computers,1971,20(11):1312-1321

[4] Keymeulen D,Zebulum R S,Jin Y,et al.Faulttolerant evolvable hardware using field-programmable transistor arrays[J].IEEE Transactions on Reliability,2000,49(3):305-316

[5] Tyrrell A M,Krohling R A,Zhou Y.Evolutionary algorithm for the promotion of evolvable hardware[J].IEE Proceedings-Computers and Digital Techniques,2004,151(4):267-275

[6] Higuchi T,Iwata M,Takahashi E,et al.Development of evolvable hardware at electrotechnical laboratory[C].The 26thAnnual Conference of the IEEE Industrial Electronics Society,Nagoya,Japan,Oct 22-28,2000

[7] Gordon T G W,Bentley P J.Development brings scalability to hardware evolution[C].IEEE Proceedings of the NASA/DoD Conference on Evolvable Hardware,Washington,USA,2005

[8] 龚健,杨孟飞.基于可进化硬件的容错技术及其原理[J].航天控制,2006,24(6):72-76

[9] Zhao S,Zhao J,Jiao L.Adaptive genetic algorithm based approach for evolutionary design and multi objective optimization of logic circuits[C].IEEE Proceedings of the NASA/DoD Conference of Evolution Hardware,Washington,USA,2005

[10] 王友仁,崔坚,游霞,等.仿生硬件及其进展[J].中国空间科学技术,2004,24(6):32-42

[11] Lukas S.Towards evolvable IP cores for FPGAs[C].IEEE Proceedings of the NASA/DoD Conference on Evolvable Hardware,Chicago,USA,July 9-11,2003

An Intelligent Fault Tolerance Method for Satellite On-Board Computer

GONG Jian1,2,YANG Fengfei2,3
(1.Beijing Institute of Control Engineering,Beijing 100190,China;2.National Laboratory of Space Intelligent Control,Beijing 100190,China;3.China Academy of Space Technology,Beijing 100094,China)

In the deep space exploration mission,on-board computer(OBC)for satellite control system has more new requirements,such as intelligence,adaptability and self-determination capability.The state of arts of OBC's fault-tolerance methods is introduced.An intelligent fault-to lerancemethod called evolv able hardware(EHW)fault-tolerance used in the fault-tolerance design of OBC is presented.Three architectures to implement EHW fault-tolerance,which are parallel architecture,serial architecture and serial architecture with fault detection,are brought forward.Moreover,analysis and comparison are made among those architectures.Finally,a simulation validation platform is implemented so that the feasibility and fault-tolerance capability of serial architecture has been validated.

fault-tolerance;intelligence;evolvable hardware;on-board computer

TV211

A

1674-1579(2008)06-0029-05

2008-06-30

龚健(1975-),男,河北人,博士研究生,研究方向为空间智能容错控制(e-mail:gjxjtu1997@yahoo.com)。

猜你喜欢
器件电路计算机
电路的保护
计算机操作系统
基于计算机自然语言处理的机器翻译技术应用与简介
计算机多媒体技术应用初探
解读电路
巧用立创EDA软件和Altium Designer软件设计电路
基于MATLAB模拟混沌电路
信息系统审计中计算机审计的应用
旋涂-蒸镀工艺制备红光量子点器件
一种加载集总器件的可调三维周期结构