CN104077205A - 一种基于多种外设的完全热备份告警设备及其调度方法 - Google Patents
一种基于多种外设的完全热备份告警设备及其调度方法 Download PDFInfo
- Publication number
- CN104077205A CN104077205A CN201310105723.3A CN201310105723A CN104077205A CN 104077205 A CN104077205 A CN 104077205A CN 201310105723 A CN201310105723 A CN 201310105723A CN 104077205 A CN104077205 A CN 104077205A
- Authority
- CN
- China
- Prior art keywords
- module
- alarm module
- cpu
- alarm
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Hardware Redundancy (AREA)
Abstract
本发明公开了一种基于多种外设的完全热备份告警设备及其调度方法,所述调度方法包括以下步骤:A.判断是否热启动;B.判断该模块是主模块还是备份模块;C.判断第二告警模块是否存在;D.根据步骤A、B、C中的判断结果,进行热备份控制初始化;E.IO交互控制CPU调度;F.输出外设调度;G.总线交互控制CPU调度。本发明在当前热备份设计的基础上,采用软硬件结合的设计,解决当一个模块瞬间异常既定为故障而进行一次切换最终造成资源浪费,在上一步的基础上,当两个模块均有故障时,协同整合出两个模块上的可用资源,进行最大程度的进行告警,提高告警任务可靠性。因此本发明的优点在于可靠性高。
Description
技术领域
本发明涉及一种用于监控机上各系统健康状态的告警模块,主要涉及一种基于多种外设的完全热备份告警设备及其调度方法。
背景技术
告警设备用于监控机上各系统的健康状态,驱动多个外设实时反馈当前飞机健康状态。考虑到设备故障的可能性,告警模块一般采用备份设计,即当一个模块故障或受到干扰等异常情况发生时,即切换到备份模块继续工作。
当前备份设计方式有两点尚需改进:当一个模块受到瞬间干扰而出现异常,即判断当前模块故障而切换至热备份模块,造成资源浪费;当两个模块均有不同程度的故障时,仍有单个模块进行告警,两个模块缺少协同工作,没有协调整合出两个模块上的可用资源,进行最大程度的告警。
发明内容
本发明的一个目的在于提供一种基于多种外设的完全热备份告警设备。
为了实现上述目的,本发明的技术方案如下:一种基于多种外设的完全热备份告警设备,包括第一告警模块和第二告警模块,第一告警模块和第二告警模块通过母线板连接,第一告警模块和第二告警模块均包括一CPU和与该CPU连接的CPLD,其特征在于第一告警模块和第二告警模块的CPU均设有与母线板连接的状态输入口,用于接收主模块或备份模块的状态输入,第一告警模块和第二告警模块的CPU还设有状态输出口和外设使能口,第一告警模块和第二告警模块的CPLD设有与自身告警模块CPU的状态输出口相连的状态输入口,第一告警模块和第二告警模块的CPLD均设有两组外设使能口,分别与第一告警模块和第二告警模块的CPU的外设使能口相连,CPLD根据状态输出口输出的模块状态来判断根据第一告警模块或第二告警模块的CPU的外设使能口输出的信号进行使能输出。
本发明的另一目的在于提供一种基于多种外设的完全热备份告警设备调度方法。
为了实现上述目的,本发明的技术方案如下:一种基于多种外设的完全热备份告警设备调度方法,其特征在于对于第一告警模块而言,该方法包括以下步骤:A、判断是否热启动;B、判断该模块是主模块还是备份模块; C、判断第二告警模块是否存在;D、根据步骤A、B、C中的判断结果,进行热备份控制初始化;E、IO交互控制CPU调度;F、输出外设调度;G、总线交互控制CPU调度。
步骤C具体为,如果是第一告警模块为主模块,设置第一主模块状态端和第二主模块状态端为输出端,第一备份模块状态端和第二备份模块状态端为输入端,接着设置第一主模块状态端为0,设置第二主模块状态端为1,然后判断是否第一备份模块状态端为0,且第二备份状态端为1,若在有效时间内判断结果为否,则认为第二告警模块不存在,若为是,则认为第二告警模块存在;如果第一告警模块是备份模块,则设置第一主模块状态端和第二主模块状态端为输入端,第一备份模块状态端和第二备份模块状态端为输出端,接着设置第一备份模块状态端为0,第二备份模块状态端为1,然后判断是否第一主模块状态端为0,且第二主模块状态端为1,若在有效时间内判断结果为否,则认为第二告警模块不存在,若为是,则认为第二告警模块存在。
步骤D具体为,判断第一告警模块为主模块还是备份模块,若第一告警模块为主模块,则判断是否主模块为热启并且第二告警模块存在,若是则第二告警模块的CPU输出有效,若否则第一告警模块的CPU输出有效;若第一告警模块为备份模块,则判断第二告警模块是否存在,若是则第二告警模块的CPU输出有效,若否则第一告警模块的CPU输出有效。
步骤E具体为,第一告警模块的CPU和第二告警模块的CPU通过IO口交换一个方波,若第一告警模块CPU采样不到第二告警模块CPU发送的方波,则设置第一告警模块CPU的状态输出口为有效。
步骤F具体为,首先判断第二告警模块是否存在,若存在,则交互得到第二告警模块的自检信息,判断是否第一告警模块的外设通信自检故障且第二告警外设通信自检无故障,若是则第二告警模块外设输出有效,若否则第一告警模块外设输出有效。
步骤G具体为,首先通过RS422总线交互得到第二告警模块的CPU控制信息,判断第二告警模块与第一告警模块的CPU控制是否一致,如果不一致则结束调度,如果一致,则判断第一告警模块为主模块还是备份模块,是主模块则第一告警模块CPU有效,是备份模块则第二告警模块CPU有效。
本发明在当前热备份设计的基础上,采用软硬件结合的设计,解决当一个模块瞬间异常既定为故障而进行一次切换最终造成资源浪费,在上一步的基础上,当两个模块均有故障时,协同整合出两个模块上的可用资源,进行最大程度的进行告警,提高告警任务可靠性。因此本发明的优点在于可靠性高。
附图说明
图1为现有技术的电路框图。
图2为本发明的电路框图。
图3为本发明的主流程图。
图4为判断冷热启流程图。
图5为判断主模块或备份模块的流程图。
图6为判断对方模块是否存在的流程图。
图7为热备份控制初始化流程图。
图8为I/O交互控制CPU调度流程图。
图9为外设调度流程图。
图10为RS422交互控制CPU调度流程图。
下面结合附图和实施例对本发明作详细说明。
具体实施方式
告警单个模块架构如图1所示。由CPU软件与CPLD逻辑共同实现,其中CPU软件负责热备份的调度控制,即CPU软件是整个热备份的仲裁者,最终的执行是由CPLD逻辑来实现。
两个模块热备份资源框图如图2所示。
一种基于多种外设的完全热备份告警设备,包括第一告警模块1和第二告警模块2,第一告警模块1和第二告警模块2组成对应的一组备份告警模块,第一告警模块1和第二告警模块2通过母线板3连接,其特征在于第一告警模块1和第二告警模块2均包括一CPU和与该CPU连接的CPLD, 第一告警模块1和第二告警模块2的CPU均设有与母线板连接的状态输入口B5,用于接收主模块或备份模块的状态输入,第一告警模块1和第二告警模块2的CPU还设有状态输出口E1和外设使能口A0、A1、A2,第一告警模块1和第二告警模块2的CPLD设有与自身告警模块CPU的状态输出口相连的状态输入口,第一告警模块1和第二告警模块2的CPLD均设有两组外设使能口,分别与第一告警模块1和第二告警模块2的CPU的外设使能口相连,CPLD根据状态输出口输出的模块状态来判断根据第一告警模块1或第二告警模块2的CPU的外设使能口输出的信号进行使能输出。第一告警模块1和第二告警模块2的CPU还分别设置有对应连接的第一主模块状态端B1、第二主模块状态端B2、第一备份模块状态端B3和第二备份模块状态端B4。第一告警模块1和第二告警模块2的CPU还分别设置有对应连接的第一CPU验证端口和第二CPU验证端口。第一告警模块1的CPU和第二告警模块2的CPU之间还通过RS422总线连接。
图2中各标号的说明如下:
A0、A1、A2等为CPU中的通用GPIO口,在此用作外设使能口。
其中B5为主模块和备份模块判断的状态输入口,上电后母线板在这两个口会一直输出一个高电平和一个低电平,当CPU软件读到B5的值为0时,即认为此模块为主模块;当读到1时,即认为模块为备份模块。
E1为CPU使能自身的状态输出口,当E1输出1时,CPLD就依据自身CPU的A0、A1和A2来控制输出的有效性;当E1输出0时,CPLD就依据对方CPU的A0、A1和A2来控制输出的有效性。
B0为CPU状态指示灯控制端。当对应板CPU的E1输出1(即依据自身的A0、A1、A2来控制输出)时,软件从B0输出高电平点亮母线板上相应的灯。
A0、A1、A2是具体控制输出的3个外设使能口。其中A0控制RS485的输出;A1控制429的输出;A2控制点灯离散量的输出。当A0输出0时,对于自身CPLD来说,就使能RS485的输出,对于对方CPLD来说,就关闭RS485的输出;当A0输出1时,对于自身CPLD来说,就关闭RS485的输出,对于对方CPLD来说,就使能RS485的输出。
B1、B2、B3、B4为检测对方模块是否存在的模块状态端。其中B1、B2为主模块状态端,B3、B4为备份模块状态端。
B6、B7为检测对方模块的CPU是否正常运行的CPU验证端口。其中B6为第一CPU验证端口,B7为第二CPU验证端口。
在这里需要说明的是,本文中的第一告警模块和第二告警模块组成一对相互备份的告警模块,因此在文中针对其中一个告警模块描述时,经常将另一告警模块称为对方模块。
热备份调度算法由CPU软件来实现。产品上电后,软件先判断冷热启、主备份以及对方是否存在(对于第一告警模块而言,即判断第二告警模块是否存在),再依据上述判断结果初始化热备份的控制,然后在程序的主循环流程中通过IO方波交互来进行CPU的调度,再通过RS422交互的自检结果进行输出外设的调度,另外通过RS422周期交互的CPU调度控制结果来实时监控CPU调度。图3为CPU软件在热备份调度上面的主流程。
CPLD给一个可读可写并且带锁存功能的外部地址(例如:0x3D00),在该地址内存储启动状态值,若冷启动则此地址的值为0xFFFF,然后再在这个地址里面写入一个约定的值即热启值(0xA5A5),如果仅CPU复位,那么读这个地址的值就为热启值(0xA5A5),即为热启。因此依据这个区别即可判断冷热启。即读取启动状态值,判定启动状态值是否为热启值,若是则判断为热启,若否则判断为冷启,然后将启动状态值设定为热启值。软件流程图如图4。
判断主模块和备份模块
根据状态输入口的状态值判断该报警模块为主报警模块还是备份报警模块。读IO口B5,若为0,则为主模块;若为1,则为备份模块。软件流程图如图5所示。
判断对方是否存在
主模块的B1输出0、B2输出1,读B3、B4,在一定时间内(因为两个板上电有时间差)若读到0和1,则认为对方存在,若读不到则认为对方不存在;同理,备份模块B3输出0、B4输出1 ,读B1、B2,在一定时间内若读到0和1,则认为对方存在,若读不到则认为对方不存在。软件流程图如图6所示。
假设该模块为第一告警模块,则对方为第二告警模块。
根据前面判断的结果,如果是第一告警模块为主模块,则设置第一主模块状态端和第二主模块状态端为输出端,第一备份模块状态端和第二备份模块状态端为输入端,接着设置第一主模块状态端为0,设置第二主模块状态端为1,然后判断是否第一备份模块状态端为0,且第二备份状态端为1,若在有效时间内判断结果为否,则认为第二告警模块不存在,若为是,则认为第二告警模块存在;如果第一告警模块是备份模块,则设置第一主模块状态端和第二主模块状态端为输入端,第一备份模块状态端和第二备份模块状态端为输出端,接着设置第一备份模块状态端为0,第二备份模块状态端为1,然后判断是否第一主模块状态端为0,且第二主模块状态端为1,若在有效时间内判断结果为否,则认为第二告警模块不存在,若为是,则认为第二告警模块存在。
在判断出主或备份模块、冷热启、对方是否存在的基础上, 对热备份的控制IO口进行初始化。默认状态下主模块CPU输出有效,只有在主模块为热启并且对方存在的情况下,初始化为备份模块CPU输出有效;备份模块在默认状态下如果主模块存在,就让主模块CPU输出有效,只有在主模块不存在的情况下,才使能自己的CPU输出有效。软件流程图如图7所示。
对于第一告警模块而言,即判断第一告警模块为主模块还是备份模块,若第一告警模块为主模块,则判断是否主模块为热启并且第二告警模块存在,若是则第二告警模块的CPU输出有效,若否则第一告警模块的CPU输出有效;若第一告警模块为备份模块,则判断第二告警模块是否存在,若是则第二告警模块的CPU输出有效,若否则第一告警模块的CPU输出有效。(注:CPU输出有效指的是设置E1控制CPLD依据自身CPU的A0、A1、A2状态决定RS485、429和离散量输出是否有效;反之,CPU输出无效指的是设置E1控制CPLD依据对方CPU的A0、A1、A2状态决定RS485、429和离散量输出是否有效)。
IO交互CPU调度
这里的CPU调度指的是通过CPU验证端口即IO口B6、B7,主模块和备份模块交互一个1/0方波,若采不到对方输出的方波,就认为对方CPU故障。这时就通过E1控制CPLD通过自身输出有效。软件流程图如图8所示。对于第一告警模块而言,第一告警模块的CPU和第二告警模块的CPU通过IO口交换一个方波,若第一告警模块CPU采样不到第二告警模块CPU发送的方波,则设置第一告警模块CPU的状态输出口为有效。
外设调度
主和备份模块通过RS422以1s的周期交互自检信息,然后比较双方的自检结果,根据比较结果使能相应模块的输出。软件流程图如图9所示。
对于第一告警模块而言,首先判断第二告警模块是否存在,若存在,则交互得到第二告警模块的自检信息(第一告警模块和第二告警模块之间通过RS422总线以1s的周期交互自检信息,其中包含离散量自检信息,429通信自检信息,485通信自检信息),判断是否第一告警模块离散量自检故障且第二告警模块离散量自检无故障,若是则第二告警模块离散量输出有效,若否则第一告警模块离散量输出有效;判断是否第一告警模块485通信故障且第二告警模块485通信无故障,若是则第二告警模块485输出有效,若无则第一告警模块485输出有效;判断是否第一告警模块429通信故障且第二告警模块429通信无故障,若是则第二告警模块429输出有效,若无则第一告警模块429输出有效。
为了避免以上的CPU控制异常(同时输出有效或同时输出无效),主和备份模块通过RS422交互监控CPU调度控制结果, 若异常,则强制使主模块输出有效、备份模块输出无效。软件流程图如图10所示。
对于第一告警模块而言,首先通过RS422总线交互得到第二告警模块的CPU控制信息(所述CPU控制信息由CPU自身输出,该控制信息本身为现有技术,在此不再赘述),判断第二告警模块与第一告警模块的CPU控制是否一致,如果不一致则结束调度,如果一致,则判断第一告警模块为主模块还是备份模块,是主模块则第一告警模块CPU有效,是备份模块则第二告警模块CPU有效(CPU有效意思同上)。
Claims (8)
1.一种基于多种外设的完全热备份告警设备,包括第一告警模块和第二告警模块,第一告警模块和第二告警模块通过母线板连接,第一告警模块和第二告警模块均包括一CPU和与该CPU连接的CPLD,其特征在于第一告警模块和第二告警模块的CPU均设有与母线板连接的状态输入口,用于接收主模块或备份模块的状态输入,第一告警模块和第二告警模块的CPU还设有状态输出口和外设使能口,第一告警模块和第二告警模块的CPLD设有与自身告警模块CPU的状态输出口相连的状态输入口,第一告警模块和第二告警模块的CPLD均设有两组外设使能口,分别与第一告警模块和第二告警模块的CPU的外设使能口相连,CPLD根据状态输出口输出的模块状态来判断根据第一告警模块或第二告警模块的CPU的外设使能口输出的信号进行使能输出。
2.如权利要求1所述的告警设备,其特征在于第一告警模块和第二告警模块的CPU还分别设置有对应连接的第一主模块状态端、第二主模块状态端、第一备份模块状态端和第二备份模块状态端。
3.如权利要求1所述的告警设备,其特征在于第一告警模块和第二告警模块的CPU还分别设置有对应连接的第一CPU验证端口和第二CPU验证端口。
4.一种基于多种外设的完全热备份告警设备调度方法,其特征在于对于第一告警模块而言,该方法包括以下步骤:A、判断是否热启动;B、判断该模块是主模块还是备份模块; C、判断第二告警模块是否存在;D、热备份控制初始化;E、CPU调度;F、输出外设调度;G、交互控制CPU调度。
5.如权利要求4所述的调度方法,其特征在于步骤D具体为,判断第一告警模块为主模块还是备份模块,若第一告警模块为主模块,则判断是否主模块为热启并且第二告警模块存在,若是则第二告警模块的CPU输出有效,若否则第一告警模块的CPU输出有效;若第一告警模块为备份模块,则判断第二告警模块是否存在,若是则第二告警模块的CPU输出有效,若否则第一告警模块的CPU输出有效。
6.如权利要求4所述的调度方法,其特征在于步骤E具体为,第一告警模块的CPU和第二告警模块的CPU通过IO口交换一个方波,若第一告警模块CPU采样不到第二告警模块CPU发送的方波,则设置第一告警模块CPU的状态输出口为有效。
7.如权利要求4所述的调度方法,其特征在于步骤F具体为,首先判断第二告警模块是否存在,若存在,则交互得到第二告警模块的自检信息,判断是否第一告警模块的外设通信自检故障且第二告警外设通信自检无故障,若是则第二告警模块外设输出有效,若否则第一告警模块外设输出有效。
8.如权利要求4所述的调度方法,其特征在于步骤G具体为,首先通过RS422总线交互得到第二告警模块的CPU控制信息,判断第二告警模块与第一告警模块的CPU控制是否一致,如果不一致则结束调度,如果一致,则判断第一告警模块为主模块还是备份模块,是主模块则第一告警模块CPU有效,是备份模块则第二告警模块CPU有效。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310105723.3A CN104077205B (zh) | 2013-03-29 | 2013-03-29 | 一种基于多种外设的完全热备份告警设备及其调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310105723.3A CN104077205B (zh) | 2013-03-29 | 2013-03-29 | 一种基于多种外设的完全热备份告警设备及其调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104077205A true CN104077205A (zh) | 2014-10-01 |
CN104077205B CN104077205B (zh) | 2016-08-17 |
Family
ID=51598474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310105723.3A Active CN104077205B (zh) | 2013-03-29 | 2013-03-29 | 一种基于多种外设的完全热备份告警设备及其调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104077205B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112233386A (zh) * | 2020-09-25 | 2021-01-15 | 中国直升机设计研究所 | 一种直升机语音告警装置及方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6931568B2 (en) * | 2002-03-29 | 2005-08-16 | International Business Machines Corporation | Fail-over control in a computer system having redundant service processors |
CN101625568B (zh) * | 2009-08-14 | 2012-08-08 | 江西联创通信有限公司 | 一种基于数据同步控制器的主控单元热备份系统和实现方法 |
CN102331786B (zh) * | 2011-07-18 | 2013-05-08 | 北京航空航天大学 | 一种姿轨控计算机双机冷备份系统 |
-
2013
- 2013-03-29 CN CN201310105723.3A patent/CN104077205B/zh active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112233386A (zh) * | 2020-09-25 | 2021-01-15 | 中国直升机设计研究所 | 一种直升机语音告警装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104077205B (zh) | 2016-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105278516B (zh) | 一种双冗余开关量plc控制系统可靠容错控制器的实现方法 | |
TW420771B (en) | Electronic control system for controlling the function of a processing system and method for managing system fault situations of the electronic control system | |
CN105759781B (zh) | 机器人的布线方法 | |
CN103647781B (zh) | 一种基于设备冗余和网络冗余的混合冗余可编程控制系统 | |
EP3416014B1 (en) | Process data synchronization between redundant process controllers | |
JP5905588B2 (ja) | 半導体装置及び電池電圧監視装置 | |
CN104808572A (zh) | 基于功能安全的高完整性plc控制器 | |
CN104570721B (zh) | 冗余控制器主从状态确定方法 | |
CN110095978A (zh) | 一种2乘2取2系统及其安全诊断方法 | |
US11487265B2 (en) | Systems and methods for simultaneous control of safety-critical and non-safety-critical processes in automation systems using master-minion functionality | |
WO2020143243A1 (zh) | 一种应用于列车自动运行系统的双系热备切换方法及系统 | |
CN102377586B (zh) | 一种网络旁路装置及其处理网络旁路的方法 | |
CN104714406B (zh) | 输入输出模块冗余切换方法 | |
CN101916218A (zh) | 基于解析冗余机制的双cpu冗余控制系统 | |
CN108551397A (zh) | 网桥装置及应用以及多plc主站与多plc从站的通信控制方法 | |
CN104423374B (zh) | 用于汽车的控制器及具有其的汽车、监测方法 | |
CN110427283B (zh) | 一种双余度的燃油管理计算机系统 | |
CN210129215U (zh) | 一种双余度机电管理计算机架构 | |
CN104238517B (zh) | 一种profibus-dpv1通信主站的通信方法 | |
CN107943623A (zh) | 一种存储系统 | |
CN102830647A (zh) | 一种故障安全的二乘二取二装置 | |
JP2019169445A (ja) | 電源装置 | |
CN115913906A (zh) | 一种船用冗余控制系统及方法 | |
CN112740121B (zh) | 用于车辆的控制架构 | |
CN105938356A (zh) | Dcs系统中控制模块的硬件冗余及运算节奏同步系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |