星载计算机是卫星控制和计算系统的核心, 主要完成星上控制、卫星测控和在轨数据处理等重要功能, 是卫星系统中不容许出错的一部分。星载计算机不仅要经历火箭起飞时的冲击力、震动等严酷的力学环境, 还要承受太空环境当中的高辐射、高温差、微重力等恶劣环境。当下, 星载计算机主要采用专门定制的高可靠度元器件构成, 一定程度上提高了安全性, 但由于其功耗、成本的限制, 近年来已经渐渐由COTS (Commercial off-the-shelf) 星载计算机所替代。现在使用的星载计算机在硬件构成上多采用多机并行的结构, 这种结构大大降低了星载计算机任务的风险性, 但也存在一定的不足[1]。COTS星载计算机容易受到太空高能辐射发生故障, 而且星载任务系统是多个任务并行进行, 不同任务之间需要实时通信, 由此造成多机并行的星载计算机系统需要多个并行通信链路来支持信息的交互, 从而造成系统复杂度的极大提高。基于以上原因的考虑, 设计了一种多核的双机容错的星载计算机系统, 极大地降低了系统的复杂度, 而且能够高效率、可靠的完成星载任务, 满足实际的设计需求。
一、太空环境下的星载计算机系统
处于太空环境下的星载计算机受到的辐射影响主要来源于两种类型, 一个是由地球磁气圈产生的地磁场俘获辐射带, 另一个是多种来源的宇宙射线带来的辐射。
当星载系统处于上述的辐射环境当中时, 会产生一定的辐射效应影响, 主要包括辐射总剂量 (Total Ionizing Dose, TID) 和单粒子效应 (Single-event effect, SEE) , 其中单粒子效应又主要分为两类:单粒子翻转 (Singleevent upset, SEU) 和单粒子闭锁 (Single-event latch-up, SEL) [2]。
(一) 辐射总剂量
辐射总剂量是用来表征电子元器件在空间辐射环境下自身的一些性能指标的度量单位, 一般包含电流、电平转换时间、电压阈值等, 主要描述元器件发生永久性故障之前能够吸收的总能量的级别。
辐射总剂量直接影响元器件材料的性能漂移、功能下降, 甚至会导致器件丧失原有的功能。如运算放大器的输入失调变大、开环增益下降, CPU的逻辑单元功能丧失等。这些影响会直接导致星载系统的逻辑错误, 功能丧失, 最终导致星载任务的失败。
(二) 单粒子效应
单粒子效应是指太空中的高能辐射粒子冲击电子元器件时, 所引起的电子元器件瞬间扰动或者永久性损伤的效应。单粒子效应会严重影响到星载计算机的寿命和性能, 严重情况下甚至可能导致系统发生灾难性的故障。根据相关的材料表明, 国外发射的小卫星当中由于单粒子效应引起的故障占故障总数的一半以上, 所以, 对于单粒子的研究具有重大的实际意义[3]。
1. 单粒子翻转
单粒子翻转是太空辐射造成的多种单粒子效应当中最常见最典型的一种, 主要是由单个高能辐射粒子作用于元器件内部, 使器件的逻辑状态发生了变化引起的故障。单粒子翻转引起的故障属于系统当中可修复的错误, 即通过系统的复位、重新上电和指令的重新加载等方式即可恢复到正常状态。在实际的系统当中, 单粒子翻转发生的频率较高, 平均每天发生五次左右[4]。
由于空间当中高能粒子能量很大, 穿透力极强, 不可能完全依靠硬件屏蔽来避免, 而且随着集成电路的发展, 器件的尺寸越来越小, 器件密度也不断加大, 发生单粒子翻转的概率也不断上升, 单一的使用宇航级器件已经极难满足实际的需求。
2. 单粒子闭锁
单粒子闭锁大多发生在CMOS器件当中, 主要由于单粒子射入器件当中, 产生较大的瞬态电流, 造成器件的功能性损坏[5]。同单粒子翻转一样, 重新掉电、上电可以清除该种故障, 不同之处在于, 如果没有及时的断电, 瞬态的大电流将会引起局部的高温, 会给系统的某些元器件带来不可逆转的永久性伤害。
通常情况下, 为了防止单粒子闭锁给系统带来不可逆转的损伤, 会对系统设计中加入限流电阻、限流电路或者系统掉电重新上电单元, 这样就能极大地提高系统的可靠性。
(三) 小结
本章从星载计算机所处的太空环境入手分析, 具体分析了处于太空环境下的星载计算机所受的辐射效应种类及其具体的表现形式, 为设计容错方案奠定了基础。
二、COTS型星载计算机容错方法
(一) COTS型星载计算机的必要性
为了避免太空辐射引起的星载计算机故障, 传统意义上的做法是对器件进行屏蔽和加固处理, 即在硬件系统外部使用铝板加强对辐射的屏蔽, 或者采用抗高辐射的宇航专用器件。研究表明, 铝板越厚, 器件受到的辐射作用越小, 并且宇航专用器件的抗辐射能力大大优于常规器件。但是, 对于防护高能粒子方面, 屏蔽的作用微乎其微, 且屏蔽部分的材料厚度和大小受到卫星本身的大小限制。此外, 专用的宇航级器件不足以完全解决辐射效应, 而且就当前用于星载计算机的微处理器性能方面, 其处理能力大大落后于COTS器件[6]。因此, COTS器件用于星载计算机成了必然的选择。
(二) 常见的COTS型星载计算机容错方法综述
通俗地讲, 传统意义上对于器件的屏蔽和加固是对辐射的“预防”, 而COTS型计算机的容错方法是对系统的“诊断治疗”。完全地实现“预防”是不可能的, 即采取相应的屏蔽抗辐射措施任然不可能杜绝辐射效应, 此时就需要采用适当的容错方法, 使系统可以可靠的运行。对于星载计算机而言, 容错方式主要分为硬件容错和软件容错两个方面的内容。
1. 硬件容错技术
比较而言, 星载计算机的单粒子效应是星载计算机面临的主要辐射作用, 单粒子效应的潜藏危险性更高。COTS型星载计算机往往采用器件单元冗余的方式来提高系统的可靠性。按照系统的工作方式不同, 容错的方式可以分为主动冗余、被动冗余和混合冗余[7]。
主动冗余是指系统的硬件结构根据发生的故障不同做出相应的调整, 修复故障的成功率高, 但系统的复杂度也相对较高。一个主动冗余系统工作方式如下图1所示, 当检测单元发现系统出现故障时, 诊断单元找出故障发生的位置, 最后由修复单元用冗余的模块替代故障模块。
被动冗余是指多个模块同时执行相同的程序、同样的操作, 执行的结果交由表决器进行判断, 最终的结果按照“少数服从多数”的原则进行输出, 即表决器的将大多数相同输出的模块当作最终的结果进行输出。被动冗余的方式系统构成相比较于主动冗余简单, 但被动冗余系统功耗高于主动冗余, 功耗较大。被动冗余的示意图如下图2所示。
混合冗余则是结合以上两种冗余方式容错结构, 容错的可靠性更高, 但系统复杂度也相对应有所上升, 应用的较少。
2. 软件容错技术
软件容错的方式, 相比较于硬件容错结构固定、方式单一、冗余模块较多的特点, 具有容错方式灵活多变、系统功能方便扩展等优点。为了星载计算机更高效率的工作运行, 常常将一些容错纠错的功能交由软件部分实现。
(三) 小结
本章具体分析了目前常见星载计算机的容错方案, 分析了COTS型星载计算机的可行性, 对比了容错方案的优劣性, 给容错设计提供了设计的科学依据。
三、星载计算机容错架构设计
星载计算机系统是卫星控制系统的核心, 是一个典型的嵌入式系统。为了提高星载计算机安全可靠地运行, 常常在硬件层面和软件层面采取相应的容错设计。
(一) 星载计算机硬件体系架构设计
如下图3所示, 为星载计算机的硬件容错架构示意图, 容错架构分为四个部分, 分别为核心板A、核心板B、接口板和底板。
1. 核心板模块
核心板模块是星载计算机是负责星务处理的核心, 主要完成卫星的姿态控制任务、数据处理等功能, 且星载系统的软件部分也在这里运行。为了提高星载计算机系统安全性与可靠性, 设计了一种基于ADSP-SC589的双机容错系统。
如上图3所示, 两块核心板的构造完全相同, 都由CPU (SC589) 、I/O接口、二次电源转换模块、存储器模块和时钟模块构成。其中, I/O接口模块完成星载计算机与外围单元的数据互通;二次电源转换模块主要完成星载核心板上的电源转换部分。
2. 接口板模块
如上图3所示, 接口板主要包括仲裁模块, 看门狗电路模块以及内外部的接口部分。看门狗电路主要用来接收星载计算机核心板发来的心跳信号, 如果心跳信号异常, 仲裁模块就会对相应的核心板发出重启信号, 重启后如果心跳信号正常, 那么继续监控运行;如果还异常, 此时就切断该核心板的电源, 以另一块的核心板的计算数据做输出数据。这样就保证了工作的可靠性。接口板还提供了向外部通信所需的各种所需的设备接口。
3. 底板模块
底板模块主要负责一次电源的转换工作以及电源的控制工作。当系统发生异常时, 由仲裁模块给出控制信号, 此时电源控制芯片给核心板系统断电, 完成电源的切换、掉电重启。
(二) 星载计算机软件容错设计
星载计算机的软件平台是整个系统的重要组成部分, 从星载任务同时多任务、实时变化等特点, 就要求星载计算机必须具备实时、多线程、容错和电源控制等功能[8][9]:
1) 中断控制的相应能够满足实时的星务需求。星载任务当中有一些紧急的事件必须及时的响应, 而且还要在规定的时间内完成。
2) 必须提供实时的时钟控制。实时的时钟给星载系统提供了时间, 有些例如按时的数据采集等必须要有实时时钟的支持。
3) 提供多种接口的管理功能。星载系统中涉及到多种接口, 如RS485、CAN和模数转换接口等, 因此必须提供一定的机制实现对这些接口的管理功能。
4) 必须提供对多种处理器的支持。设计的航天体统软件必须能够满足不同类型的航天器的要求, 星载计算机上可能会包含不同种类的处理器, 因此设计的星载计算机平台必须支持多种处理器的系统。
5) 能够提供电源的管理功能。能够提供一定的机制, 在需要切换电源的情况下能够迅速的实现电源的开断响应。
6) 提供可靠的容错机制。使星载操作系统本身具有一定的容错能力, 在软件系统自身内部发生异常时能够修正, 保证可靠的运行。
四、结论
基于目前COTS星载计算机的设计可行性和实际的要求后, 对星载计算机的容错体系进行了架构设计, 分别从硬件和软件方面进行了相关的研究。
硬件容错设计是星载计算机可靠的基础, 本设计当中, 对整个COTS型星载计算机的硬件结构进行了详细的构架设计, 设计了双机容错的硬件架构, 以便系统能够克服复杂的空间环境, 保证了星载计算机长期可靠的运行。软件容错是星载计算机可靠的关键, 设计里具体分析了软件设计需要包含的具体要求, 保证了系统运行中的可靠性与安全性。由于实验的环境的限制, 以后的工作中亟待解决的是对设计的实际验证, 硬件设计已通过验证, 符合设计的要求, 软件系统目前还缺乏验证的实践。
星载计算机的可靠性研究是一条无止境的探索之路, 现在还不能做到尽善尽美, 希望可以在接下去的科研道路上一直向前, 使系统能够不断完善, 为科研事业奉献一份力量。
摘要:在太空环境当中, 星载计算机时刻处于强烈的辐射当中, 当元器件受到高能辐射冲击后, 器件内部时序单元或者逻辑单元的电平会发生状态翻转, 进而导致程序进程发生紊乱, 不能按照既定的功能运作, 即出现了故障。通常情况下, 星载计算机会采用可靠度高的宇航级器件实现, 但宇航级器件成本高昂, 制作难度较高, 目前已渐渐被商用货架器件构建的星载计算机替代。商用货架器件型星载计算机只要在其硬件系统的构建上采用合适的方法就能够实现高可靠度、低成本目标。因此, 设计了一种基于商用货架器件的星载计算机, 采用双机容错的硬件架构, 并且对外围电路进行了容错设计, 能够安全可靠的应用到实际当中。
关键词:小卫星,星载计算机,容错,COTS,空间辐射环境
参考文献
[1] 刘光辉.星载并行计算机体系结构的研究与实现[D].长沙:国防科技大学, 2005.
[2] 任小西.基于重构计算的高可靠星载计算机体系结构研究[D].武汉:武汉大学, 2007.
[3] Schrogl K, Hays P L, Robinson J, etal.HandBook of Space Security[M].New York:Springer, 2015:301-307.
[4] 王霆, 常宁宁, 王艳莉.分布式高可靠性星载计算机系统研究与实现[J].科技信息 (科学教研) , 2008, (10) :57.
[5] 黄影.星载COTS计算机的体系结构设计及其抗SEU研究[D].长沙:国防科学技术大学, 2006.
[6] 王平, 孙宁, 李华旺等.创新一号小卫星星载计算机控制系统设计[J].计算机工程, 2006, (18) :255-257.
[7] 熊荫乔.空间辐射环境下提高程序容错能力的技术研究[D].长沙:国防科学技术大学, 2010.
[8] 武文权.可重构并行小卫星星载计算机体系结构设计[D].上海:中国科学院研究生院, 2004.
[9] 李毅.星载计算机COTS技术下抗SEL辐射效应研究与实现[D].长沙:国防科学技术大学, 2006.