1. 课程导入与星载计算环境认知

星载计算机并不是地面计算机的简单“加固版”,它是在质量、功耗、散热、辐射和通信带宽多重约束下工作的嵌入式实时系统。理解这些约束,是后续讨论“资源为什么会耗尽”以及“健壮性测试到底测什么”的前提。本章先建立星载计算环境的整体认知框架,明确资源耗尽与健壮性测试的总体目标。

一、星载计算机由什么组成

从功能层次看,一台典型星载计算机可以划分为五个部分:

  • 处理单元:以抗辐射处理器(如 SPARC V8 架构的 LEON 系列、PowerPC 系列或 ARM 加固核)为核心,配合看门狗、EDAC 纠错电路和复位管理逻辑。
  • 存储层次:包括引导 ROM、程序存储(PROM/Flash/FRAM)、主存(SRAM 或 SDRAM,通常带 EDAC)、以及大容量数据存储(NAND Flash 或 MRAM)。
  • 总线与接口:内部常用 SpaceWire、1553B、CAN 或自定义并行总线;对外通过遥测遥控接口、数传接口与地面或其他分系统交互。
  • 供电与时钟:一次电源经 DC/DC 变换为多路二次电源,晶振或时钟芯片提供系统时基,复位与上电时序由监控电路管理。
  • 软件:引导程序、实时操作系统(如 RTEMS、VxWorks、SpaceOS)、任务调度器、设备驱动和应用任务。

这些部件共同构成一个“计算—存储—通信—供电”闭环。任何一环的资源被占满或行为异常,都可能表现为整机功能失效,而不仅仅是某个任务出错。

二、资源约束:星载计算环境的根本特征

与地面服务器相比,星载计算机的资源约束是数量级的差异。以一颗典型低轨小卫星的星务计算机为例,其量级大致为:

资源类型典型量级(示例)主要限制来源
CPU 主频数十 MHz 至数百 MHz抗辐射工艺、功耗与散热
主存容量几 MB 至几十 MB抗辐射 SRAM 成本、体积、功耗
程序存储几 MB 至几十 MBFlash 擦写寿命与容量
数据存储几百 MB 至几 GB数传窗口与下传速率
功耗预算几 W 至几十 W太阳能帆板面积与热控能力
通信带宽kbps 至 Mbps 级测控链路与数传速率

这些数字说明:星载软件必须在“小内存、慢 CPU、窄带宽、有限功耗”的条件下长期稳定运行。资源耗尽往往不是瞬间发生,而是任务堆积、内存泄漏、队列积压、日志膨胀等缓慢累积的结果。因此,资源管理必须从设计阶段就纳入考虑,而不是等到在轨异常后再补救。

三、空间环境带来的特殊挑战

空间环境对星载计算机的影响主要体现在三类效应:

  • 单粒子效应(SEE):高能粒子击中存储单元或逻辑电路,可能造成位翻转(SEU)、功能中断(SEFI)甚至锁定(SEL)。位翻转会直接破坏数据、指针和状态变量,是内存与寄存器异常的重要来源。
  • 总剂量效应(TID):长期累积导致器件参数漂移、漏电流增大,最终可能使器件失效。
  • 温度与真空:剧烈温度循环引起焊点疲劳和参数漂移,真空环境使散热只能依靠传导和辐射。

这些效应意味着:星载计算机不仅要“算得对”,还要“错得起、恢复得了”。健壮性测试的核心,就是验证系统在资源紧张和异常注入条件下,是否仍能保持可控、可恢复、可观测。

四、资源耗尽与健壮性测试的总体目标

资源耗尽测试关注的是:当 CPU 占用率、内存、队列、文件系统、通信缓冲区等资源接近或达到上限时,系统是否会出现不可预期的行为。健壮性测试则更进一步,通过故障注入、边界输入、异常时序等手段,检验系统在非正常条件下的容错与恢复能力。

两者的共同目标是回答四个问题:

  1. 能不能发现:系统是否能及时检测到资源异常或故障?
  2. 能不能隔离:异常是否被限制在局部,而不扩散到整机?
  3. 能不能恢复:系统能否通过复位、重启、降级或重构回到可用状态?
  4. 能不能观测:地面是否能通过遥测看到异常发生的过程和恢复结果?

下面的图给出了星载计算环境从资源约束到测试目标的整体关系,帮助建立本章的认知框架。

星载计算环境与健壮性测试总体关系 空间环境 单粒子效应 SEE 总剂量效应 TID 温度循环 / 真空 位翻转 / 锁定 参数漂移 → 异常注入源 星载计算机组成 处理单元 存储层次 总线接口 供电时钟 软件系统 遥测遥控 → 资源受限平台 资源约束 CPU 主频低 内存容量小 存储寿命有限 功耗预算紧 通信带宽窄 → 耗尽风险源 资源耗尽与健壮性测试总体目标 发现 检测资源异常 隔离 限制故障扩散 恢复 复位/降级/重构 观测 遥测可见可判 资源耗尽测试关注“上限行为”,健壮性测试关注“异常行为”,二者共同保障在轨可用性

五、从认知到实践:本节应建立的判断能力

学习本章后,读者应能对一台星载计算机做出如下判断:它的处理、存储、通信、供电各环节分别受什么约束;哪些资源最容易在长期运行中被耗尽;空间环境会以什么方式破坏数据和控制流;以及测试时应该重点观察哪些指标。

例如,在分析一个“遥测数据偶尔丢失”的现象时,不应只怀疑通信链路,还要检查:采集任务是否因 CPU 被高优先级任务占满而错过周期;遥测缓冲区是否因下传窗口未到而写满;存储队列是否因 Flash 擦写变慢而积压。这些都属于资源耗尽型问题的典型表现,也是后续章节要逐一展开的测试对象。

学习提示:本章不要求记住具体型号参数,而要求建立“约束—资源—异常—测试”的因果链思维。后续每一章都会围绕这条链上的某个环节深入展开。

星载计算环境的本质,是在极端受限的物理平台上实现长期自主运行。资源耗尽与健壮性测试,就是为这种运行提供可验证的信心。理解这一点,就抓住了本课程的主线。