HR8P506 的双MCU 热备份切换逻辑电路设计(二)
扫描二维码
随时随地手机看文章
引言
在实际应用中,经常会遇到对系统可靠性要求极高的场合,通常采用的方法是双机热备份。在上一篇文章中,我们介绍了双机热备方案的检测硬件和检测控制软件。这里我们介绍一下输出控制逻辑。
基本电路:
输出控制部分我们有两种方案,下面分别做介绍,在介绍前,先介绍一个基本输出电路,如图 1 所示:
图 1:基本输出电路
图 1 是一个简单的继电器控制电路,不过与常规的电路不同之处在于电路中增加了一个电容 C1。增加 C1 起什么作用?
图 1 电路中,由于电容 C1 对直流的阻隔,无论 RELAY1 是高电平还是低电平,后面的控制输出电路
N1 都不会动作。
为了让 N1 动作,就必须给 C1 加脉冲信号,脉冲信号通过 C1 耦合到 N1 上,N1 就会动作。这个电路的优点是,当 MCU 出现异常时,不能提供交流信号输入,控制输出端电路是不会动作的。
电容 C1 的作用就是隔离直流信号并耦合交流信号。
控制逻辑方案 1:
介绍完这个基本电路,我们再介绍双机热备控制部分的逻辑电路,我们的双机热备控制逻辑方案 1 如
图 2 所示:
图 2:双机热备控制逻辑方案 1
图 2 中,两个单片机的信号都通过电容隔离后连到驱动电路上,这样当一个 MCU 异常后,另外一个
MCU 可以非常方便的接管控制,甚至可以两个 MCU 同时输出控制。这是最简单有效的输出控制逻辑电路。
控制逻辑方案 2:
在有些应用中,控制脉冲信号可能是定时器产生的,这种情况下,如果 MCU 出现异常,定时器存在继续工作的可能,此时输出部分电路会出现异常,为了解决这个问题,我们设计了方案 2,把心跳信号加入控制逻辑。图 3 是这种方案的原理。当然,我们并不建议采用定时器来输出脉冲信号。
图 3:双机热备控制逻辑方案 2
方案 2 中,把心跳信号加入到控制逻辑中,当心跳信号正常时,由于心跳信号的存在,会不断的给 C10
充电,从而 UB 时钟输出低电平,UC 的输出就仅仅与 RELAY1 的输出有关。
当心跳信号消失后,由于 C10 不会被充电,UB 就会输出高电平,从而 UC 会被强制输出固定的高电平,此时 RELAY1 的信号就不起作用了。
后记:
这个应用最基本的方面就是增加了一个隔离驱动电容,这种方法适用于很多应用,大家可以举一反三。或者也会有其他更好的方法和思路,欢迎交流探讨。