CN105573869B - 基于i2c总线的***控制器容错控制方法 - Google Patents

基于i2c总线的***控制器容错控制方法 Download PDF

Info

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
Application number
CN201510927375.7A
Other languages
English (en)
Other versions
CN105573869A (zh
Inventor
姜琳琳
王卫东
李鹏
解文涛
李成文
袁迹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Aeronautics Computing Technique Research Institute of AVIC
Original Assignee
Xian Aeronautics Computing Technique Research Institute of AVIC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian Aeronautics Computing Technique Research Institute of AVIC filed Critical Xian Aeronautics Computing Technique Research Institute of AVIC
Priority to CN201510927375.7A priority Critical patent/CN105573869B/zh
Publication of CN105573869A publication Critical patent/CN105573869A/zh
Application granted granted Critical
Publication of CN105573869B publication Critical patent/CN105573869B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2023Failover techniques
    • G06F11/2028Failover 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总线的***控制器容错控制方法
技术领域
本发明属于综合核心处理***设计技术领域,具体涉及一种基于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。
CN201510927375.7A 2015-12-11 2015-12-11 基于i2c总线的***控制器容错控制方法 Active CN105573869B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102945217A (zh) * 2012-10-11 2013-02-27 浙江大学 一种基于三模冗余的星载综合电子***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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