4. 星务计算机关键参数监测技术
星务计算机在轨运行时,其健康状态最终会反映到一组可测量的物理量与接口状态上。所谓关键参数监测,就是把这些物理量通过传感器、分压网络、片内采样电路或总线控制器采集为数字量,再按固定周期送入遥测帧,供星上自主管理和地面判读使用。本节围绕电压、电流、温度、时钟、总线状态和存储器状态六类对象,说明各自的实时监测方法与判据设计。
一、电压与电流监测
星务计算机的供电通常分为一次母线(如28V或42V)和若干二次电源轨(如+5V、+3.3V、+1.8V、+1.2V等)。电压监测的核心是把被测量缩放到ADC可接受范围。以3.3V电源轨为例,若ADC参考电压为2.5V,可采用R1=10kΩ、R2=20kΩ的分压网络,分压比k=R2/(R1+R2)=0.667,则3.3V对应ADC输入约2.2V,留出约12%的余量。ADC为12位时,LSB=2.5V/4096≈0.61mV,折算到被测量约为0.61mV/0.667≈0.92mV,足以分辨±1%的电压波动。
电流监测常用两种方式:一是串联采样电阻加差分放大,二是霍尔电流传感器。采样电阻方式响应快、成本低,但会引入压降和功耗。例如在1.8V数字核心供电支路串入10mΩ采样电阻,负载电流2A时压降为20mV、功耗40mW,对1.8V轨影响约1.1%,需在电源设计中确认可接受。差分放大增益取50,则2A对应1V输出,可直接送ADC。监测时应对电压和电流同时设置两级阈值:一级为告警阈值(如标称值±5%),二级为保护阈值(如±10%),前者只上报遥测,后者触发负载切除或复位。
二、温度监测
星务计算机的温度监测点一般布置在CPU/FPGA芯片表面、电源模块、DDR存储器和机壳基准点。常用器件包括铂电阻(Pt100/Pt1000)、热敏电阻和数字温度传感器(如DS18B20类)。铂电阻线性度好,适合宽温区;热敏电阻灵敏度高但非线性明显,需要查表或Steinhart-Hart公式换算。以Pt1000为例,0℃时阻值1000Ω,温度系数约3.85Ω/℃,配合恒流源1mA激励,0℃输出1V,100℃输出约1.385V,可直接由ADC采集。
温度监测的关键是采样位置与热时间常数匹配。芯片结温变化快,机壳温度变化慢,若用机壳温度判断芯片过热会明显滞后。工程上常采用“结温估算”方法:Tj=Ta+P×Rθja,其中Ta为附近传感器温度,P为芯片功耗,Rθja为热阻。例如某FPGA功耗3W、Rθja=8℃/W,环境温度45℃时结温约69℃,若结温上限为105℃,则还有36℃余量。监测软件应同时记录温度变化率,短时间内快速上升往往比绝对温度更能提前暴露异常。
三、时钟监测
时钟是星务计算机的“心跳”,时钟异常会导致指令错乱、总线失步甚至整机死机。实时监测通常包括频率偏差、时钟丢失和看门狗三部分。频率偏差可用“参考时钟计数法”:以高精度参考时钟(如温补晶振或GPS秒脉冲)为基准,在固定闸门时间T内统计被测时钟边沿数N,则f=N/T。例如闸门1s、被测标称16MHz,若计数值为15999840,则偏差为-10ppm,属于正常范围;若偏差超过±50ppm,应告警。
时钟丢失检测可用边沿超时计数器:每检测到一个时钟边沿就清零计数器,若计数器超过设定阈值(如对应10个标称周期)仍未清零,则判定时钟丢失。看门狗则采用独立低速时钟驱动,软件必须在喂狗窗口内写入特定序列,否则看门狗溢出触发复位。三者结合,可覆盖时钟停振、频率漂移和软件跑飞三类故障。
四、总线状态监测
星务计算机常用1553B、CAN或SpaceWire总线。总线状态监测主要采集协议控制器内部的状态寄存器和错误计数器,包括:消息错误、奇偶错误、超时、总线A/B通道切换次数、重试次数等。以1553B为例,BC端可周期读取RT状态字中的“服务请求”“忙”“子系统标志”等位,并统计每个RT的响应超时次数。若某RT连续3个周期无响应,可判定该RT通信故障,触发通道切换或降级使用。
CAN总线则重点监测错误计数器TEC/REC。当TEC超过127时进入错误被动状态,超过255时进入总线关闭状态。监测软件应记录TEC/REC变化趋势,在接近阈值前提前告警,而不是等到总线关闭才处理。总线负载率也是重要指标,可通过单位时间内帧数与总线速率估算,负载率长期高于70%时应考虑调整通信调度。
五、存储器状态监测
存储器监测分为SRAM、Flash和EEPROM三类。SRAM易受单粒子翻转影响,常用EDAC(纠错码)电路实时检测和纠正。以SECDED码为例,可纠正1位错误、检测2位错误。监测软件应周期读取EDAC状态寄存器,统计单比特错误(SBE)和双比特错误(DBE)计数。SBE计数缓慢增长属正常空间环境效应,可通过回写刷新清除;若DBE出现或SBE在短时间内激增,则说明该存储区可能已发生硬故障,应隔离该页并切换备份区。
Flash和EEPROM的监测重点是擦写次数、校验和与回读比对。可在每次上电自检时对关键代码区计算CRC32,与存储的基准值比较;运行中周期对关键参数区做回读校验。例如某参数区长度4KB,CRC32基准值为0x8A3F21C7,若回读计算值不一致,则判定该区数据损坏,从备份区恢复并记录故障。擦写次数可通过维护计数器跟踪,接近器件额定值(如10万次)时提前预警。
六、监测数据的组织与判读
六类参数最终要组织成统一的遥测帧。一种实用的组织方式是按“参数编号—原始码值—工程值—状态字—时标”五元组打包。状态字用2位表示:00正常、01注意、10告警、11故障。地面判读时先看状态字,再看工程值趋势,最后结合多参数相关性定位故障。例如某电源轨电压下降同时电流上升,可能是负载短路;电压下降且电流下降,则可能是供电源本身故障。通过这种交叉判读,可以把单点监测提升为系统级健康评估。
| 监测对象 | 典型采样周期 | 一级告警阈值(示例) | 二级保护阈值(示例) | 主要判据 |
|---|---|---|---|---|
| 3.3V电源轨 | 10Hz | ±5% | ±10% | 电压越限、变化率 |
| 核心电流 | 10Hz | 标称+20% | 标称+40% | 过流、短路 |
| FPGA结温 | 1Hz | 85℃ | 105℃ | 结温估算、温升率 |
| 系统时钟 | 1s闸门 | ±30ppm | ±50ppm或丢失 | 频率偏差、边沿超时 |
| 1553B总线 | 协议周期 | 单次超时 | 连续3次超时 | 状态字、重试次数 |
| SRAM EDAC | 每帧 | SBE≥1 | DBE≥1 | 纠错计数、地址分布 |
| Flash CRC | 10s或每轨 | 校验不一致 | 连续2次不一致 | CRC32比对、回读 |
实际工程中,阈值不能照搬表格,而应结合器件手册、热真空试验数据和在轨基线确定。监测软件还应具备阈值上注修改能力,以便根据在轨表现动态调整。只有把“采得到、算得准、判得对、传得下”四个环节都做扎实,关键参数监测才能真正支撑星务计算机的健康管理与故障处置。