2. 星务计算机体系结构与异常源
星务计算机(On-Board Computer, OBC)是卫星平台的核心控制单元,承担遥测采集、遥控指令分发、姿态与轨道控制、任务调度、星地通信管理以及故障自主处置等职责。要理解异常处置与安全模式,必须先看清它的硬件骨架、软件分层、总线接口,以及异常究竟从哪些位置进入系统。本节从“结构—接口—异常源—任务影响”四个视角展开,为后续安全模式设计建立共同语言。
一、硬件架构:从最小可运行系统到冗余体系
典型星务计算机硬件由处理器、存储器、看门狗、总线接口、供电与复位管理、以及冗余切换逻辑组成。处理器多采用抗辐射加固的 SPARC、ARM 或 PowerPC 架构,例如 LEON 系列或 RAD750 类器件;存储器分为程序存储(PROM/EEPROM/Flash)、运行内存(SRAM/SDRAM)和数据存储(MRAM/FRAM)。看门狗通常分为硬件看门狗与软件看门狗两级:硬件看门狗由独立计数器驱动,超时直接触发复位;软件看门狗由任务周期性“喂狗”,用于检测任务调度异常。
冗余体系常见三种形态:冷备份(主份失效后加电启动备份)、热备份(双机同时运行、备份机跟随同步)、以及三模冗余(TMR,三机表决输出)。以某低轨遥感卫星为例,星务计算机采用双机热备,主备机通过交叉通道每 200 ms 交换一次健康状态与关键遥测,若主份连续 3 个周期未发出心跳,备份机在 600 ms 内接管总线控制权。这一时间参数直接决定了安全模式进入的响应窗口。
二、软件分层:从驱动到任务调度
星务软件通常分为四层:底层驱动层(BSP,含时钟、串口、总线控制器、存储器驱动)、操作系统层(实时内核或裸机调度器)、服务层(遥测遥控服务、时间管理、文件系统、总线管理)、应用层(姿轨控、热控、电源管理、任务规划、故障诊断)。分层的关键价值在于隔离:驱动层异常不应直接导致应用层崩溃,应用层异常也不应破坏底层通信能力。
在异常处置语境下,需要特别关注三个软件机制:一是启动引导链(Boot ROM → 引导程序 → 应用镜像),任何一级校验失败都应能回退到安全镜像;二是任务健康监控,每个关键任务注册心跳与超时阈值;三是安全模式入口,通常由故障诊断模块根据异常等级触发,而非由单一任务自行决定。
三、总线与接口:异常传播的物理通道
星务计算机内部与外部通过多种总线连接:内部常用 AHB/APB 或 SpaceWire;外部常用 CAN、1553B、RS-422、I²C 等。1553B 具有命令/响应机制和总线控制器(BC)角色,适合高可靠指令分发;CAN 总线多用于载荷与分系统间的低速遥测;SpaceWire 则用于高速数据链路。接口异常往往表现为总线错误、超时无响应、CRC 校验失败或设备地址冲突。
需要强调的是,总线是异常传播的“高速公路”。一个终端设备短路或持续占用总线,可能导致整条总线瘫痪,进而使星务计算机无法获取关键遥测,误判为自身故障。因此安全模式设计中通常包含总线隔离与降级策略,例如关闭非关键终端、切换备用总线或降低通信速率。
四、常见异常来源及其对任务的影响
单粒子效应(SEE):高能粒子击中存储单元或逻辑电路,可能引发单粒子翻转(SEU,位翻转)、单粒子锁定(SEL,可控硅闩锁)或单粒子瞬态(SET)。SEU 导致寄存器或内存数据错误,若发生在程序计数器或关键变量上,可能引起任务跑飞;SEL 则可能造成局部电流骤增,需断电重启。对任务的影响从“单次遥测错误”到“姿控任务中断”不等。
看门狗超时:任务阻塞、死循环或调度器异常导致喂狗失败,硬件看门狗触发复位。复位后系统重新启动,若故障未消除,可能进入“复位—启动—再复位”的循环。对任务的影响是短时服务中断,若频繁复位则导致任务无法完成。
内存错误:包括 SRAM 位翻转、EDAC 不可纠正错误、堆栈溢出、内存泄漏。EDAC 可纠正错误通常仅记录日志;不可纠正错误若发生在关键代码段,将直接导致程序异常。对任务的影响是数据完整性受损或任务崩溃。
通信中断:包括星地链路中断、总线通信超时、设备无响应。星地链路中断时,星务计算机需自主运行并缓存遥测;总线中断则可能导致分系统失控。对任务的影响是遥控指令无法上行、遥测无法下行,或分系统间协同失效。
五、异常源与任务影响的对应关系
把四类异常源与任务影响放在一起看,可以形成一张判断表。单粒子效应直接作用于硬件存储与逻辑,影响范围取决于击中位置;看门狗超时反映的是软件调度健康度,通常以复位作为恢复手段;内存错误介于硬件与软件之间,EDAC 可纠正错误可被容忍,不可纠正错误则需任务级恢复;通信中断更多是接口与链路问题,影响的是星地协同与分系统协同。
| 异常源 | 典型触发位置 | 可观测征兆 | 对任务的主要影响 | 常见恢复手段 |
|---|---|---|---|---|
| 单粒子效应 | 寄存器、SRAM、逻辑电路 | 位翻转、电流异常、瞬态脉冲 | 数据错误、任务跑飞、局部锁定 | EDAC 纠错、复位、断电重启 |
| 看门狗超时 | 任务调度器、喂狗任务 | 心跳丢失、复位计数增加 | 服务中断、复位循环 | 硬件复位、任务重启、安全模式 |
| 内存错误 | SRAM、堆栈、堆区 | EDAC 计数、校验失败、异常指针 | 程序崩溃、数据损坏 | EDAC 纠正、任务隔离、镜像回退 |
| 通信中断 | 星地链路、1553B/CAN 总线 | 超时无响应、CRC 错误、总线占用 | 遥控失效、分系统失控 | 总线隔离、降级通信、自主运行 |
六、从结构到处置:安全模式设计的三个锚点
第一,分层隔离。驱动层、操作系统层、服务层、应用层之间应有明确的错误上报与隔离边界,避免单点异常扩散为整机失效。第二,可观测性。每类异常源都应有对应的计数器、日志或遥测点,例如 EDAC 纠正计数、看门狗复位次数、总线超时次数、心跳丢失次数,这些是安全模式判定的输入。第三,可回退性。启动引导链应支持安全镜像回退,关键任务应支持重启或降级运行,总线应支持隔离与切换。
以某卫星星务计算机为例,其安全模式触发条件可设为:连续 3 次看门狗复位、或 EDAC 不可纠正错误累计超过 5 次、或主备机心跳丢失超过 600 ms、或星地链路中断超过 30 分钟。触发后,星务计算机进入安全模式:关闭非关键载荷、保持姿控与热控基本功能、以最低遥测速率下行、等待地面指令。这一策略的合理性,正来自本节对硬件结构、软件分层、总线接口和异常源影响的分析。
理解星务计算机的体系结构与异常源,是后续异常检测、故障诊断、安全模式进入与退出策略设计的基础。只有先看清“异常从哪里来、经过哪些层、最终影响什么任务”,才能在处置时做到有的放矢。