首页 理论教育双机冗余电路设计-现场总线应用技术

双机冗余电路设计-现场总线应用技术

【摘要】:在对方控制卡出现故障时,一方控制卡必须能够及时发现,并接管对方的工作,同时还要向上位机报告故障情况。双机冗余电路包括上电竞争电路和状态监测电路。状态监测电路由两个D触发器实现,利用D触发器的状态转换机制可有效地完成两个控制卡间的状态监测。

为增加系统的可靠性,控制卡采用冗余配置,并工作于主从模式的热备状态。两个控制卡具有完全相同的软硬件配置,上电时同时运行,并且一个作为主控制卡,一个作为从控制卡。主控制卡可以对测控板卡发送通信命令,并接收测控板卡的回送数据;而从控制卡处于只接收状态,不得对测控板卡发送通信命令。

在工作过程中,两个控制卡互为热备。一方控制卡除了执行自身的功能外,还要监测对方控制卡的工作状态。在对方控制卡出现故障时,一方控制卡必须能够及时发现,并接管对方的工作,同时还要向上位机报告故障情况。当主控制卡出现故障时,从控制卡会自动进行工作模式切换,成为主控制卡,接管主控制卡的工作并控制整个系统的运行,从而保证整个控制系统连续不间断地工作。当从控制卡出现故障时,主控制卡会监测到从控制卡的故障并向上位机报告这一情况。当故障控制卡修复后,可以重新加入整个控制系统,并作为从控制卡与仍运行的主控制卡再次构成双机热备系统。

双机冗余电路包括上电竞争电路和状态监测电路。上电竞争电路用于完成控制卡的主从身份竞争与确定。状态监测电路用于主从控制卡间的工作状态监测,主要是故障及故障恢复情况的识别。控制卡的双机冗余电路如图11-11所示。

978-7-111-55649-7-Chapter11-13.jpg

图11-11 控制卡的双机冗余电路

上电竞争电路部分由两个与非门(每个控制卡各提供一个与非门)构成的基本RS触发器实现,利用此RS触发器在正常工作(两个输入端IN1和IN2不能同时为0)时具有互补输出0和1的工作特性实现上电时两个控制卡的主从身份竞争与确定。输出端(OUT1、OUT2)为1的控制卡将作为主控制卡运行,输出端为0的控制卡将作为从控制卡运行。(www.chuimin.cn)

上电竞争电路除了要实现两个控制卡的主从竞争外,还要考虑到单个控制卡上电运行的情况,要求单个控制卡上电运行时作为主控制卡。如果要通过软件实现,可以让上电运行的单一控制卡在监测到冗余控制卡不存在时再切换为主控制卡;如果通过硬件实现,要求单个控制卡上电运行时强制该控制卡上的RS触发器的输出端为1,即该控制卡上的与非门的输出端为1。根据与非门的工作机制,只需使两个输入端中的任意一个输入0即可。图11-11中下拉电阻R1R2正是为满足这一要求而设计的。这种通过硬件来保证单一控制卡上电运行时作为主控制卡的方式显然要比先监测后切换的软件方式要快要好。

处于热备状态的两个控制卡必须要不断地监测对方控制卡的工作状态,以确保能够及时发现对方控制卡的故障,并对故障做出处理。常用的故障检测技术是心跳检测,心跳检测技术的引入可有效提高系统的故障容错能力。通过心跳检测可有效地判断对方控制卡是否出现死机,及死机后是否重启等情况。

心跳检测线一般采用串口线或以太网,采用通信线的心跳检测存在心跳线本身出现故障的可能,在心跳检测时也需要将其考虑在内。有时为了可靠地判断是否是心跳线出现故障会对心跳线做冗余处理,这在一定程度上增加了系统的复杂度。在本控制卡的设计中,采用的是可靠的硬连接方式,两个控制卡间通过背板PCB上的连线连接,连接更加可靠。在保证状态监测电路可靠工作的同时也不会增加系统的复杂度。

状态监测电路由两个D触发器实现,利用D触发器的状态转换机制可有效地完成两个控制卡间的状态监测。

具体工作过程如下:控制卡上的微控制器定期在PA8引脚上输出一个上升沿,就可以使本控制卡上的D触发器因为/RD引脚上的一个低电平而使输出端Q为0,同时使对方控制卡上的D触发器因为CLK引脚上的一个上升沿而使输出端Q为1(因为每个D触发器的D端接高电平,CLK引脚上的上升沿使输出端Q=D=1)。这一操作类似于心跳检测中的发送心跳信号的过程。在此操作之前,要检测本控制卡上的D触发器的输出端状态,如果输出端Q为1,则说明接收到对方控制卡发送来的心跳信号,判定对方控制卡工作正常;如果输出端Q为0,则说明没有接收到对方控制卡发送的心跳信号,判定对方控制卡故障。