Cpu系统深度休眠模式下的故障自恢复装置的制造方法
【技术领域】
[0001]本发明涉及一种CPU系统的故障自恢复装置,尤其涉及一种CPU系统深度休眠模式下的故障自恢复装置。该装置适用于无人值守的无线数据监控等行业。
【背景技术】
[0002]在无人值守的无线数据监控行业(如水文水资源监控、气象监控,煤矿监控,自来水管网监控,油田监控等),都要求现场的采集设备和通信设备具有低功耗、高可靠性的特点。为了降低功耗,传统办法之一,就是让系统在不需要工作的时候进入普通休眠模式,此模式下系统的时钟、喂狗等进程仍在运行,所以系统仍有较大的功耗,达不到低功耗的要求。传统办法之二,就是让系统在不需要工作时进入深度休眠模式,在此模式下,系统的时钟、喂狗等所有进程停止,只能响应外部中断,所以系统的功耗降到最低,几乎为零。在深度休眠模式下,由于系统无法产生喂狗信号,所以必须在深度休眠期间关闭看门狗功能,直到系统被外部中断唤醒后才能重新开启看门狗功能并喂狗。而在恶劣的应用环境下,系统随时都有可能出现故障,若在看门狗功能关闭期间系统出现故障,系统将永远无法恢复,出现“死机”的情况。可见,这种办法无法保证系统的可靠性。总之,传统的两种办法都无法同时满足低功耗和高可靠性的应用需求。
【发明内容】
[0003]本发明的目的在于解决以上问题,提供一种CPU系统深度休眠模式下的故障自恢复装置。当CPU系统进入深度休眠模式后,系统功耗几乎降为零,若此期间系统出现故障,该发明装置能让系统自行恢复,从而保证系统可靠运行。
[0004]为达成上述目的,本发明采用如下技术方案:
CPU系统深度休眠模式下的故障自恢复装置,主要包括相互连接配合的CPU 1、实时时钟(RTC)模块2、信号触发模块3、看门狗模块4。其中,CPU I同时连接看门狗模块4和实时时钟(RTC)模块2,CPU I在唤醒状态下开启看门狗功能并正常喂狗,也对实时时钟(RTC)模块2进行控制。为了最大限度降低功耗,CPU I在完成相应工作后关闭看门狗功能,控制实时时钟(RTC)模块2进入定时状态,而后CPU I进入深度休眠模式;实时时钟(RTC)模块2根据CPU I的控制指令进入相应的定时工作状态,且在设定的定时时间到来时输出低电平的唤醒中断信号给CPU I用以唤醒CPU,同时也将该唤醒中断信号输出给信号触发模块3 ;信号触发模块3将该唤醒中断信号经过缓冲隔离后传送给看门狗模块4用以开启看门狗功能;看门狗模块4接收到信号触发模块3输出的看门狗功能开启信号后将看门狗功能开启。若此时CPU I存在故障,即CPU I未唤醒或唤醒后不能正常工作,则CPU I没有正常喂狗,此时功能已经被开启的看门狗将在规定时间内产生复位信号对CPU I进行复位,从而完成故障的自行恢复。
[0005]进一步,所述的CPU I通过I2C接口和实时时钟(RTC)模块2进行连接通信;且同时连接看门狗模块4,可开启/关闭看门狗和喂狗。进一步,所述的实时时钟(RTC)模块2连接独立的电池供电;该模块产生的唤醒中断信号连接CPU I用以唤醒CPU,同时该信号连接信号触发模块3。
[0006]进一步,所述的信号触发模块3主要由2个三极管组成,完成缓冲和隔离的作用。当该模块输入为高电平时,经过缓冲和隔离后,输出为高阻态。当该模块输入为低电平时,其输出则为低电平。
[0007]进一步,所述的看门狗模块4包含看门狗芯片,看门狗的喂狗由CPU I完成,看门狗产生的复位信号可对CPU I进行复位。看门狗功能的开启/关闭由CPU I和信号触发模块3控制。当信号触发模块3的输出为高阻态时,相当于信号触发模块3和看门狗模块4断开连接,此时看门狗的开启/关闭完全由CPU I控制。当信号触发模块3的输出为低电平时,看门狗功能被开启,此时CPU I无法关闭看门狗功能。当看门狗功能被开启后,若CPUI出现故障,看门狗则产生复位信号对CPU I进行复位。
[0008]采用上述技术方案,该发明可保证CPU系统在深度休眠模式下出现故障可自行恢复,既满足低功耗的要求,又满足高可靠性的要求。
【附图说明】
[0009]图1为本发明的结构示意图;
图2为本发明的电路连接关系示意图。
【具体实施方式】
[0010]以下结合附图及实施对本发明进一步详述。
[0011]如图1、图2所示,CPU系统深度休眠模式下的故障自恢复装置主要原理是:通过实时时钟(RTC)定时(定时时间可设置)产生唤醒中断信号用以唤醒CPU,同时该唤醒中断信号经过缓冲隔离后开启看门狗功能,若CPU出现故障,则功能已经被开启的看门狗将在规定时间内产生复位信号对CPU进行复位,从而完成故障的自行恢复。该装置主要包括相互连接配合的CPU 1、实时时钟(RTC)模块2、信号触发模块3、看门狗模块4。其中,CPU I同时连接看门狗模块4和实时时钟(RTC)模块2,CPU I在唤醒状态下开启看门狗功能并正常喂狗,也对实时时钟(RTC)模块2进行控制。为了最大限度降低功耗,CPU I在完成相应工作后关闭看门狗功能,控制实时时钟(RTC)模块2进入定时状态,而后CPU I进入深度休眠模式;实时时钟(RTC)模块2根据CPU I的控制指令进入相应的定时工作状态,且在设定的定时时间到来时输出低电平的唤醒中断信号给CPU I用以唤醒CPU,同时也将该唤醒中断信号输出给信号触发模块3 ;信号触发模块3将该唤醒中断信号经过缓冲隔离后传送给看门狗模块4用以开启看门狗功能;看门狗模块4接收到信号触发模块3输出的看门狗功能开启信号后将看门狗功能开启。若此时CPU I存在故障,即CPU I未唤醒或唤醒后不能正常工作,则CPU I没有正常喂狗,此时功能已经被开启的看门狗将在规定时间内产生复位信号对CPU I进行复位,从而完成故障的自行恢复。
[0012]CPU I:CPU I同时连接看门狗模块4和实时时钟(RTC)模块2。CPU I和实时时钟(RTC)模块2之间通过I2C接口(SCL,SDA)和中断信号RTC_INT相连接。CPU I被中断信号RTC_INT唤醒后先清除实时时钟(RTC)模块2的中断,即可使信号RTC_INT变为高电平,该高电平信号又使信号触发模块3的输出为高阻态,此时信号触发模块3和看门狗模块4相当于断开连接,看门狗功能完全由CPU控制。CPU I和看门狗模块4之间通过WDI信号和RESET信号相连接。CPU I在唤醒状态下先设置TOI信号所对应的1为输出模式(W)I即为确定的高电平或低电平),即可开启看门狗功能。而后,CPU I控制WDI信号正常喂狗。为了最大限度降低功耗,CPU I在完成相应工作后,通过设置WDI信号所对应的1为输入模式(WDI即为悬空态)来关闭看门狗功能,并通过I2C接口控制实时时钟(RTC)模块2开始定时(定时时间可设),然后CPU I进入深度休眠模式。此时,
CPU系统的功耗几乎降为零。
[0013]实时时钟(RTC)模块2:实时时钟(RTC)模块2连接独立的电池供电。该模块根据CPU I的控制指令进入相应的定时工作状态,此时该模块输出的RTC_INT为高电平,该高电平信号又使信号触发模块3的输出为高阻态。当设定的定时时间到来时,实时时钟(RTC)模块2输出的RTC_INT变为低电平,该低电平信号用以唤醒CPU,同时也使信号触发模块3的输出为低电平,进而开启看门狗功能。此时存在两种情况:1、若CPU I被低电平的中断信号唤醒且正常运行,则CPU I清除实时时钟(RTC)模块2的中断,即可使信号RTC_INT变为高电平。同时,CPU I开启看门狗功能并正常喂狗,并在完成相应工作后关闭看门狗功能,控制实时时钟(RTC)模块2进入定时状态,而后CPU I进入下一轮的深度休眠状态。2、若CPU I存在故障,即CPU I未唤醒或唤醒后不能正常工作,则CPU I没有正常喂狗,此时功能已经被开启的看门狗将在规定时间内产生复位信号对CPU I进行复位,从而完成故障的自行恢复。CPU I重启后,开启看门狗功能并正常喂狗,并在完成相应工作后关闭看门狗功能,进入下一轮的深度休眠状态。
[0014]信号触发模块3:信号触发模块3同时连接实时时钟(RTC)模块2和看门狗模块
4。信号触发模块3主要由2个三极管组成,完成缓冲和隔离的作用。当该模块的输入为高电平时,三极管Q2的第I脚为高电平,三极管Q2导通,从而三极管Q3的第I脚被拉为低电平,Q3不导通。此时信号触发模块3的输出为高阻态,相当于信号触发模块3和看门狗模块4断开连接,看门狗的功能完全由CPU I控制。当信号触发模块3的输入为低电平时,三极管Q2的第I脚为低电平,三极管Q2不导通。此时三极管Q3的第I脚为高电平,三极管Q3导通。此时信号触发模块3的输出为低电平,该低电平信号开启看门狗功能。
[0015]看门狗模块4:看门狗模块4同时连接信号触发模块3和CPU I。看门狗功能的开启/关闭和喂狗由WDI信号控制,当WDI信号为悬空态时,看门狗功能被关闭。当WDI信号为高电平或低电平时,开门狗功能被开启。当WDI信号为高低跳变的信号时,看门狗正常喂狗。当超过规定时间没有正常喂狗时,看门狗产生RESET信号,该信号可对CPU I进行复位。看门狗功能的开启/关闭由CPU I和信号触发模块3控制。当信号触发模块3的输出为高阻态时,相当于信号触发模块3和看门狗模块4断开连接,此时看门狗的开启/关闭完全由CPU I控制。当信号触发模块3的输出为低电平时,看门狗功能被开启,此时CPU I无法关闭看门狗功能。当看门狗功能被开启后,若CPU I出现故障,看门狗则产生复位信号对CPUI进行复位。
[0016]工作流程如下:CPU I在唤醒状态下开启看门狗功能并正常喂狗,为了最大限度降低功耗,CPU I在完成相应工作后关闭看门狗功能,控制实时时钟(RTC)模块2进入定时状态,而后CPU I进入深度休眠模式;实时时钟(RTC)模块2在设定的定时时间到来时输出低电平的唤醒中断信号给CPU I用以唤醒CPU,同时也将该唤醒中断信号输出给信号触发模块3 ;信号触发模块3将该唤醒中断信号经过缓冲隔离后将看门狗功能开启。若此时CPUI存在故障,即CPU I未唤醒或唤醒后不能正常工作,则CPU I没有正常喂狗,此时功能已经被开启的看门狗将在规定时间内产生复位信号对CPU I进行复位,从而完成故障的自行恢复。
【主权项】
1.CPU系统深度休眠模式下的故障自恢复装置,其特征在于:主要包括相互连接配合的CPU、实时时钟模块、信号触发模块、看门狗模块;其中,CPU同时连接看门狗模块和实时时钟模块,CPU在唤醒状态下开启看门狗功能并正常喂狗,也对实时时钟模块2进行控制;CPU在完成相应工作后关闭看门狗功能,控制实时时钟模块进入定时状态,而后CPU进入深度休眠模式;实时时钟模块根据CPU的控制指令进入相应的定时工作状态,且在设定的定时时间到来时输出低电平的唤醒中断信号给CPU用以唤醒CPU,同时也将该唤醒中断信号输出给信号触发模块;信号触发模块将该唤醒中断信号经过缓冲隔离后传送给看门狗模块用以开启看门狗功能;看门狗模块接收到信号触发模块输出的看门狗功能开启信号后将看门狗功能开启;若此时CPU存在故障,即CPU未唤醒或唤醒后不能正常工作,则CPU没有正常喂狗,此时功能已经被开启的看门狗将在规定时间内产生复位信号对CPU进行复位,从而完成故障的自行恢复。2.如权利要求1所述的CPU系统深度休眠模式下的故障自恢复装置,其特征在于:所述的CPU通过I2C接口和实时时钟模块2进行连接通信;且同时连接看门狗模块,可开启/关闭看门狗和喂狗。3.如权利要求1所述的CPU系统深度休眠模式下的故障自恢复装置,其特征在于:所述的实时时钟模块连接独立的电池供电;该模块产生的唤醒中断信号连接CPU用以唤醒CPU,同时该信号连接信号触发模块。4.如权利要求1所述的CPU系统深度休眠模式下的故障自恢复装置,其特征在于:所述的信号触发模块主要由2个三极管组成,完成缓冲和隔离的作用;当该模块输入为高电平时,经过缓冲和隔离后,输出为高阻态。5.当该模块输入为低电平时,其输出则为低电平。6.如权利要求1所述的CPU系统深度休眠模式下的故障自恢复装置,其特征在于:所述的看门狗模块包含看门狗芯片,看门狗的喂狗由CPU完成,看门狗产生的复位信号可对CPU进行复位。7.看门狗功能的开启/关闭由CPU和信号触发模块控制;当信号触发模块的输出为高阻态时,相当于信号触发模块和看门狗模块断开连接,此时看门狗的开启/关闭完全由CPU控制。8.当信号触发模块的输出为低电平时,看门狗功能被开启,此时CPU无法关闭看门狗功能;当看门狗功能被开启后,若CPU出现故障,看门狗则产生复位信号对CPU进行复位。
【专利摘要】CPU系统深度休眠模式下的故障自恢复装置,包括CPU、实时时钟模块、信号触发模块、看门狗模块;CPU同时连接看门狗和实时时钟模块,CPU在唤醒状态下开启并正常喂狗,也对实时时钟模块进行控制;CPU在完成相应工作后关闭看门狗,控制实时时钟模块进入定时状态后进入深度休眠模式;实时时钟模块根据控制指令进入相应的定时工作状态,且在设定的定时时间到来时唤醒CPU,同时也将信号输出给信号触发模块;信号触发模块将该信号传送给看门狗模块;看门狗模块接收到信号触发模块输出的看门狗功能开启信号;若此时CPU存在故障没有正常喂狗,此时功能已经被开启的看门狗将在规定时间内对CPU进行复位,完成故障的自行恢复。
【IPC分类】G06F11/07
【公开号】CN104899112
【申请号】CN201510365156
【发明人】陈淑武, 邹峰, 钟冰强
【申请人】厦门四信通信科技有限公司
【公开日】2015年9月9日
【申请日】2015年6月29日