3. 双通道架构原理

双通道安全输入输出设计的核心,不是简单地把两个通道并排摆放,而是通过冗余、多样性、比较、表决和诊断五类机制,让系统在单点故障发生时仍能进入安全状态。理解这些机制之间的配合关系,是设计安全 I/O 模块、评估 SIL 等级和编写诊断程序的基础。

一、双通道冗余:从物理独立到逻辑独立

双通道冗余指用两套独立的采集或输出通路处理同一安全功能。冗余的第一要求是独立性:两个通道不能共用电源、参考地、时钟、ADC 基准或通信总线,否则共因故障会同时击穿两路。常见做法是每通道使用独立的隔离电源、独立的信号调理和独立的 MCU 或安全核。

冗余分为同构冗余与异构冗余。同构冗余两路硬件和软件完全相同,设计简单、成本低,但共因失效风险高;异构冗余两路采用不同厂商芯片、不同算法或不同编译工具,能显著降低共因失效,但开发和验证成本更高。在 SIL3 场景中,通常要求同构冗余加诊断,或直接采用异构冗余。

关键点:冗余不等于安全。若两通道共用同一根信号线或同一个电源轨,故障会同时传播,冗余度实际为零。设计时必须画出通道间的隔离边界,并逐项检查电源、地、时钟、总线和机械结构是否真正独立。

二、多样性与比较:让两路“互相监督”

多样性(Diversity)是降低共因失效的手段,包括硬件多样性、软件多样性和时间多样性。硬件多样性如一路用 MCU、一路用 FPGA;软件多样性如两路分别由不同团队用不同语言实现;时间多样性如两路错开采样时刻,避免同一干扰脉冲同时命中。

比较(Comparison)是双通道架构中最直接的诊断手段。两路各自计算安全输入值或输出回读值,然后由比较器判断差值是否超过容差。若超差,系统判定为“不一致故障”,立即进入安全状态。比较可以在 MCU 内部用软件完成,也可以由独立看门狗或安全继电器硬件完成。

比较的难点在于容差与时间窗口。容差过小会因噪声误触发,过大则漏检真实故障;时间窗口过短会因两路任务调度差异误报,过长则延长故障检测时间。工程上通常用滑动窗口和动态阈值,并结合信号变化率判断。

三、表决与诊断覆盖率

表决(Voting)用于三通道或更多通道架构,如 2oo3(三取二)表决:三个通道中任意两个一致即输出有效,第三个被隔离。双通道架构本身无法做多数表决,但可以配合“比较 + 诊断”实现等效安全:两路一致则输出,不一致则安全关断。

诊断覆盖率(DC)是衡量诊断机制能检出多少危险故障的比例。DC 越高,对硬件失效裕度(HFT)的要求越低,越容易达到高 SIL。诊断覆盖率通常分为低(60%)、中(90%)、高(99%)三档,对应不同的安全完整性等级。

机制作用典型实现对 SIL 的影响
冗余提供备用通路双电源、双 MCU、双隔离提高 HFT,支撑 SIL2/3
多样性降低共因失效异构芯片、异构软件降低 CCF,提升可信度
比较检测不一致差值容差、回读比对提高 DC,缩短检测时间
表决屏蔽单路错误2oo3、2oo2D提高可用性与安全性
诊断主动检测故障自检、看门狗、RAM/ROM 测试直接决定 DC 与 SIL

四、安全完整性等级与参数关系

安全完整性等级(SIL)由 PFDavg(要求时平均失效概率)或 PFH(每小时危险失效概率)决定。SIL2 要求 PFDavg 在 10-3~10-2,SIL3 要求 10-4~10-3。要达到 SIL3,通常需要 HFT=1 且 DC 达到 90% 以上,或 HFT=2 且 DC 达到 60% 以上。

双通道架构中,两个通道的失效率、共因失效因子 β、诊断覆盖率和修复时间共同决定最终 SIL。若 β 过大,即使硬件冗余度很高,PFDavg 也无法降到 SIL3 区间。因此,多样性设计和共因失效分析(CCF)评分是 SIL 验证的关键步骤。

双通道 PFD_avg 简化估算:
PFD_avg ≈ (λ_DU × t_CE)² / 3 + β × λ_DU × t_CE
其中:
  λ_DU  = 单通道危险未检出失效率
  t_CE  = 通道等效停机时间(含诊断周期与修复时间)
  β     = 共因失效因子(0~1,越小越好)

示例:
  λ_DU = 5×10⁻⁷ /h,t_CE = 8760 h,β = 0.02
  第一项 ≈ (5×10⁻⁷ × 8760)² / 3 ≈ 6.4×10⁻⁶
  第二项 ≈ 0.02 × 5×10⁻⁷ × 8760 ≈ 8.8×10⁻⁵
  PFD_avg ≈ 9.4×10⁻⁵ → 接近 SIL3 下限

五、典型场景:双通道安全输入模块

以双通道安全输入模块为例:现场信号经两路独立隔离进入两个安全 MCU,各自完成滤波、量程变换和阈值判断;两路结果通过隔离 SPI 送入比较逻辑。若差值在容差内,输出有效并刷新看门狗;若超差,比较逻辑拉低安全输出,同时记录故障码。两路 MCU 周期性地互发心跳和测试脉冲,检测对方是否死机或程序跑飞。

该架构中,冗余提供物理备份,比较提供实时诊断,看门狗提供时间维度诊断,多样性(如一路用查表、一路用多项式)降低共因失效。最终 DC 可达 90% 以上,配合 HFT=1,可支撑 SIL3 应用。

设计建议:先确定目标 SIL,再反推所需 HFT 和 DC;然后选择冗余与多样性方案,最后用 FMEA 和 CCF 评分验证。不要先堆硬件再补诊断,否则容易出现“冗余很高但 DC 很低”的无效设计。

六、常见误区与复盘

  • 误区一:两路都工作就是冗余。若两路共用电源或参考地,共因故障会同时失效,冗余无效。
  • 误区二:比较器越灵敏越好。容差过小会因噪声和调度抖动频繁误触发,降低可用性。
  • 误区三:诊断覆盖率越高越好。高 DC 需要更多测试时间和硬件资源,可能挤占安全响应时间,需权衡。
  • 误区四:忽略共因失效因子 β。β 不达标时,再高的冗余也无法进入 SIL3。
  • 复盘要点:检查隔离边界、比较容差、诊断周期、看门狗喂狗逻辑和故障注入测试记录,确认每项机制都有可验证的证据。
双通道安全输入架构:冗余 · 比较 · 诊断 · 表决 现场信号 4-20mA / 干接点 通道 A 隔离电源 A · 信号调理 A 安全 MCU A(查表算法) 自检 · 看门狗 A 通道 B 隔离电源 B · 信号调理 B 安全 MCU B(多项式算法) 自检 · 看门狗 B 隔离边界 比较 / 表决逻辑 差值容差判断 心跳互检 2oo2D 等效表决 故障码记录 安全输出 一致 → 有效 不一致 → 关断 诊断覆盖率 DC 与 SIL 关系 DC ≥ 90% + HFT=1 → 可支撑 SIL3 DC ≥ 60% + HFT=2 → 可支撑 SIL3 共因失效(CCF)风险点 共用电源 / 参考地 / 时钟 / 总线 / 机械结构 β 过大时,冗余无法提升 SIL 多样性 异构芯片 / 算法

综上,双通道架构的安全能力来自“冗余提供备份、多样性降低共因、比较实现诊断、表决屏蔽错误、诊断覆盖率决定 SIL”这一完整链条。设计时应先明确目标 SIL,再逐项配置 HFT、DC 和 β,最后用故障注入和 FMEA 验证每一条诊断路径都真实有效。