1. 课程导入与任务场景
星载计算机是卫星、飞船、深空探测器等航天器的“大脑”,负责姿态控制、轨道计算、载荷管理、遥测遥控、数据存储与转发等关键任务。与地面计算机不同,它长期工作在强辐射、大温差、真空、单粒子效应频发的空间环境中,供电、时钟、存储器与总线都可能因外部扰动或内部故障而中断。所谓掉电恢复,是指星载计算机在供电中断、复位、看门狗触发或异常重启后,能够重新建立可运行状态,并尽可能恢复到掉电前或安全可控的工作状态;状态保持则是指在掉电或复位过程中,把关键运行状态、任务进度、参数配置、故障标记等信息保存到非易失存储或冗余区域,使恢复后能够继续执行任务,而不是从零开始。
理解这两个概念,需要先区分三类“状态”。第一类是易失运行状态,如CPU寄存器、Cache、SRAM中的临时变量、堆栈、当前指令指针,掉电即丢失;第二类是关键任务状态,如当前工作模式、任务队列指针、姿态控制积分项、载荷观测计划、故障计数、时间基准,这些状态决定系统“做到哪一步”,必须尽量保持;第三类是安全默认状态,如最小安全模式、默认参数、看门狗复位后的初始配置,当关键状态无法可靠恢复时,系统应能退回到该状态并等待地面指令。掉电恢复与状态保持的核心,就是在“恢复速度、状态完整性、存储可靠性、资源开销”之间取得平衡。
本节核心问题:星载计算机为什么容易掉电?掉电后哪些状态必须保住?不同任务剖面下,恢复需求有什么差异?
空间环境中的掉电诱因
星载计算机的掉电并不只等于“电源断了”。在工程上,它通常表现为供电异常、复位异常或程序跑飞后的强制重启。常见诱因可以归纳为以下几类。
- 电源母线扰动:太阳能帆板输出随光照角、阴影区、负载切换而波动,蓄电池充放电切换、载荷大电流启动、火工品点火等都会造成母线电压跌落或瞬态尖峰。若电源调理模块响应不足,CPU、FPGA、存储器可能进入欠压复位。
- 单粒子效应:高能粒子击中存储单元或逻辑电路,可能引发单粒子翻转(SEU)、单粒子锁定(SEL)、单粒子瞬态(SET)。SEL可能造成局部电流骤增,触发过流保护而断电;SEU可能改写关键寄存器或程序指针,导致看门狗超时复位。
- 看门狗与复位链:软件跑飞、任务死锁、总线挂死时,外部看门狗或内部看门狗会发出复位信号。复位虽然不等同于断电,但对软件而言同样是一次“非预期重启”,需要恢复状态。
- 热控与连接异常:极端温度可能导致焊点、连接器接触电阻变化,供电瞬断;振动、冲击也可能造成间歇性接触不良。
- 人为与任务操作:地面指令误发、模式切换冲突、软件在轨升级失败、存储器擦写过程中断电,也会造成系统异常重启。
这些诱因的共同点是:发生时间不可预测、持续时间可能很短、但后果可能很严重。因此,星载计算机不能假设“永远不会掉电”,而必须把掉电恢复与状态保持作为系统设计的一部分。
典型任务剖面与恢复需求
不同航天任务对掉电恢复的要求差异很大。以低轨遥感卫星、地球同步轨道通信卫星和深空探测器为例,可以形成三类典型剖面。
| 任务剖面 | 典型特征 | 掉电风险 | 恢复需求 |
|---|---|---|---|
| 低轨遥感卫星 | 约90分钟绕地一圈,约35分钟阴影区,载荷周期性开关 | 阴影区供电切换、载荷大电流启动、单粒子事件 | 快速恢复姿态与任务队列,保证过境观测窗口不丢失 |
| 地球同步通信卫星 | 长期连续工作,供电相对稳定,通信业务不能中断 | 单粒子锁定、长期累积辐射损伤、电源模块老化 | 双机热备/冷备切换,状态同步,业务中断时间最小化 |
| 深空探测器 | 通信时延大、能源受限、无法实时遥控 | 长期无人值守、能源不足、辐射环境复杂 | 自主恢复、安全模式、关键状态持久化,等待地面慢速干预 |
从表中可以看出,恢复需求并不是单一的“重启成功”。低轨遥感卫星更关注任务连续性,因为过境窗口稍纵即逝;通信卫星更关注可用性,因为业务中断会直接影响服务;深空探测器更关注自主性与安全性,因为地面无法实时救急。设计者需要根据任务剖面确定:哪些状态必须保存、保存频率多高、恢复时间允许多长、是否需要冗余存储、是否允许降级运行。
从“掉电”到“恢复”的关键设计问题
把上述诱因、状态和恢复路径放在一起,可以看到星载计算机掉电恢复设计需要回答几个具体问题。
第一,保存什么。不是所有状态都值得保存。保存太多会占用存储、增加写入次数、延长恢复时间;保存太少则恢复后任务无法继续。工程上通常按“任务关键度”分级:姿态控制积分项、任务队列指针、时间基准、故障计数等属于必须保存;临时计算结果、可重算的中间变量可以不保存;大块图像数据通常放在独立存储区,不纳入掉电恢复范围。
第二,保存到哪里。星载计算机常用MRAM、FRAM、EEPROM或带掉电保护的Flash。MRAM和FRAM写入速度快、耐久性高,适合频繁保存关键状态;EEPROM和Flash容量大、成本低,但写入次数有限,需要磨损均衡和写前日志。对于高可靠场景,还会采用双副本加CRC校验,甚至三模冗余存储。
第三,什么时候保存。常见策略有三种:周期保存、事件触发保存和掉电中断保存。周期保存实现简单,但可能丢失最后一个周期内的状态;事件触发保存在模式切换、任务节点完成时写入,实时性好但需要软件埋点;掉电中断保存依赖电源监测和储能电容,在母线跌落到阈值以下时抢写关键数据,窗口通常只有几毫秒到几十毫秒。
第四,恢复后如何判断。系统上电后不能盲目相信保存区。典型流程是:读取状态区→校验CRC→检查版本号和写入完成标志→若有效则恢复任务状态,若无效则使用默认状态进入安全模式。对于双副本,还可以比较两份数据,选择校验通过且版本更新的一份。
示例参数(合理假设,非实测):某低轨遥感卫星星载计算机采用FRAM保存关键状态,每200 ms周期保存一次,单次写入约64字节,FRAM耐久度1012次写入。按每天工作16小时计算,每天写入约28.8万次,年写入约1.05亿次,远低于耐久度上限。掉电检测阈值设为4.5 V,储能电容可维持CPU和FRAM工作约15 ms,足够完成一次紧急写入和CRC校验。
本节小结与任务场景
星载计算机掉电恢复与状态保持,本质上是一套“预防—保存—恢复—验证”的工程机制。空间环境中的电源扰动、单粒子效应、看门狗复位和连接异常,决定了掉电不可能被完全消除;任务剖面则决定了恢复的优先级和约束。低轨遥感卫星要在过境窗口前快速恢复任务队列,通信卫星要保证业务不中断,深空探测器要能自主进入安全模式并等待地面指令。