CN105573869B - 基于i2c总线的***控制器容错控制方法 - Google Patents
基于i2c总线的***控制器容错控制方法 Download PDFInfo
- Publication number
- CN105573869B CN105573869B CN201510927375.7A CN201510927375A CN105573869B CN 105573869 B CN105573869 B CN 105573869B CN 201510927375 A CN201510927375 A CN 201510927375A CN 105573869 B CN105573869 B CN 105573869B
- Authority
- CN
- China
- Prior art keywords
- module
- gppm
- broadcast message
- system controller
- time window
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2028—Failover techniques eliminating a faulty processor or activating a spare
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明涉及一种基于I2C总线的***控制器容错控制方法,包括以下步骤:1)初始化:***上电后,向每个GPPM模块依次分配MID号,MID=0~n‑1;n为整数;CPU根据分配的MID号计算对应的GPPM模块的发送广播消息时间窗口,***默认MID=0为默认***控制器;2)***控制器的切换:若该GPPM模块在对应的发送广播消息时间窗口内成功发送广播消息时,则该GPPM模块宣布成为新的***控制器;若该GPPM模块未在对应的发送广播消息时间窗口内成功发送广播消息时,判断GPPM模块的MID加1后。将***控制器的备份方式由热备份改为温备份,提高了***的可靠性,同时提高了***资源的可用率,降低了***的体积、功耗和成本。
Description
技术领域
本发明属于综合核心处理***设计技术领域,具体涉及一种基于I2C总线的***控制器容错控制方法。
背景技术
如图1所示,综合核心处理***包括多个GPPM模块,每个GPPM模块都包括CPU和故障处理逻辑模块,***将其中两个GPPM模块定义为***控制器,分别为主***控制器和备份***控制器。主***控制器和备份***控制器处于余度热备份工作状态,同时运行相同的任务,但只有主***控制器输出结果,备份***控制器不输出结果。当主***控制器发生故障时,其故障处理逻辑模块输出三个故障信号,备份***控制器的故障处理逻辑模块接收到故障信号后产生中断信号给CPU,备份***控制器的CPU接收到中断后,备份***控制器成为主***控制器,同时接管***控制任务。
这种容错管理机制存在以下几个问题:
1、当主***控制器和备份***控制器同时或相继发生故障时,将出现无***控制器可用的局面,这会影响飞机关键任务的完成。
2、当主***控制器正常工作时,备份***控制器不输出结果,处于空运行状态,***资源可用率低,这导致了***资源的浪费。
3、备份***控制器是***中的一个冗余模块,这实质是增加了***的重量、体积和功耗。
发明内容
为了解决现有的综合核心处理***的资源可用率低,***重量、体积和功耗高的技术问题,本发明提供一种基于I2C总线的***控制器容错控制方法。本发明将***控制器备份方式由热备份改为温备份,在主***控制器和备份***控制器同时出现故障时,***依然可以保证飞机关键任务的完成,提高***的可靠性。
本发明的技术解决方案:
一种基于I2C总线的***控制器容错控制***,其特殊之处在于:包括多个GPPM模块,每个GPPM模块均包括CPU和故障处理逻辑模块,所述故障处理逻辑模块包括离散量模块、判断模块、计时器和中断产生模块,
所述离散量模块用于产生离散量并发送给其他GPPM模块中的离散量模块和接收其他GPPM模块中的离散量模块发送的离散量,
所述判断模块用于对输入离散量模块的离散量进行三取二表决,并在表决结果为“0”时,触发计时器进行计时;同时触发中断产生模块产生中断信号发送给处于同一个GPPM模块的CPU;
每个GPPM模块的CPU通过I2C总线连接,CPU根据连接在I2C总线上的GPPM模块的MID号计算对应的GPPM模块的发送广播消息时间窗口;
所述CPU用于读取处于同一个GPPM模块计时器状态,判断是否处于发送广播消息时间窗口,若在发送广播消息时间窗口内,则通过I2C总线向其他GPPM模块中的CPU发送广播消息,宣布该CPU所属的GPPM模块成为***控制器;用于接收到其他GPPM模块中的CPU发送的广播消息后,停止计时器计时。
一种基于I2C总线的***控制器容错控制方法,包括以下步骤:
1)初始化:
1.1***上电后,每个GPPM模块读取MID号,MID=0~n-1;n为整数;
1.2)CPU根据分配的MID号计算每个GPPM模块的发送广播消息时间窗口;
1.3)***默认MID=0的GPPM模块为默认***控制器;
1.4)如果默认***控制器,在预设的发送广播消息时间窗口内向其他备份控制器发送广播消息,则宣布***控制器的确立;
若未在发送广播消息时间窗口内向其他备份控制器发送广播消息,则进行***控制器的切换;
2)***控制器的切换:
2.1)默认***控制器未在发送广播消息时间窗口内向其余备份控制器发送广播消息时,故障处理逻辑模块的离散量模块通过离散量D2~D0输出低电平脉冲信号,发送给其余备份控制器的离散量模块;
2.2)其余备份***控制器接收到低电平脉冲信号后,对离散量D2~D0的输入值进行三取二表决,当前表决结果为“0”,其余备份***控制器启动计时器,同时通过中断产生模块产生中断信号并将该中断信号发送给处于同一个GPPM模块CPU;
2.3)其余备份***控制器的CPU接收到中断信号后,CPU读取故障处理逻辑模块中的计时器状态后,判断MID=n的GPPM模块是否在对应的发送广播消息时间窗口内成功发送广播消息;其中n=默认***控制器MID+1;
2.4)若该GPPM模块在对应的发送广播消息时间窗口内成功发送广播消息时,则该GPPM模块宣布成为新的***控制器,接收到广播消息的其他GPPM模块,停止计时器计时,
若该GPPM模块未在对应的发送广播消息时间窗口内成功发送广播消息时,则执行步骤2.5):
2.5)给步骤2.4)判断GPPM模块的MID加1后,判断与新产生的MID对应的GPPM模块是否在对应的发送广播消息时间窗口内成功发送广播消息;
2.6)执行步骤2.4)。
步骤1.2)发送广播消息时间窗口=n*30ms。
默认***控制器的发送广播消息时间窗口=***上电后15s。
本发明具有的优点效果:
1、容错重构时间短,故障恢复速度快;
2、硬件电路实现简单可靠;
3、提高了***的可靠性;
4、提高了***资源的可用率;
5、降低了***的体积、功耗和成本。
附图说明
图1为现有的***控制器容错管理方法示意图;
图2为本发明设计的***控制器容错管理方法示意图。
具体实施方式
本发明采用故障报告机制和I2C总线通信机制实现多个***控制器的容错管理,其具体的技术方案如下:
1、GPPM模块的故障处理逻辑模块实现模块故障报告功能。D2~D0为故障处理逻辑模块三个输入/输出型离散量,每个离散量在故障处理逻辑模块内部设计为弱上拉电阻,CPU可以通过控制故障处理逻辑模块来控制离散量的输出状态。
2、***复位后,离散量默认输出状态为“0”;复位结束后,CPU可以通过故障处理逻辑模块控制离散量的输出状态。当模块发生故障,比如看门狗报警或者CPU使能离散量输出时,离散量D2~D0输出低电平脉冲信号;当CPU不使能离散量输出时,离散量D2~D0输出三态,即为“弱1”。
3、***控制器发出故障报告后,备份***控制器中的故障处理逻辑对离散量D2~D0的输入值进行三取二表决,当表决结果为“0”时,故障处理逻辑启动计时器,同时产生中断信号并将该中断送给CPU。
4、备份***控制器接收到中断后,在规定的时间内通过I2C总线发送广播消息,宣布新的***控制器的确立。备份控制器自接收到中断到发出广播消息的最大时间窗口为(备份***控制器MID-当前***控制器MID)*30ms。如果备份控制器发生故障,其未在规定的时间内发送广播消息,则下一个可以成为***控制器的模块将启动广播消息发送程序。
5、如果GPPM1为***控制器,则第一、第二、第n备份***控制器发送广播的时间窗口分别为30ms、60ms、n*30ms。当第一备份***控制器成功发送广播消息,宣布成为新的***控制器后,***控制器MID更新为当前***控制器MID(即第一备份控制器MID),其他备份控制器发送广播时间窗口关闭。
本发明的工作流程如下:
1、***上电后,每个GPPM模块在15s内完成自测试,根据自测试的结果确定各模块是否成为备份***控制器。MID=0的模块默认为***控制器,如果其自测试正确,则需在15s内发送广播消息,宣布***控制器的确立。
2、如果默认的***控制器故障,未能在15s内发送广播消息,则其发出故障报告,进行***控制器的切换。
3、假设当前GPPM1为***控制器,其余模块为备份***控制器。当GPPM1发生故障时,其故障处理逻辑通过离散量D2~D0输出低电平脉冲信号。
4、备份***控制器接收到低电平脉冲信号后,对离散量D2~D0的输入值进行三取二表决,当前表决结果为“0”,备份***控制器的故障处理逻辑启动计时器,同时产生中断信号并将该中断送给CPU;
5、备份***控制器接收到中断后,CPU读取故障处理逻辑中的计时器状态,判断是否处于发送广播消息时间窗口。当前GPPM2为第一备份***控制器,其在30ms时间内发送广播消息,如果发送成功,则第一备份***控制器GPPM2宣布成为新的***控制器,同时更新***控制器MID。其余的备份控制器接收到广播消息后,停止计时器,关闭发送广播消息时间窗口。
6、如果GPPM2故障,未在30ms时间内发送广播消息,则GPPM3进入发送广播消息时间窗口,如果其在30ms时间内成功发送广播消息,第二备份***控制器GPPM3宣布成为新的***控制器,以此类推。
Claims (4)
1.基于I2C总线的***控制器容错控制***,其特征在于:包括多个GPPM模块,每个GPPM模块均包括CPU和故障处理逻辑模块,所述故障处理逻辑模块包括离散量模块、判断模块、计时器和中断产生模块,
所述离散量模块用于产生离散量并发送给其他GPPM模块中的离散量模块和接收其他GPPM模块中的离散量模块发送的离散量,
所述判断模块用于对输入离散量模块的离散量进行三取二表决,并在表决结果为“0”时,触发计时器进行计时;同时触发中断产生模块产生中断信号发送给处于同一个GPPM模块的CPU;
每个GPPM模块的CPU通过I2C总线连接,CPU根据连接在I2C总线上的GPPM模块的MID号计算对应的GPPM模块的发送广播消息时间窗口;
所述CPU用于读取处于同一个GPPM模块计时器状态,判断是否处于发送广播消息时间窗口,若在发送广播消息时间窗口内,则通过I2C总线向其他GPPM模块中的CPU发送广播消息,宣布该CPU所属的GPPM模块成为***控制器;用于接收到其他GPPM模块中的CPU发送的广播消息后,停止计时器计时。
2.基于I2C总线的***控制器容错控制方法,其特征在于,包括以下步骤:
1)初始化:
1.1***上电后,每个GPPM模块读取MID号,MID=0~n-1;n为整数;
1.2)CPU根据分配的MID号计算每个GPPM模块的发送广播消息时间窗口;
1.3)***默认MID=0的GPPM模块为默认***控制器;
1.4)如果默认***控制器,在预设的发送广播消息时间窗口内向其他备份控制器发送广播消息,则宣布***控制器的确立;
若未在发送广播消息时间窗口内向其他备份控制器发送广播消息,则进行***控制器的切换;
2)***控制器的切换:
2.1)默认***控制器未在发送广播消息时间窗口内向其余备份控制器发送广播消息时,故障处理逻辑模块的离散量模块通过离散量D2~D0输出低电平脉冲信号,发送给其余备份控制器的离散量模块;
2.2)其余备份***控制器接收到低电平脉冲信号后,对离散量D2~D0的输入值进行三取二表决,当前表决结果为“0”,其余备份***控制器启动计时器,同时通过中断产生模块产生中断信号并将该中断信号发送给处于同一个GPPM模块CPU;
2.3)其余备份***控制器的CPU接收到中断信号后,CPU读取故障处理逻辑模块中的计时器状态后,判断MID=n的GPPM模块是否在对应的发送广播消息时间窗口内成功发送广播消息;其中n=默认***控制器MID+1;
2.4)若该GPPM模块在对应的发送广播消息时间窗口内成功发送广播消息时,则该GPPM模块宣布成为新的***控制器,接收到广播消息的其他GPPM模块,停止计时器计时,
若该GPPM模块未在对应的发送广播消息时间窗口内成功发送广播消息时,则执行步骤2.5):
2.5)给步骤2.4)判断GPPM模块的MID加1后,判断与新产生的MID对应的GPPM模块是否在对应的发送广播消息时间窗口内成功发送广播消息;
2.6)执行步骤2.4)。
3.根据权利要求2所述的基于I2C总线的***控制器容错控制方法,其特征在于:
步骤1.2)发送广播消息时间窗口=n*30ms。
4.根据权利要求2或3所述的基于I2C总线的***控制器容错控制方法,其特征在于:
默认***控制器的发送广播消息时间窗口=***上电后15s。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510927375.7A CN105573869B (zh) | 2015-12-11 | 2015-12-11 | 基于i2c总线的***控制器容错控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510927375.7A CN105573869B (zh) | 2015-12-11 | 2015-12-11 | 基于i2c总线的***控制器容错控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105573869A CN105573869A (zh) | 2016-05-11 |
CN105573869B true CN105573869B (zh) | 2019-05-28 |
Family
ID=55884035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510927375.7A Active CN105573869B (zh) | 2015-12-11 | 2015-12-11 | 基于i2c总线的***控制器容错控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105573869B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107992380B (zh) * | 2017-11-28 | 2021-09-17 | 北京东土科技股份有限公司 | 一种计算机***、备份管理方法和计算机可读存储介质 |
CN108255123B (zh) * | 2018-01-16 | 2021-08-24 | 广州地铁集团有限公司 | 基于三取二软硬件表决的列车lcu控制设备 |
CN109407669B (zh) * | 2018-11-23 | 2021-06-08 | 中国船舶科学研究中心(中国船舶重工集团公司第七0二研究所) | 一种多层式容错型自航船模的控制方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102945217A (zh) * | 2012-10-11 | 2013-02-27 | 浙江大学 | 一种基于三模冗余的星载综合电子*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130058444A1 (en) * | 2011-09-06 | 2013-03-07 | Cisco Technology, Inc. | Fault Tolerant Communications Over a Two-Wire Interface |
-
2015
- 2015-12-11 CN CN201510927375.7A patent/CN105573869B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102945217A (zh) * | 2012-10-11 | 2013-02-27 | 浙江大学 | 一种基于三模冗余的星载综合电子*** |
Also Published As
Publication number | Publication date |
---|---|
CN105573869A (zh) | 2016-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102055633B (zh) | 一种星载双can总线节点故障自恢复*** | |
CN104516306B (zh) | 冗余的自动化*** | |
CN107065830A (zh) | 一种基于仲裁方式的双冗余热备份*** | |
CN107957692B (zh) | 控制器冗余方法、装置及*** | |
CN103853622A (zh) | 一种互为备份的双余度控制方法 | |
CN101788817A (zh) | 一种基于星载总线的故障识别与处理方法 | |
CN110794805B (zh) | 一种机器人安全电路及其控制方法 | |
CN105573869B (zh) | 基于i2c总线的***控制器容错控制方法 | |
CN103057572B (zh) | 一种主备机的控制切换方法 | |
US9367375B2 (en) | Direct connect algorithm | |
CN103744753B (zh) | 一种双机***的数据交互方法与装置 | |
CN105607583A (zh) | 一种监控方法、装置及电源***中的第一监控单元 | |
CN102508746A (zh) | 一种用于三机变结构容错计算机***管理方法 | |
CN105717787A (zh) | 用于智能电源配电装置的双余度控制***及其控制方法 | |
CN104468217A (zh) | 一种1394网络管理者故障下的网络重建方法 | |
CN104360916A (zh) | 基于数据同步的主备同步方法 | |
CN103246585A (zh) | 一种存储控制器故障检测方法 | |
CN103793300B (zh) | 一种双机热备***中快速主备切换装置和主备切换方法 | |
CN111261458B (zh) | 一种航空配电***中采用非相似双处理器的接触器控制方法 | |
CN103309319A (zh) | 分布冗余式飞机自动配电控制*** | |
CN104228876B (zh) | 远程记轴预复位***及方法 | |
CN105426171A (zh) | 多个二取二***的同步和切换方法、*** | |
CN104317679A (zh) | 一种scada***基于线程冗余的通信容错方法 | |
CN104503947B (zh) | 多路服务器及其信号处理方法 | |
CN101291201A (zh) | 心跳信息传输***及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |