CN102360315A - 一种容错控制系统看门狗电路管理方法 - Google Patents
一种容错控制系统看门狗电路管理方法 Download PDFInfo
- Publication number
- CN102360315A CN102360315A CN2011103002490A CN201110300249A CN102360315A CN 102360315 A CN102360315 A CN 102360315A CN 2011103002490 A CN2011103002490 A CN 2011103002490A CN 201110300249 A CN201110300249 A CN 201110300249A CN 102360315 A CN102360315 A CN 102360315A
- Authority
- CN
- China
- Prior art keywords
- fault
- watchdog circuit
- failure
- steps
- management method
- 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
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提出了一种容错控制系统看门狗电路管理方法,包括以下步骤:1)对系统加电;2)系统看门狗电路进行复位,并将看门狗计时器清零;3)看门狗计时器开始计时,计时周期预先设置为看门狗故障恢复任务周期和看门狗故障管理周期之间;4)应用程序在每个最小控制周期进行软件喂狗操作;5)应用程序是否在计时周期内进行喂狗操作;6)看门狗电路输出有效,并保持足够使系统进入中断服务时间的脉冲宽度;7)系统是否处于调试开发状态;8)看门狗电路产生处理器中断信号,锁存故障指示信号,禁止故障计算机输出指令,抑制故障蔓延。一种容错控制系统看门狗电路管理方法,在故障发生后通过故障管理进行故障恢复从而提高系统的容错能力。
Description
技术领域
本发明涉及一种容错控制系统,尤其涉及一种容错控制系统看门狗电路管理方法。
背景技术
在嵌入式计算机系统当中为防止软件由于受到外部干扰导致跑飞或进入死循环,通常设计有硬件看门狗电路。在规定时间周期内软件应触发看门狗电路(俗称喂狗),否则看门狗电路将通过硬件信号(狗叫信号)通知系统,产生系统复位或中断。在大多数嵌入式应用中看门狗超时后将直接导致系统复位,少数嵌入式应用中看门狗超时后产生中断随后程序停止运行。而在诸如飞行控制系统等高可靠N模冗余系统中由于看门狗超时直接复位系统是不可接受的。首先故障源如果并未消除,将导致故障系统反复复位,在余度系统中成为不断干扰其他计算机系统的故障源,其次不记录狗叫发生时的软件现场,无法事后分析故障原因。而看门狗故障后停机也有使系统降级过快的缺点。
发明内容
为了解决背景技术中所存在的技术问题,本发明提出了一种容错控制系统看门狗电路管理方法,在故障发生后通过故障管理进行故障恢复从而提高系统的容错能力。
本发明的技术解决方案是:一种容错控制系统看门狗电路管理方法,其特殊之处在于:所述方法包括以下步骤:
1)对系统加电;
2)系统看门狗电路进行复位,并将看门狗计时器清零;
3)复位结束后,看门狗计时器开始计时,计时周期预先设置为看门狗故障恢复任务周期(按2倍最小控制周期迭代)和看门狗故障管理周期之间(按4倍最小控制周期迭代);
4)应用程序在每个最小控制周期进行软件喂狗操作;
5)应用程序是否在计时周期内进行喂狗操作,若否,则进行步骤6);
6)看门狗电路输出有效,并保持足够使系统进入中断服务时间的脉冲宽度;
7)系统是否处于调试开发状态,若否,则进行步骤8);
8)看门狗电路产生处理器中断信号,锁存故障指示信号,禁止故障计算机输出指令,抑制故障蔓延。
上述步骤7)若系统处于调试状态,则进行以下步骤:
7.1)系统是否设置禁止看门狗中断信号,若是,则进行步骤7.2);
7.2)系统不产生处理器中断信号,无故障指示锁存,并返回步骤2);
上述步骤8)的具体步骤是:
8.1)系统进入中断服务程序;
8.2)判断中断是否由狗叫引起,若是,则进行步骤8.3);
8.3)记录故障并置故障标记;
8.4)中断返回。
上述步骤4)的具体步骤是:故障管理任务每四个控制周期执行一次检查是否有步骤8.3)设置的故障标志,故障恢复任务每2个控制周期执行一次检查是否有步骤4.1)设置的启动标志;
上述步骤4)若故障管理任务检测到故障标记,则进行以下步骤:
4.1)设置故障恢复标志有效;
4.2)若故障恢复任务检测到故障恢复标志则启动故障恢复操作,尝试恢复故障。
上述步骤7.1)若系统未设置禁止看门狗中断信号,则进行步骤8)。
本发明的优点是:
1、提供时间精确确定的看门狗电路设计及故障恢复管理方法,能够满足容错控制系统实时性和故障发现、故障定位、故障抑制及故障恢复的容错要求。
2、故障发生时的现场信息和故障恢复过程信息记录在非易失存储器中,为事后分析故障原因改进设计提供重要依据。
3、避免由于瞬态故障导致系统过快降级。
附图说明
图1是本发明的方法流程图;
图2是本发明看门狗中断服务流程图;
图3是本发明的电路逻辑原理图;
图4是本发明的看门狗故障管理流程图;
具体实施方式
参见图1、图2,本发明提出了一种容错控制系统看门狗电路管理方法,该方法包括以下步骤:
1)对系统加电;
2)系统看门狗电路进行复位,并将看门狗计时器清零;
3)复位结束后,看门狗计时器开始计时,计时周期预先设置为看门狗故障恢复任务周期(按2倍最小控制周期迭代)和看门狗故障管理周期之间(按4倍最小控制周期迭代);
4)应用程序在每个最小控制周期进行软件喂狗操作;故障管理任务每四个控制周期执行一次检查是否有步骤8.3)设置的故障标志,故障恢复任务每2个控制周期执行一次检查是否有步骤4.1)设置的启动标志;若故障管理任务检测到故障标记,则进行以下步骤:
4.1)设置故障恢复标志有效;
4.2)若故障恢复任务检测到故障恢复标志则启动故障恢复操作,尝试恢复故障。
5)应用程序是否在计时周期内进行喂狗操作,若否,则进行步骤6);
6)看门狗电路输出有效,并保持足够使系统进入中断服务时间的脉冲宽度;
7)系统是否处于调试开发状态,若否,则进行步骤8);若系统处于调试状态,则进行以下步骤:
7.1)系统是否设置禁止看门狗中断信号,若是,则进行步骤7.2);若系统未设置禁止看门狗中断信号,则进行步骤8);
7.2)系统不产生处理器中断信号,无故障指示锁存,并返回步骤2);
8)看门狗电路产生处理器中断信号,锁存故障指示信号,禁止故障计算机输出指令,抑制故障蔓延。
8.1)系统进入中断服务程序;
8.2)判断中断是否由狗叫引起,若是,则进行步骤8.3);
8.3)记录故障并置故障标记;
8.4)中断返回。
故障管理任务每四个控制周期执行一次检查是否有步骤8.3)设置的故障标志,故障恢复任务每2个控制周期执行一次检查是否有步骤4.1)设置的启动标志;
本发明的电路使用晶振、编程器件及看门狗芯片组成;看门狗电路原理框图见图3,各个信号的说明参见表一:
表一
20M_128 | 看门狗电路复位状态计时时钟; |
20M_1024 | 看门狗电路正常计时时钟; |
20M_16 | 软件复位后同步喂狗信号; |
WD_CLK | 看门狗计时时钟; |
WD_TRIG | 看门狗喂狗信号; |
WDO | 狗叫输出信号; |
SOFT_TRIG | 软件喂狗信号; |
GSE# | 开发使能信号; |
DIS_WD# | 禁止看门狗信号; |
CPU_RST | 软件复位信号; |
DIF_RST# | 开发设备复位信号; |
P_O_R# | 加电复位信号; |
NMI | 非屏蔽中断信号; |
WDV# | 看门狗故障信号; |
RESET_CPU | 处理器复位信号。 |
(1)看门狗喂狗信号包括3个源:
软件喂狗信号;
看门狗电路复位后硬件自动同步喂狗信号;
软件复位后的硬件自动同步喂狗信号。
(2)正常工作情况下看门狗计时时钟为处理器工作时钟1024分频,当看门狗电路发生超时故障后看门狗电路进入复位状态,计时时钟切换为处理器工作时钟128分频。
(3)发生看门狗超时故障后电路产生3ms脉冲触发处理器NMI中断(NMI为上升沿触发)。
(4)发生看门狗故障后电路锁存狗叫信号(WDO),锁存信号(WDV#)作为故障逻辑输入之一封锁控制指令输出。
(5)复位看门狗结束后以及软件复位结束后电路自动触发看门狗1次,提供严格确定的看门狗计时周期时间。
(6)只有加电复位,软件复位和开发调试时的禁止看门狗信号(DIS_WD#)可以清除锁存的WDV#(电路中所有复位信号均为同步复位信号,并在满足处理器复位宽度要求的情况下严格控制在小于1个控制周期的时间)。
看门狗电路管理方法具体参见图4:
1、看门狗超时周期的设置
若系统控制周期为15ms(66Hz),控制软件应在每15ms完成一次完整的控制运算及控制指令输出,同时在正常执行流程里触发看门狗电路一次。相应在30ms、60ms周期设置故障恢复任务和故障恢复管理任务管理在15ms小帧周期中发生的故障(故障恢复任务在正常情况下为挂起任务,出现故障后由故障管理任务启动)。在故障情况下软件可能未能按时完成本周期任务而进入下一周期,在这种情况下程序记录故障,监控任务会根据故障记录设置故障恢复标志,故障恢复管理任务根据故障恢复标志进行相应故障恢复。
在故障管理任务中如果发现新的故障恢复请求,启动故障恢复任务并确认故障恢复是否成功。为了在故障恢复管理任务中核实是否成功恢复看门狗故障,看门狗超时周期应介于故障恢复任务周期和故障恢复管理任务周期之间,本发明中设置为50ms。
2、看门狗电路的测试与管理
为了防止看门狗电路自身故障而导致软件控制流故障无法监控并上报。在系统启动或维护时应对看门狗电路进行测试,测试方法为在测试前将测试标志记录在非易失存储器中,看门狗超时周期内不喂狗,导致看门狗超时故障。在看门狗引起的中断服务中判断测试标志以确定是否为测试引起。
正常情况下程序在每周期(15ms)任务中触发看门狗(SOFT_TRIG),如果看门狗电路在超过50ms时间没有被触发则看门狗输出信号(WDO)变为有效,电路产生处理器非屏蔽中断(NMI)信号,并锁存狗叫信号(WDV#),该信号(WDV#)将作为致命故障之一禁止故障计算机的控制指令输出。
在看门狗故障发生之后看门狗电路迅速完成复位(3ms),并自动重新开始计时,主要有以下目的:
(1)看门狗电路测试时,迅速完成其功能测试,并避免由于NMI服务程序中软件差错导致没有重新启动看门狗计时;
(2)在确保处理器相应NMI的情况下放开狗叫信号对NMI信号的控制以便其他关键NMI中断源(如掉电)仍能够及时产生NMI中断。
在NMI服务程序中首先判断中断源,如果是由看门狗故障引发则判断是否由测试引起,如果是则正常返回,如果不是则记录故障。
在60ms故障恢复管理任务中如果查询到故障恢复允许条件则启动故障恢复任务。软件将通过发出软件复位使程序重新运行。为确定程序重新运行后看门狗超时周期时间为确定的50ms,软件复位结束后硬件自动喂狗一次。
在30ms故障恢复任务中将判断看门狗故障离散量(WDV#)是否已被清除,若已清除则触发故障逻辑复位信号复位故障逻辑,恢复系统控制指令输出。此外,为了在系统开发阶段不致因看门狗超时导致无法正常调试,在开发调试状态下可通过禁止看门狗(DIS_WD#)离散量输出信号将WDV#信号清0。从而禁止因看门狗产生NMI和导致故障逻辑禁止计算机控制指令输出。
Claims (6)
1.一种容错控制系统看门狗电路管理方法,其特征在于:所述方法包括以下步骤:
1)对系统加电;
2)系统看门狗电路进行复位,并将看门狗计时器清零;
3)复位结束后,看门狗计时器开始计时,计时周期预先设置为看门狗故障恢复任务周期(按2倍最小控制周期迭代)和看门狗故障管理周期之间(按4倍最小控制周期迭代);
4)应用程序在每个最小控制周期进行软件喂狗操作;
5)应用程序是否在计时周期内进行喂狗操作,若否,则进行步骤6);
6)看门狗电路输出有效,并保持足够使系统进入中断服务时间的脉冲宽度;
7)系统是否处于调试开发状态,若否,则进行步骤8);
8)看门狗电路产生处理器中断信号,锁存故障指示信号,禁止故障计算机输出指令,抑制故障蔓延。
2.根据权利要求1所述的容错控制系统看门狗电路管理方法,其特征在于:所述步骤7)若系统处于调试状态,则进行以下步骤:
7.1)系统是否设置禁止看门狗中断信号,若是,则进行步骤7.2);
7.2)系统不产生处理器中断信号,无故障指示锁存,并返回步骤2);
3.根据权利要求2所述的容错控制系统看门狗电路管理方法,其特征在于:上述步骤8)的具体步骤是:
8.1)系统进入中断服务程序;
8.2)判断中断是否由狗叫引起,若是,则进行步骤8.3);
8.3)记录故障并置故障标记;
8.4)中断返回。
4.根据权利要求3所述的容错控制系统看门狗电路管理方法,其特征在于:所述步骤4)的具体步骤是:故障管理任务每四个控制周期执行一次检查是否有步骤8.3)设置的故障标志,故障恢复任务每2个控制周期执行一次检查是否有步骤4.1)设置的启动标志;
5.根据权利要求4所述的容错控制系统看门狗电路管理方法,其特征在于:上述步骤4)若故障管理任务检测到故障标记,则进行以下步骤:
4.1)设置故障恢复标志有效;
4.2)若故障恢复任务检测到故障恢复标志则启动故障恢复操作,尝试恢复故障。
6.根据权利要求2所述的容错控制系统看门狗电路管理方法,其特征在于:上述步骤7.1)若系统未设置禁止看门狗中断信号,则进行步骤8)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110300249.0A CN102360315B (zh) | 2011-09-30 | 2011-09-30 | 一种容错控制系统看门狗电路管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110300249.0A CN102360315B (zh) | 2011-09-30 | 2011-09-30 | 一种容错控制系统看门狗电路管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102360315A true CN102360315A (zh) | 2012-02-22 |
CN102360315B CN102360315B (zh) | 2014-05-28 |
Family
ID=45585646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110300249.0A Active CN102360315B (zh) | 2011-09-30 | 2011-09-30 | 一种容错控制系统看门狗电路管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102360315B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103036778A (zh) * | 2012-12-18 | 2013-04-10 | 上海斐讯数据通信技术有限公司 | 一种家庭网关设备中防止设备僵死的装置和方法 |
CN109582489A (zh) * | 2018-12-12 | 2019-04-05 | 陕西航空电气有限责任公司 | 一种基于max791看门狗电路mbit自检测的设计方法 |
CN111158941A (zh) * | 2019-12-10 | 2020-05-15 | 中国航空工业集团公司西安航空计算技术研究所 | 一种看门狗的故障诊断处理方法和装置 |
CN111914497A (zh) * | 2020-06-17 | 2020-11-10 | 中国航空工业集团公司洛阳电光设备研究所 | 一种dsp核心模块故障恢复方法 |
CN112097795A (zh) * | 2020-09-17 | 2020-12-18 | 北京航空航天大学 | 一种光纤陀螺故障高速诊断低速传递的方法 |
CN113886123A (zh) * | 2021-09-30 | 2022-01-04 | 蜂巢能源科技有限公司 | 一种看门狗喂狗方法、装置、电子设备及存储介质 |
CN117806880A (zh) * | 2024-02-29 | 2024-04-02 | 中国科学院长春光学精密机械与物理研究所 | 一种存储器双模冗余切换电路 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030084381A1 (en) * | 2001-11-01 | 2003-05-01 | Gulick Dale E. | ASF state determination using chipset-resident watchdog timer |
CN101149636A (zh) * | 2007-10-23 | 2008-03-26 | 华为技术有限公司 | 复位系统和方法 |
CN101968756A (zh) * | 2010-09-29 | 2011-02-09 | 航天东方红卫星有限公司 | 一种基于fpga的星载计算机自主切机系统 |
-
2011
- 2011-09-30 CN CN201110300249.0A patent/CN102360315B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030084381A1 (en) * | 2001-11-01 | 2003-05-01 | Gulick Dale E. | ASF state determination using chipset-resident watchdog timer |
CN101149636A (zh) * | 2007-10-23 | 2008-03-26 | 华为技术有限公司 | 复位系统和方法 |
CN101968756A (zh) * | 2010-09-29 | 2011-02-09 | 航天东方红卫星有限公司 | 一种基于fpga的星载计算机自主切机系统 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103036778A (zh) * | 2012-12-18 | 2013-04-10 | 上海斐讯数据通信技术有限公司 | 一种家庭网关设备中防止设备僵死的装置和方法 |
CN103036778B (zh) * | 2012-12-18 | 2018-05-01 | 上海斐讯数据通信技术有限公司 | 一种家庭网关设备中防止设备僵死的装置和方法 |
CN109582489A (zh) * | 2018-12-12 | 2019-04-05 | 陕西航空电气有限责任公司 | 一种基于max791看门狗电路mbit自检测的设计方法 |
CN109582489B (zh) * | 2018-12-12 | 2022-08-02 | 陕西航空电气有限责任公司 | 一种基于max791看门狗电路mbit自检测的设计方法 |
CN111158941A (zh) * | 2019-12-10 | 2020-05-15 | 中国航空工业集团公司西安航空计算技术研究所 | 一种看门狗的故障诊断处理方法和装置 |
CN111914497A (zh) * | 2020-06-17 | 2020-11-10 | 中国航空工业集团公司洛阳电光设备研究所 | 一种dsp核心模块故障恢复方法 |
CN111914497B (zh) * | 2020-06-17 | 2024-04-09 | 中国航空工业集团公司洛阳电光设备研究所 | 一种dsp核心模块故障恢复方法 |
CN112097795A (zh) * | 2020-09-17 | 2020-12-18 | 北京航空航天大学 | 一种光纤陀螺故障高速诊断低速传递的方法 |
CN112097795B (zh) * | 2020-09-17 | 2023-02-24 | 北京航空航天大学 | 一种光纤陀螺故障高速诊断低速传递的方法 |
CN113886123A (zh) * | 2021-09-30 | 2022-01-04 | 蜂巢能源科技有限公司 | 一种看门狗喂狗方法、装置、电子设备及存储介质 |
CN117806880A (zh) * | 2024-02-29 | 2024-04-02 | 中国科学院长春光学精密机械与物理研究所 | 一种存储器双模冗余切换电路 |
CN117806880B (zh) * | 2024-02-29 | 2024-05-14 | 中国科学院长春光学精密机械与物理研究所 | 一种存储器双模冗余切换电路 |
Also Published As
Publication number | Publication date |
---|---|
CN102360315B (zh) | 2014-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102360315B (zh) | 一种容错控制系统看门狗电路管理方法 | |
US7055117B2 (en) | System and method for debugging system-on-chips using single or n-cycle stepping | |
Ornstein et al. | Pluribus: a reliable multiprocessor | |
CN101976217B (zh) | 网络处理器异常检测方法及系统 | |
KR20190079809A (ko) | 결함 주입 테스트 장치 및 그 방법 | |
CN102681907B (zh) | 一种多功能看门狗电路 | |
CN101556551B (zh) | 设备故障日志的硬件获取系统及方法 | |
CN102467417B (zh) | 计算机系统 | |
CN102141947A (zh) | 一种对采用嵌入式操作系统的计算机应用系统中异常任务的处理方法及系统 | |
CN103106128A (zh) | 冷启动开关机测试方法及冷启动开关机测试系统 | |
US20160335149A1 (en) | Peripheral Watchdog Timer | |
CN102799212B (zh) | 用于多核多处理器并行系统的全局时钟系统及其使用方法 | |
US9524007B2 (en) | Diagnostic systems and methods of finite state machines | |
Taşar et al. | A study of intermittent faults in digital computers | |
CN105426263B (zh) | 一种实现金库系统安全运行的方法及系统 | |
CN103257922A (zh) | 一种快速测试bios与os接口代码可靠性的方法 | |
CN104156289A (zh) | 基于检测电路的同步控制方法及系统 | |
Reghenzani et al. | Software fault tolerance in real-time systems: Identifying the future research questions | |
CN109960599A (zh) | 芯片系统及其看门狗自检方法、电器设备 | |
KR20180134677A (ko) | 결함 주입 테스트 방법 및 장치 | |
CN114488915A (zh) | 一种mcu非正常复位的处理方法及实现该方法的电能表 | |
CN114217925A (zh) | 一种实现异常自动重启的业务程序运行监控方法及系统 | |
CN105391575B (zh) | 一种金库控制方法及系统 | |
CN101403989B (zh) | 半导体集成电路 | |
CN202735949U (zh) | 一种mcr控制器用双cpu稳定复位装置 |
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 |