冗余架构基础:主备模式、双机热备、三模冗余(TMR)、N模冗余架构对比
聊到飞控冗余设计,绕不开的就是架构选型。我见过不少团队,一上来就拍脑袋说「我们要做三模冗余」,结果成本翻了三倍,可靠性却没提上去多少。说白了,冗余不是堆硬件,而是找对路子。
今天我把四种主流架构掰开揉碎讲清楚。每种架构我都亲手调过、踩过坑,希望能帮你少走弯路。
1. 主备模式(Active-Standby)
这是最朴素的冗余方式。一台主节点干活,一台备节点待命。主节点挂了,备节点顶上。
工作流程:
- 主节点正常运行,输出控制信号
- 备节点持续监听主节点的心跳
- 心跳丢失,备节点接管控制权
核心指标:切换时间通常在 50ms~200ms 之间。我做过一个项目,切换时间要求 20ms 以内,最后不得不用硬件看门狗+FPGA 来实现。
优点:
- 结构简单,成本低
- 功耗控制好(备节点可降频运行)
缺点:
- 切换期间存在控制中断
- 备节点长期不工作,可能「睡死」
我的经验:主备模式适合对成本敏感、允许短暂中断的场景。比如农业无人机,掉几秒控制问题不大。但你要是做载人飞行器,这方案我劝你慎重。
2. 双机热备(Active-Active / Hot-Standby)
双机热备和主备模式最大的区别在于:两台机器同时运行,输出结果实时比对。
工作流程:
- 两个节点同时接收传感器数据
- 各自独立解算控制律
- 输出结果通过交叉通道比对
- 不一致时触发故障处理
为什么会这样设计?因为主备模式有个致命问题——备节点可能已经坏了,但你不知道。双机热备让两台机器互相监督,谁也别想偷懒。
注意:双机热备需要解决「脑裂」问题。两台机器都认为对方挂了,各自独立输出控制信号,那飞机就等着解体吧。我当年在某个项目中就遇到过,最后加了第三路仲裁通道才搞定。
优点:
- 切换时间极短(< 10ms)
- 故障检测率高
缺点:
- 功耗翻倍
- 需要额外的仲裁逻辑
3. 三模冗余(TMR)
TMR 是航空级飞控的标配。三个通道同时运行,输出结果三取二投票。
核心逻辑:
// 三取二投票伪代码
if (out1 == out2 || out1 == out3) {
final_out = out1;
} else if (out2 == out3) {
final_out = out2;
} else {
// 三个都不一致,进入安全模式
trigger_failsafe();
}
嗯,这里要注意:投票不是简单的数值相等。浮点数比较要设阈值,我习惯用 5% 的容差窗口。
优点:
- 单点故障不影响系统
- 可容忍一个通道失效
缺点:
- 成本是单系统的 3 倍以上
- 共因失效风险(三个通道用同一款传感器,一个批次全坏)
避坑指南:我曾经在一个项目中,三个通道用的都是同一批 IMU。结果温度冲击测试时,三个 IMU 同时漂移,投票结果一致但全是错的。从那以后,我坚持 TMR 必须用异构传感器——不同型号、不同厂商、甚至不同原理。
4. N模冗余
N模冗余是 TMR 的泛化版本。N 个通道,K 个通过投票(N 选 K)。
常见配置:
| 配置 | 可容忍故障数 | 典型场景 |
|---|---|---|
| 3 选 2 | 1 | 中小型无人机 |
| 4 选 2 | 2 | 载人飞行器 |
| 5 选 3 | 2 | 航天级 |
你想想看,N 越大,容错能力越强,但代价是指数级上升的。4 选 2 比 3 选 2 多了一个通道,但投票逻辑复杂了不止一倍。
我的建议:不要盲目追求高 N 值。对于大多数工业级无人机,3 选 2 已经足够。再往上加,边际效益递减明显。
架构对比总览
我把四种架构的核心参数整理成了一张表,方便你快速对比:
| 特性 | 主备模式 | 双机热备 | TMR | N模冗余 |
|---|---|---|---|---|
| 切换时间 | 50~200ms | < 10ms | 无切换(持续投票) | 无切换 |
| 成本倍数 | 1.5x | 2x | 3x | Nx |
| 故障检测 | 被动 | 主动比对 | 投票自检 | 投票自检 |
| 脑裂风险 | 低 | 高 | 低 | 低 |
| 适用等级 | 消费级 | 工业级 | 航空级 | 航天级 |
架构选型决策树
我习惯用一张图来帮团队做决策。下面这个 SVG 是我自己画的,你可以直接拿去用:
我的选型建议
做了这么多年飞控,我总结了一条原则:冗余不是越多越好,够用就好。
- 预算有限、允许短暂中断 → 主备模式。我早期做植保无人机就用这个,成本控制得很好。
- 需要高可用、但成本敏感 → 双机热备。注意一定要解决脑裂问题,加个硬件仲裁器最稳妥。
- 安全关键系统 → TMR。异构设计是必须的,别省这个钱。
- 航天级 → N模冗余。但说实话,我接触过的航天项目,4 选 2 已经顶天了,5 选 3 极少见。
最后提醒一句:无论选哪种架构,都要做故障注入测试。我曾经见过一个双机热备系统,平时跑得好好的,一注入故障就死机。原因?备节点的看门狗没配置对。这种低级错误,测试才能发现。
公众号:蓝海资料掘金营,微信deep3321