您现在的位置: 主页 > MCU > 单片机应用 > 基于 HR8P506 的双 MCU 热备份电源切换检测要点 -
本文所属标签:
为本文创立个标签吧:

基于 HR8P506 的双 MCU 热备份电源切换检测要点 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-08 

[导读]在实际的系统应用中,我们经常会遇到对系统可靠性要求极高的场合,通常采用的解决办法就是双机热备份。

引言

本文引用地址: http://www.21ic.com/app/mcu/201807/804853.htm

在实际的系统应用中,我们经常会遇到对系统可靠性要求极高的场合,通常采用的解决办法就是双机热备份。

原理:

在一个应用中,我们需要对多路电源进行切换控制,因为系统不允许掉电,所以对该切换控制的要求非常高。为了解决该问题,我们采取了双 MCU 热备份的方案。图 1 是这个小系统的部分原理图。

图 1:双 MCU 热备份原理图

图 1:双 MCU 热备份原理图

原理说明:

1、图 1 中,我们使用了两颗 32 脚的 HR8P506FHLK 芯片。考虑到应用中还需处理一些较复杂的信号,故选用这颗 32 位的 CORTEX M0 内核的 MCU。

2、使用比较器对多路电源进行检测,比较器的输出端连接到 MCU 的外中断口上,通过外部中断检测比较器输出端的电平变化,这个原理比较简单,容易理解。

在实际应用中,多路检测部分有一个需注意的关键点:比较器产生的信号,分离成两路,分别送到两个 MCU, 这四路信号必须分别经过电阻隔离才能接入 MCU 输入端口,即图 1 中的隔离电阻 R1、R7、R16、R17。

3、两颗 MCU 的切换检测控制是通过一组 UART 口和一个普通 IO 口实现的,如图 1 中的 TXD1、RXD1和 PA23。

双机切换检测控制方法:

该如何裁定两片 MCU 中的哪一片当前应该工作?秘诀在于使用了一组 UART 口和一个普通 IO 口。两个 MCU 一个工作于主模式,一个工作于辅助模式。

当系统正常时,工作于主模式的 MCU 承担检测和控制工作。但此时工作于辅助模式的 MCU 也同时在检测输入信号,并且做好了输出控制的准备,只是最后的输出并没有执行。

运行时,主模式的 MCU 会与辅助模式的 MCU 进行数据交换,交换内容至少包括:对输入信号的检测结果、输出控制变量值、相关的运算结果等等。

这样,两个 MCU 的信息会始终保持一致。

图 2:MCU 交换信息的方式

正常运行时,除了有 UART 口的信息交换外,还有一个单独的 IO 口互连,这个 IO 口的作用是输出心跳信号,主模式的 MCU 运行时,会定时输出心跳信号,副模式的 MCU 会检测这个信号。

心跳信号的输出程序和检测程序分别如下:

3.jpg

图 3:心跳信号产生的程序

4.jpg

图 4:心跳信号检测的程序

当 UART 口通讯中断时,这个心跳信号的输出也会有相应的变化,此时辅助模式 MCU 会检测这个口的信号状态变化,以确定主模式 MCU 是否正常工作,这个检测过程 20ms 时间内完成。

如果辅助模式 MCU 确定主 MCU 有异常,则接管检测和控制工作,并且会告知用户。

问题:

1)这样的方式在实际应用中,会不会出现误判?

当然会,即使我们采取再多的方法,误判也无法避免。

2)如果出现误判是不是会导致控制逻辑混乱呢?

当然不会,因为输出控制电路还有一套逻辑来保证系统工作的可靠性。

后记:

在实际应用中,输出控制电路的逻辑是如何处理的呢,这个问题留待下一次详细解释。为了提高系统可靠性和安全性,会有其他更好的方法和思路,欢迎交流探讨。



              查看评论 回复



嵌入式交流网主页 > MCU > 单片机应用 > 基于 HR8P506 的双 MCU 热备份电源切换检测要点 -
 

"基于 HR8P506 的双 MCU 热备份电源切换检测要点 -"的相关文章

网站地图

围观()