3. 健康监测系统架构设计

星务计算机健康监测系统的架构设计,本质上是在“有限资源”与“可观测性”之间做权衡。星上CPU算力、总线带宽、存储容量、功耗和遥测下行窗口都受严格约束,因此不能简单照搬地面服务器的监控方案。一个可落地的架构需要回答四个递进的问题:监测什么、在哪里测、怎么把数据收上来、以及星上与地面如何分工处理。

一、监测参数选择:从失效模式反推

参数选择不应从“传感器能测什么”出发,而应从“星务计算机可能怎么坏”出发。星务计算机的典型失效模式包括:CPU因单粒子翻转导致程序跑飞或死锁、存储器位翻转累积、供电电压跌落或瞬态扰动、关键接口总线通信异常、温度超限导致器件降额、看门狗误触发或失效。针对这些失效模式,监测参数可分为四类:

  • 计算与软件状态类:CPU占用率、任务栈深度、关键任务心跳计数、看门狗喂狗间隔、复位次数与复位原因寄存器值。
  • 存储与数据完整性类:EDAC纠正计数、不可纠正错误计数、关键区CRC校验结果、程序区与参数区校验和。
  • 供电与时钟类:一次母线电压、二次电源输出电压、电流、时钟锁定指示、晶振频率偏差。
  • 环境与接口类:关键器件温度、总线误码率、接口超时次数、通信重传率。

参数选择要遵循“可判读”原则:每个参数都应能对应一个明确的阈值或趋势判据。例如仅记录“EDAC纠正计数”意义有限,但记录“单位时间纠正率”并设置分级阈值,就能区分背景辐射引起的正常单粒子事件与器件退化。建议为每个参数定义正常范围、预警阈值、告警阈值三级判据,并明确采样周期。示例参数表如下(数值为教学示例,非实测值):

参数采样周期预警阈值告警阈值
CPU占用率1 s>75% 持续10 s>90% 持续5 s
EDAC纠正计数率10 s>5次/10 s>20次/10 s
二次电源电压100 ms偏离±5%偏离±10%
关键任务心跳500 ms连续2次丢失连续5次丢失
器件温度5 s>70 ℃>85 ℃

二、传感器布局:贴着失效源布置

传感器布局的核心原则是“就近测量、避免共因失效”。温度传感器应贴在CPU、FPGA、电源模块、存储器的封装或散热路径上,而不是统一放在机箱内壁——机箱内壁温度无法反映结温。电压监测点应分别布置在一次母线入口、二次电源输出和负载端,以便区分“电源故障”与“负载短路拉低电压”。

对于星务计算机这类多板卡系统,建议采用“板级+系统级”两层布局:每块板卡上布置本地温度、电压和EDAC监测点,由板级监控电路汇总;系统级再采集各板卡汇总结果、整机电流和复位状态。这样既减少了跨板走线,也避免单点传感器失效导致整机监测盲区。关键监测点应做冗余,例如CPU温度用两路独立传感器,取差值判断传感器自身是否失效。

三、数据采集与传输:分层汇聚,控制带宽

数据采集架构通常分为三层:传感器/采集电路层、板级汇聚层、系统级管理单元层。采集电路完成模拟量数字化和数字量锁存;板级汇聚层以固定周期轮询各采集点,做初步滤波和越限标记;系统级管理单元通过内部总线(如I²C、SPI或CAN)收集各板卡数据,形成统一遥测帧。

传输设计的关键是控制数据量和保证时效性。原始高频采样数据不宜全部下行,应在星上完成压缩和特征提取。例如CPU占用率每秒采样一次,但下行时只发送每分钟的最大值、均值和越限次数。对于故障瞬态,采用“环形缓冲+触发上传”机制:平时只保留最近若干秒数据,一旦触发告警,将触发前后一段窗口的数据打包下行,既节省带宽又保留故障现场。

星务计算机健康监测系统架构 传感器/采集层 CPU温度×2 就近贴装/冗余 二次电源电压/电流 母线/输出/负载端 EDAC/CRC状态 存储器完整性 心跳/看门狗 任务存活指示 总线误码/超时 接口健康度 复位原因寄存器 故障溯源 板级汇聚层 周期轮询 100ms~10s可配 滤波+越限标记 三级判据比较 环形缓冲 保留故障现场 系统管理单元 统一遥测帧 汇总各板卡数据 星上处理 特征提取/压缩 分级告警 正常/预警/告警 地面协同 趋势分析 长期退化判读 阈值整定 上行更新判据 故障复现 结合下行数据分析 遥测下行 指令上行 数据流:传感器 → 板级汇聚(滤波/越限/缓冲)→ 系统管理单元(压缩/告警)→ 遥测下行 → 地面趋势分析与阈值整定

四、星上处理与地面协同架构

星上处理与地面协同的分工原则是:星上负责“快”和“保命”,地面负责“深”和“优化”。星上处理必须在毫秒到秒级完成,因为一旦CPU死锁或电源异常,等待地面指令可能已经错过处置窗口。星上应实现:越限即时告警、看门狗超时自动复位、关键任务心跳丢失后的降级或重启、故障前后数据的环形缓冲冻结。

地面协同则承担星上算力无法完成的工作:多圈次遥测的趋势分析、参数退化建模、阈值动态整定、故障复现与根因分析。地面系统通常包括遥测接收、数据归档、健康评估模型和告警管理四个部分。地面分析的结果可以生成新的阈值或监测配置,通过上行指令注入星上,形成“监测—判读—优化—再监测”的闭环。

协同架构中需要特别设计的是数据分级下行策略。建议将遥测分为三级:一级为秒级关键状态(电压、心跳、复位标志),始终下行;二级为分钟级统计量(CPU占用率均值/最大值、EDAC计数率),按周期下行;三级为故障触发的高频原始数据,仅在告警时打包下行。这样既保证地面能持续掌握健康趋势,又不会在正常状态下挤占宝贵的下行带宽。

设计检查要点:每个监测参数是否对应明确的失效模式?传感器是否就近布置并考虑冗余?采集周期是否与参数变化速率匹配?星上是否具备不依赖地面的自主保护能力?地面是否有闭环回写阈值的通道?这五个问题可以作为架构评审的快速检查清单。

最后需要强调,健康监测架构不是一次性设计完成的。在轨运行后,应利用实际遥测数据持续修正阈值和采样策略。例如某参数在轨长期稳定,可适当放宽告警阈值以减少虚警;某参数出现缓慢漂移,则应加密采样并纳入趋势预测。架构的可配置性——阈值可上行修改、采样周期可调整、告警级别可重定义——往往比初始设计的精确度更重要。