3. 冗余切换的触发机制与判据设计
冗余切换的触发机制,是星务系统从“主份正常工作”进入“备份接管”的入口逻辑。它要回答三个问题:用什么信号判断主份是否失效、达到什么条件才允许切换、在什么时间窗口内完成切换。这三者分别对应检测手段、判据阈值和时序约束。设计不当,轻则频繁误切换,重则主份已失效而备份迟迟不接管,导致整星任务中断。
一、四类基本检测手段
心跳检测是最常用的活性判据。主份周期性地向备份或监控单元发送心跳报文,内容通常包含递增的序列号、时间戳和当前工作模式。备份侧维护一个“最后心跳到达时刻”,若超过设定周期未收到,则判定心跳超时。心跳的关键参数是发送周期 Thb 与超时门限 N×Thb。例如 Thb=100 ms,连续 3 个周期未收到即超时,则检测延迟约为 300 ms。心跳只能证明“软件还在跑”,不能证明“输出还正确”,因此它通常作为第一层快速判据。
看门狗解决的是“程序跑飞或死锁”问题。主份软件必须在规定时间内“喂狗”,否则硬件看门狗溢出并产生复位或切换信号。看门狗与心跳的区别在于:心跳是主份主动对外声明活性,看门狗是外部电路对主份的被动监督。工程上常采用“窗口看门狗”,既不允许喂得太晚,也不允许喂得太早——喂得太早说明程序可能跳过了关键任务段,同样视为异常。
健康状态字是更细粒度的判据来源。主份周期性采集自身关键健康项,如 CPU 占用率、内存余量、总线误码率、电源电压、温度、关键任务执行计数等,将其编码为一个状态字上报。备份侧不只看“有没有心跳”,还看状态字中的各标志位是否越界。状态字的价值在于它能在主份尚未完全死机、但性能已严重退化时提前暴露风险。
故障阈值则是把上述连续量转化为布尔判据的边界。阈值可以是固定值,也可以是带迟滞的双门限。例如总线误码率正常应低于 1×10⁻⁶,当连续 5 个统计周期超过 1×10⁻⁵ 时置故障位;恢复时需低于 5×10⁻⁶ 才清故障位。迟滞区间避免了在阈值附近反复抖动导致状态位频繁翻转。
二、判据设计:从单点到组合
单一判据很难同时满足低误报和低漏报。工程上普遍采用“组合判据”:快速判据负责及时性,慢速判据负责准确性。典型组合是“心跳超时 OR 看门狗溢出”作为快速触发,再叠加“健康状态字连续越界”或“输出比对不一致”作为确认条件。只有当快速判据成立且确认条件在 Tconfirm 内持续满足,才真正置切换请求。
连续计数 K 是抑制误报的核心参数。若单次心跳丢失概率为 p,则连续 K 次丢失的概率约为 pK。例如 p=0.01、K=3,误触发概率降到约 1×10⁻⁶ 量级。但 K 增大会拉长确认时间,因此 K 的选取必须与任务允许的中断时间 Tmission 联合确定。
多源表决适用于有多个敏感器或计算通道的场景。例如姿态确定同时由星敏感器、陀螺和太阳敏感器提供,若三路中两路一致、一路偏离,则偏离路判为故障;若三路互不一致,则不能简单切换,而应进入安全模式并等待地面指令。表决把“单点异常”和“系统性故障”区分开来,避免因一个错误信号引发不必要的切换。
三、触发时序约束
切换能否成功,取决于时间账是否算得过来。设检测延迟为 Tdetect,确认窗口为 Tconfirm,切换执行时间为 Tswitch,则从故障发生到备份稳定输出,总延迟为:
T_total = T_detect + T_confirm + T_switch
约束条件:T_total ≤ T_mission
其中 T_mission 为任务允许的最大中断时间
以某星务任务为例(示例参数,非实测):Thb=100 ms,N=3,则 Tdetect≈300 ms;K=2,Tconfirm=200 ms;Tswitch=150 ms。则 Ttotal=650 ms。若任务要求中断不超过 1 s,则满足约束;若要求不超过 500 ms,则必须压缩 N 或 K,或改用更快的看门狗通道。
时序设计还要注意切换窗口与任务周期的对齐。若主份在控制周期中途失效,备份接管时可能拿到半更新的控制量。稳妥做法是让备份在接管后的第一个完整周期内先输出安全值,再逐步恢复闭环,避免输出跳变冲击执行机构。
四、可执行的判据配置示例
下面给出一份可直接参考的判据配置表(示例参数,需按实际任务调整):
| 判据项 | 检测量 | 触发条件 | 确认条件 | 恢复条件 |
|---|---|---|---|---|
| 心跳超时 | 心跳序列号 | 连续 3 周期未更新 | 持续 200 ms | 连续 5 周期正常 |
| 看门狗 | 喂狗脉冲 | 窗口内无喂狗 | 硬件直接置位 | 复位后重新计数 |
| 健康状态字 | CPU/内存/误码率 | 任一项越故障门限 | 连续 5 次越界 | 低于恢复门限 3 次 |
| 输出比对 | 主备输出差值 | 差值 > 允许带 | 连续 3 周期 | 差值回到带内 5 周期 |
综上,触发机制与判据设计的核心,是把检测手段、阈值逻辑和时序约束作为一个整体来权衡。检测手段决定“能不能发现”,阈值逻辑决定“该不该切换”,时序约束决定“来不来得及切换”。三者缺一,冗余就只是纸面上的备份。