1. 星务系统冗余切换与状态恢复导论

星务系统(On-Board Data Handling,OBDH)是卫星的“大脑与神经中枢”,负责遥测采集、遥控分发、任务调度、姿态与轨道数据管理、载荷数据组织以及与地面测控站的上下行链路管理。它通常由星务计算机、遥控单元、遥测采集单元、总线网络、存储器、供电与看门狗电路等组成。由于卫星在轨不可维修,任何单点失效都可能导致任务降级甚至整星失效,因此星务系统从设计之初就必须考虑冗余与恢复能力。本课程围绕“冗余切换”与“状态恢复”两条主线展开,目标是让学习者理解冗余体系的结构、切换判据与执行过程,掌握状态保存、回滚与重建的方法,并能在典型故障场景下完成故障定位与恢复决策。

一、星务系统的组成与冗余层次

典型的星务系统采用分层冗余结构。最底层是供电与时钟冗余,例如双路电源母线、双时钟源;中间层是计算单元冗余,常见形式为双机热备(A/B机)或三机表决(TMR);上层是总线与接口冗余,如双1553B总线、双CAN通道、双RS-422链路;再往上则是存储与数据冗余,包括双区EEPROM、MRAM镜像、关键遥测双份存储。冗余的粒度决定了切换的代价:冷备切换需要上电初始化,耗时长但功耗低;温备切换保持供电但不运行任务,恢复时间中等;热备切换两机同步运行,切换时间最短,但资源开销最大。

理解冗余层次的关键在于区分“冗余资源”与“切换控制权”。冗余资源是备份的硬件或数据通道,而切换控制权决定了由谁判断故障、由谁执行切换。常见的控制权归属有三种:主控机自主判断、看门狗独立判断、地面遥控判断。三者可以组合使用,形成多级防护。

二、冗余切换与状态恢复的定义

冗余切换是指在检测到主份单元失效或性能降级后,将任务执行权从主份转移到备份单元的过程。它包含三个要素:故障检测、切换决策、切换执行。故障检测依赖心跳、看门狗、校验和、超时计数等机制;切换决策依据故障等级、任务关键度和当前工作模式;切换执行则涉及总线仲裁、寄存器状态迁移、任务重新加载等操作。

状态恢复是指在切换完成后,使备份单元恢复到能够继续执行任务的状态。它比切换更复杂,因为备份单元可能缺少主份的最新运行上下文,例如任务队列、姿态积分量、遥测缓存、时间基准等。状态恢复通常包括状态保存、状态传输、状态重建三个环节。状态保存要求主份在关键节点周期性写入共享存储或双口RAM;状态传输要求备份单元能够读取这些数据;状态重建则要求备份单元根据保存的数据重新初始化任务上下文,并校验一致性。

切换解决“谁来干活”,恢复解决“能不能接着干”。只切换不恢复,备份单元可能处于空转或错误状态;只恢复不切换,主份仍然失效。两者必须成对设计。

三、典型故障场景与任务剖面

星务系统的故障场景可按来源分为四类:硬件故障、软件故障、环境故障和接口故障。硬件故障包括CPU锁死、存储器位翻转、电源模块失效;软件故障包括任务死循环、堆栈溢出、看门狗误触发;环境故障包括单粒子翻转(SEU)、单粒子锁定(SEL)、总剂量累积;接口故障包括总线短路、协议芯片挂死、遥测帧丢失。不同故障对切换和恢复的要求不同:SEU通常只需重写寄存器或重启任务,SEL则需要断电重启,总线挂死可能需要切换到备份总线。

任务剖面决定了冗余策略的侧重点。以某低轨遥感卫星为例,其任务剖面可分为发射入轨段、姿态建立段、成像任务段、数传段和轨道维持段。成像任务段对星务计算机的实时性要求最高,适合采用热备切换;数传段对数据完整性要求最高,适合采用双区存储加校验恢复;轨道维持段对可靠性要求高但实时性要求低,可采用温备切换。下表给出一个示例性的任务剖面与冗余策略对应关系,参数为教学假设值,实际工程需根据具体卫星设计确定。

任务阶段关键功能切换方式恢复重点示例切换时间
发射入轨段程控指令、遥测下行冷备程序重加载≤30 s
姿态建立段姿态解算、控制输出热备姿态积分量同步≤200 ms
成像任务段任务调度、载荷控制热备任务队列迁移≤100 ms
数传段数据组织、存储管理温备存储区校验与续传≤5 s
轨道维持段轨道递推、推力控制温备轨道参数重建≤10 s

四、切换与恢复的总体流程

下面用一张信号链与状态迁移相结合的示意图,展示从故障发生到恢复完成的总体关系。图中左侧为故障检测源,中间为切换决策与执行,右侧为状态恢复与任务续接,底部标注关键判据与参数。该图不替代正文,而是帮助建立“检测—决策—切换—恢复—验证”的整体认知。

星务系统冗余切换与状态恢复总体关系 故障检测源 看门狗超时 计数阈值 / 喂狗周期 心跳丢失 周期报文 / 序号校验 校验和错误 CRC / ECC 位翻转 总线超时 1553B / CAN 无响应 地面遥控判读 切换决策与执行 故障等级判定 瞬时 / 持续 / 致命 切换策略选择 冷备 / 温备 / 热备 总线仲裁与接管 主备权切换 / 通道切换 任务重新加载 程序区 / 参数区 切换时间预算约束 状态恢复与续接 状态保存读取 双口RAM / EEPROM镜像 上下文重建 任务队列 / 时间基准 数据一致性校验 CRC / 版本号 / 时间戳 任务续接与验证 遥测确认 / 功能自检 恢复成功率与回滚 关键判据 故障持续 时间 任务关键 度等级 备份单元 健康状态 状态保存 新鲜度 切换时间 预算 地面确认 与自主权 故障 上报 切换 完成 恢复失败则回滚或二次切换 约束

从图中可以看出,故障检测源并不直接触发切换,而是先经过故障等级判定。例如,单次心跳丢失可能只触发重试,连续三次丢失才升级为切换请求;校验和错误若发生在非关键遥测区,可能只记录日志而不切换。切换执行完成后,状态恢复模块读取最近一次保存的上下文,校验通过后任务续接;若校验失败,则回滚到上一个有效状态或触发二次切换。整个闭环中,地面遥控判读作为最后一道防线,在自主切换失败或状态可疑时介入。

五、本课程的学习路径

后续章节将依次展开:冗余架构与切换控制权分配、故障检测与判据设计、冷/温/热备切换的实现差异、状态保存与传输机制、状态重建与一致性校验、典型故障场景的排障方法、切换与恢复的测试验证,以及工程案例复盘。学习本课程后,应能够针对给定卫星任务剖面,选择合适的冗余层次与切换策略,设计状态保存点与恢复流程,并能够根据遥测数据判断切换是否成功、恢复是否完整。

冗余切换不是“越频繁越好”。频繁切换会消耗备份单元寿命、扰乱任务时序,甚至引发切换振荡。必须设置合理的故障确认时间、切换冷却时间和最大切换次数,并在设计中明确“切换失败后的降级模式”。

最后需要强调,星务系统的冗余切换与状态恢复是可靠性工程、实时软件工程和航天器总体设计的交叉领域。理解本节的概念与关系,是后续动手设计切换判据、编写状态保存代码、分析在轨异常的基础。