2. 星载计算机可靠性测试对象剖析

要对星载计算机做可靠性测试自动化,第一步不是写脚本,而是把"被测对象"拆清楚。星载计算机不是一块普通单板,而是一个在辐射、真空、极端温度与单点供电约束下长期自主运行的嵌入式系统。它的可靠性测试对象至少包含五个层次:体系结构、关键模块、故障模式、可靠性指标,以及由指标反推出来的测试需求。只有把这五层对齐,自动化测试才有明确的激励对象、观测点和判据。

一、体系结构:从整机到可观测边界

典型星载计算机采用"双机热备 + 看门狗 + 独立复位"的容错架构。以某类低轨遥感卫星的星务计算机为例,其结构可概括为:

  • 处理核心:CPU(如 SPARC V8 架构的 AT697 或国产 BM3803),运行星务管理软件;
  • 存储层次:PROM 存放引导程序,EEPROM 存放默认参数,SRAM 作为运行内存,MRAM/Flash 存放程序与日志;
  • 总线接口:内部通过 AHB/APB 连接外设,外部通过 1553B、CAN 或 SpaceWire 与星上其他分系统通信;
  • 监控与复位:独立看门狗、电源监控芯片、复位逻辑;
  • 供电与时钟:DC/DC 模块、晶振与时钟分配网络。

测试自动化的第一步,是明确"可观测边界":哪些信号可以引出到测试台,哪些只能通过遥测下传,哪些必须通过软件注入才能观测。例如,CPU 内部寄存器无法直接探测,但可以通过 JTAG 调试口读取;1553B 总线上的消息可以通过总线监视器捕获;看门狗溢出则可以通过复位计数遥测间接判断。

星载计算机可靠性测试对象分层与观测点 处理核心 CPU / 星务软件 观测:JTAG、遥测计数 存储层次 PROM / EEPROM / SRAM 观测:读写校验、EDAC 计数 总线接口 1553B / CAN / SpaceWire 观测:总线监视器、误码率 监控与复位 看门狗 / 电源监控 观测:复位计数、复位原因 供电与时钟 DC/DC / 晶振 观测:电压、频率、纹波 故障注入点 SEU / 电源拉偏 / 总线错误 观测:错误响应、恢复时间 测试需求来源 ① 可靠性指标(MTBF、单粒子翻转率) ② 故障模式与影响分析(FMEA) ③ 在轨异常与历史故障库 ④ 元器件降额与辐照试验数据 ⑤ 软件需求规格与接口协议 ⑥ 总体与分系统测试大纲 反推激励与判据

二、关键模块与故障模式

星载计算机的故障模式可按"物理层—器件层—功能层"展开。物理层包括焊点开裂、连接器接触不良、PCB 分层;器件层包括单粒子翻转(SEU)、单粒子锁定(SEL)、总剂量效应(TID)、位移损伤;功能层包括程序跑飞、看门狗误复位、总线通信超时、存储位翻转、电源瞬态跌落。

以 SRAM 型 FPGA 为例,SEU 会导致配置位翻转,进而改变内部逻辑功能。测试时通常采用两种方式:一是通过 JTAG 回读配置帧,统计翻转位数;二是注入错误后观察功能输出是否偏离预期。对于 CPU 寄存器,则可通过软件注入错误值,再检查程序是否进入异常处理分支。

故障模式典型诱因可观测信号测试注入方式
SRAM 位翻转高能粒子EDAC 纠错计数、校验错误JTAG 回读 + 软件写错
看门狗误复位程序跑飞复位计数、复位原因寄存器停止喂狗 / 强制跳转
1553B 通信超时总线冲突、终端故障消息响应时间、错误状态字总线错误注入、终端模拟
电源瞬态跌落负载突变、DC/DC 失效电压纹波、复位阈值可编程电源拉偏
时钟失锁晶振老化、辐照频率偏差、锁相环状态频率偏移注入

三、可靠性指标与测试需求的映射

可靠性指标不是抽象数字,而是测试需求的直接来源。例如,整机 MTBF 要求为 10 万小时,分解到 CPU 模块可能要求 30 万小时,分解到电源模块可能要求 50 万小时。这些指标进一步转化为:

  • 故障率 λ:用于确定测试样本量与测试时间;
  • 单粒子翻转率:用于确定 SEU 注入频次与纠错能力验证;
  • 恢复时间:用于确定看门狗超时阈值与复位后重启时间;
  • 误码率:用于确定总线通信的容错重传次数。

测试需求通常来自六个方面:可靠性指标分解、FMEA 分析结果、在轨异常历史、元器件降额与辐照数据、软件需求规格、总体测试大纲。自动化测试脚本的激励向量和判据,正是从这些来源中提取出来的。

实践提示:在编写自动化测试用例前,先建立"故障模式—观测点—判据"三列映射表。例如:SEU 注入 → EDAC 纠错计数增加 → 若计数在 1 秒内增加且数据未出错,则判为通过;若数据出错且未纠正,则判为失败。这样脚本的断言才有明确依据。

四、从对象剖析到自动化测试的衔接

完成对象剖析后,自动化测试的框架就清晰了:激励层负责产生故障注入信号(如 JTAG 配置帧改写、电源拉偏、总线错误帧);采集层负责捕获观测点数据(如遥测帧、总线监视日志、复位计数);判据层负责将采集数据与预期范围比较,输出通过/失败结论。

以看门狗测试为例,自动化脚本可以这样组织:先通过串口发送"停止喂狗"命令,等待看门狗超时,然后读取复位原因寄存器,确认复位原因为"看门狗溢出",并记录从停止喂狗到复位发生的时间。若该时间落在设计阈值范围内(例如 1.0~1.2 秒),则判为通过。整个过程无需人工干预,可重复执行上百次,用于统计复位时间的分布。

需要强调的是,星载计算机的测试对象具有"不可完全复现"的特点:在轨辐射环境无法在地面完全模拟,因此自动化测试更强调"故障注入的覆盖性"和"判据的鲁棒性",而不是追求与在轨完全一致的复现。测试需求来源中的在轨异常历史,正是用来补充地面试验无法覆盖的边界条件。

综上,星载计算机可靠性测试自动化的第一步,是把体系结构、关键模块、故障模式、可靠性指标和测试需求来源这五个层次逐一拆解,并建立它们之间的映射关系。只有对象清晰、观测点明确、判据可量化,后续的自动化脚本、测试执行和结果分析才有可靠的基础。