3. 硬件冗余技术(上):静态冗余、动态冗余与混合冗余

各位同学,今天我们来聊聊硬件冗余。这是抗辐照芯片设计里最“硬核”的一招——说白了,就是用更多的硬件,换更高的可靠性。

我刚开始做抗辐照芯片那会儿,总觉得冗余就是“多复制几份”。后来踩过坑才明白,冗余不是简单的堆料,而是一套精密的容错架构设计。你想想看,如果只是复制,那表决器坏了怎么办?冗余模块之间怎么同步?这些都是学问。

3.1 静态冗余:三模冗余(TMR)

静态冗余里最经典的,就是三模冗余(Triple Modular Redundancy, TMR)。它的思路很简单:三个相同的模块同时运行,然后通过一个多数表决器输出结果。

核心思想:三个模块中只要有两个以上输出一致,就认为这个结果是正确的。

我在项目中遇到过这样一个场景:一个关键的控制状态机,单份运行的时候,每1000小时就会因为单粒子翻转(SEU)出一次错。用了TMR之后,这个概率降到了百万分之一以下。代价呢?面积和功耗增加了3倍以上。

TMR的典型结构:

模块A ——\
模块B ——> 多数表决器 ——> 输出
模块C ——/

嗯,这里要注意:TMR并不是万能的。如果两个模块同时出错,表决器就会输出错误结果。这在空间环境中虽然概率低,但并非不可能。所以有些场景下,我们需要更“狠”的方案。

3.2 五模冗余(5MR)

五模冗余,就是五个模块并行,表决器采用“至少三个一致”的规则。它的容错能力更强——可以容忍两个模块同时出错。

我个人习惯在以下场景使用5MR:

  • 任务关键度极高(比如卫星的姿控计算机)
  • 辐照环境特别恶劣(比如木星轨道)
  • 维修成本极高(比如深空探测器)

避坑指南:我曾经在一个项目中,为了追求极致可靠性,把所有模块都做成了5MR。结果芯片面积爆炸,功耗超标,最后不得不降级为TMR+看门狗的组合。所以,冗余度不是越高越好,要权衡面积、功耗和可靠性。

3.3 动态冗余:双机热备与冷备

动态冗余和静态冗余最大的区别在于:静态冗余是“一直冗余”,动态冗余是“出错了才切换”。

双机热备

两个模块同时运行,但只有主模块输出。备用模块实时同步状态。一旦主模块出错,备用模块立即接管。

我建议在以下场景使用热备:

  • 切换时间要求极短(微秒级)
  • 系统不能中断运行
  • 有足够的功耗预算

双机冷备

只有主模块运行,备用模块不上电或处于休眠状态。主模块出错后,备用模块才启动。

冷备的优点是功耗低,缺点是切换时间长(可能需要毫秒甚至秒级)。我在低功耗卫星载荷设计中经常用冷备——毕竟省电就是省钱。

注意:冷备有一个坑——备用模块长期不上电,上电瞬间可能因为老化效应或温度变化导致参数漂移。我曾经遇到过冷备模块启动后直接“死机”的情况,后来加了上电自检流程才解决。

3.4 混合冗余:N模混合冗余

混合冗余就是把静态冗余和动态冗余结合起来。比如:

  • 平时用TMR运行,保证高可靠性
  • 当检测到某个模块永久失效时,动态切换到双模冗余+备用模块

这种架构的优点是灵活,缺点是控制逻辑复杂。我个人习惯在大型SoC设计中采用混合冗余——关键路径用TMR,非关键路径用双机热备,外围接口用冷备。

3.5 表决器设计

表决器是冗余架构的核心。没有好的表决器,冗余就是摆设。

多数表决

最简单的表决方式:输出多数模块一致的结果。适用于TMR和5MR。

// 三模多数表决器(Verilog示例)
module majority_voter_3(
    input [7:0] a, b, c,
    output reg [7:0] out
);
    always @(*) begin
        if (a == b)
            out = a;
        else if (a == c)
            out = a;
        else if (b == c)
            out = b;
        else
            out = a; // 默认输出,实际应触发错误标志
    end
endmodule

中值表决

适用于模拟信号或连续值。取所有输入的中间值作为输出。我在ADC数据通路中常用中值表决——它能有效滤除单次的大幅度毛刺。

加权表决

给每个模块分配不同的权重。比如,主模块权重0.5,两个备份模块各0.25。适用于模块可靠性不同的场景。

经验之谈:我曾经在一个项目中,三个模块的工艺角不同(TT、SS、FF),直接用多数表决反而容易出错。后来改用加权表决,根据每个模块的工艺角特性分配权重,可靠性提升了30%以上。

3.6 知识体系总览

下面这张图总结了本章的核心内容:

硬件冗余技术体系 静态冗余 动态冗余 混合冗余 三模冗余(TMR) 五模冗余(5MR) 双机热备 双机冷备 N模混合冗余 表决器设计 多数表决 中值表决 加权表决 典型应用场景 卫星姿控计算机 | 深空探测器 | 核电站控制系统 | 航空电子系统 关键权衡:可靠性 vs 面积 vs 功耗 vs 切换时间 图:硬件冗余技术体系结构图

3.7 本章小结

硬件冗余是抗辐照芯片设计的基石。静态冗余(TMR、5MR)适合对切换时间不敏感的场景,动态冗余(热备、冷备)适合对功耗敏感的场景,混合冗余则是两者的折中。表决器设计是重中之重——多数表决简单可靠,中值表决适合模拟信号,加权表决适合模块可靠性不均的场景。

记住一句话:没有最好的冗余架构,只有最适合的冗余架构。下一章我们会深入讨论时间冗余和信息冗余,敬请期待。


公众号:蓝海资料掘金营,微信deep3321