一种基于单片机的cpu复位控制系统、方法及装置制造方法

文档序号:6549818阅读:106来源:国知局
一种基于单片机的cpu复位控制系统、方法及装置制造方法
【专利摘要】本发明公开了一种基于单片机的CPU复位控制系统、方法及装置,用以解决现有技术中的看门狗电路不仅占用CPU资源,增加负载,还会出现CPU循环重启死锁现象,适用性较低的问题,该系统包括CPU和单片机,其中,单片机,用于在CPU上电启动阶段,接收CPU发送的第一响应信号,根据对应CPU上电启动阶段预设的第一定时周期,向CPU发送复位控制信息;并在CPU正常运行阶段,接收CPU发送的第二响应信号,根据对应CPU正常运行阶段预设的第二定时周期,向CPU发送复位控制信息。这样,通过采用微型通用的单片机,成本低、功耗小、可移植性强,不需要等待看门狗定时周期溢出,即可实现硬件的复位操作,缩短了设备的故障时间。
【专利说明】一种基于单片机的CPU复位控制系统、方法及装置

【技术领域】
[0001]本发明涉及嵌入式计算机设备领域,尤其涉及一种基于单片机的CPU复位控制系统、方法及装置。

【背景技术】
[0002]看门狗(watchdog)电路是一种特定功能的定时复位电路,主要运用于通信、计算机自动化控制等领域。看门狗电路是通过定时器来监视中央处理器(Central ProcessUnit, CPU)的运行情况,如果CPU程序出现异常,没有在特定的时间内给看门狗电路提供符合特征要求的信号,则看门狗电路会输出一个复位信号使CPU复位重启。
[0003]参阅图1所示,看门狗电路的基本工作原理是:看门狗芯片内部有一个定时器,设置定时器开启以后,必须在定时周期T内,收到有效的喂狗信号,接收到喂狗信号以后,看门狗芯片将定时器清零并开始下一个计时周期。如果超过一个计时周期看门狗电路没有接收到有效的喂狗信号,内部计时器超时溢出,则会输出复位信号使系统重启。
[0004]传统看门狗电路主要存在两点不足:
[0005]第一,为了不在CPU程序正常运行时出现异常重启,CPU需要在喂狗周期内定时输出喂狗信号,这就需要CPU将喂狗的任务优先级别设置为高,且喂狗周期频繁,占用CPU资源,增加负载,也会影响CPU处理其他任务的效率。
[0006]第二,对于通信系统或者其他较复杂的大型嵌入式系统,CPU上电启动过程需要耗费较长时间,因此,CPU在启动时执行某一个任务时或者初始化时,所耗时间有可能长于一般的看门狗定时周期,这就会出现CPU来不及喂狗而使系统异常重启的现象,进而导致出现CPU循环重启死锁现象,显然,传统的看门狗电路在大型的嵌入式系统中不适用。
[0007]总之,采用传统的看门狗电路实现CPU的复位控制不仅占用CPU资源,增加负载,进而影响CPU处理其他任务的效率,且针对复杂的大型嵌入式系统时,会出现CPU循环重启死锁现象,适用性较低。


【发明内容】

[0008]本发明实施例提供一种基于单片机的CPU复位控制系统、方法及装置,用以解决现有技术中存在的采用传统的看门狗电路实现CPU的复位控制不仅占用CPU资源,增加负载,进而影响CPU处理其他任务的效率,且针对复杂的大型嵌入式系统时,会出现CPU循环重启死锁现象,适用性较低的问题。
[0009]本发明实施例提供的具体技术方案如下:
[0010]—种基于单片机的中央处理器CPU复位控制系统,包括:
[0011]CPU,用于在上电启动阶段,向单片机发送第一响应信号,并在正常运行阶段,向单片机发送第二响应信号;并基于单片机返回的复位控制信息,进行复位重启;
[0012]单片机,用于在所述CPU上电启动阶段,接收所述CPU发送的第一响应信号,根据对应CPU上电启动阶段预设的第一定时周期,向所述CPU发送复位控制信息;并在所述CPU正常运行阶段,接收所述CPU发送的第二响应信号,根据对应CPU正常运行阶段预设的第二定时周期,向所述CPU发送复位控制信息。
[0013]这样,可以实现监控CPU上电启动阶段和CPU正常运行阶段的看门狗功能,避免了(PU上电启动过程耗时较长出现循环重启死锁的现象,且通过采用微型通用的单片机,成本低、功耗小、可移植性强,进行可以运用于不同的平台。
[0014]较佳地,CPU具体用于:
[0015]在上电启动阶段,向所述单片机发送频率为fl的第一响应信号,并在正常运行阶段,向所述单片机发送频率为f2的第二响应信号。
[0016]这样,CPU可以根据不同的运行阶段向单片机发送不同的响应信号,避免了采用相同频率的响应信号,导致CPU在上电启动过程耗时过程出现循环重启死锁现象以及CPU在正常运行阶段中CPU异常无法及时实现复位重启。
[0017]较佳地,所述CPU发送的第一响应信号对应的频率Π小于第二响应信号对应的频率f2。
[0018]这样,可以跟对不同的运行阶段向单片机发送不同的响应信号。
[0019]较佳地,所述CPU还用于:
[0020]检测到自身运行异常时,向所述单片机发送复位重启请求。
[0021]这样,在CPU检测到自身运行异常时,可以快速通知单片机实现硬件重启,缩短了系统故障时间。
[0022]较佳地,所述单片机还用于:
[0023]接收到所述CPU发送的复位重启请求后,向所述CPU发送复位控制信息。
[0024]这样,在CPU检测到自身运行异常时,在任何定时周期内都能够响应CPU的复位重启请求,不需要等待看门狗定时周期溢出,就可以实现硬件的复位操作,缩短了设备的故障时间。
[0025]较佳地,所述单片机具体用于:
[0026]接收所述CPU发送的第一响应信号,判断接收到所述第一响应信号的时刻是否处于所述预设的第一定时周期内,若是,则继续向所述CPU发送高电平的复位控制信息;否贝U,向所述CPU发送低电平的复位控制信息;
[0027]接收所述CPU发送的第二响应信号,判断接收到所述第二响应信号的时刻是否处于所述预设的第二定时周期内,若是,则继续向所述CPU发送高电平的复位控制信息;否贝U,向所述CPU发送低电平的复位控制信息。
[0028]这样,单片机可以根据CPU不同的运行阶段输出的不同的响应信号,进行监控,并在定时周期内未收到响应信号则确定该CPU异常,实现CPU复位重启。
[0029]较佳地,所述单片机进一步用于:
[0030]接收到所述CPU发送的第一响应信号后,将当前的第一定时周期结束,并在结束时刻开始下一个第一定时周期;以及
[0031]接收到所述CPU发送的第二响应信号后,将当前的第二定时周期结束,并在结束时刻开始下一个第二定时周期。
[0032]这样,在接收到响应信号即结束当前定时周期,避免了两个响应信号的间隔时间与对应的定时周期不一致时,导致单片机的判断结果不准确。
[0033]较佳地,所述CPU上电启动阶段为一个第一定时周期。
[0034]这样,可以根据CPU上电启动的耗时设定第一定时周期。
[0035]较佳地,所述第一定时周期大于所述第二定时周期。
[0036]这样,针对CPU不同的运行阶段发送的不同响应信号设置不同的定时周期,提高了单片机的判断结果的准确性。
[0037]较佳地,所述CPU还用于:
[0038]基于单片机返回的低电平的复位控制信息,进行复位重启。
[0039]这样,当CPU接收到单片机发送低电平复位控制信息时,就会进行复位重启操作。
[0040]一种基于单片机的中央处理器CPU复位控制方法,包括:
[0041]在CPU上电启动阶段,接收所述CPU发送的第一响应信号,根据对应CPU上电启动阶段预设的第一定时周期,向所述CPU发送复位控制信息;
[0042]在所述CPU正常运行阶段,接收所述CPU发送的第二响应信号,根据对应CPU正常运行阶段预设的第二定时周期,向所述CPU发送复位控制信息。
[0043]采用这种方法,可以实现监控CPU上电启动阶段和CPU正常运行阶段的看门狗功能,避免了 CPU上电启动过程耗时较长出现循环重启死锁的现象,且通过采用微型通用的单片机,成本低、功耗小、可移植性强,进行可以运用于不同的平台。
[0044]较佳地,还包括:
[0045]接收到所述CPU检测到自身运行异常时发送的复位重启请求后,向所述CPU发送复位控制信息。
[0046]采用这种方法,在CPU检测到自身运行异常时,在任何定时周期内都能够响应CPU的复位重启请求,不需要等待看门狗定时周期溢出,就可以实现硬件的复位操作,缩短了设备的故障时间。
[0047]较佳地,接收所述CPU发送的第一响应信号,根据对应CPU上电启动阶段预设的第一定时周期,向所述CPU发送复位控制信息,包括:
[0048]接收所述CPU发送的第一响应信号,判断接收到所述第一响应信号的时刻是否处于所述预设的第一定时周期内,若是,则继续向所述CPU发送高电平的复位控制信息;否贝U,向所述CPU发送低电平的复位控制信息;
[0049]接收所述CPU发送的第二响应信号,根据对应CPU正常运行阶段预设的第二定时周期,向所述CPU发送复位控制信息,包括:
[0050]接收所述CPU发送的第二响应信号,判断接收到所述第二响应信号的时刻是否处于所述预设的第二定时周期内,若是,则继续向所述CPU发送高电平的复位控制信息;否贝U,向所述CPU发送低电平的复位控制信息。
[0051]采用这种方法,单片机可以根据CPU不同的运行阶段输出的不同的响应信号,进行监控,并在定时周期内未收到响应信号则确定该CPU异常,实现CPU复位重启。
[0052]较佳地,接收到所述CPU发送的第一响应信号后,还包括:
[0053]将当前的第一定时周期结束,并在结束时刻开始下一个第一定时周期;
[0054]接收到所述CPU发送的第二响应信号后,还包括:
[0055]将当前的第二定时周期结束,并在结束时刻开始下一个第二定时周期。
[0056]采用这种方法,在接收到响应信号即结束当前定时周期,避免了两个响应信号的间隔时间与对应的定时周期不一致时,导致单片机的判断结果不准确。
[0057]较佳地,所述CPU上电启动阶段为一个第一定时周期。
[0058]采用这种方法,可以根据CPU上电启动的耗时设定第一定时周期。
[0059]较佳地,所述第一定时周期大于所述第二定时周期。
[0060]采用这种方法,针对CPU不同的运行阶段发送的不同响应信号设置不同的定时周期,提高了单片机的判断结果的准确性。
[0061]一种基于单片机的中央处理器CPU复位控制方法,包括:
[0062]在上电启动阶段,向单片机发送第一响应信号,并接收所述单片机基于所述第一响应信号返回的复位控制信息,根据所述复位控制信息,进行复位重启;
[0063]在正常运行阶段,向单片机发送第二响应信号,并接收所述单片机基于所述第二响应信号返回的复位控制信息,根据所述复位控制信息,进行复位重启。
[0064]采用这种方法,可以实现监控CPU上电启动阶段和CPU正常运行阶段的看门狗功能,避免了 CPU上电启动过程耗时较长出现循环重启死锁的现象,且通过采用微型通用的单片机,成本低、功耗小、可移植性强,进行可以运用于不同的平台。
[0065]较佳地,在上电启动阶段,向单片机发送第一响应信号,包括:
[0066]在上电启动阶段,向所述单片机发送频率为fl的第一响应信号;
[0067]在正常运行阶段,向单片机发送第二响应信号,包括:
[0068]在正常运行阶段,向所述单片机发送频率为f2的第二响应信号。
[0069]采用这种方法,CPU可以根据不同的运行阶段向单片机发送不同的响应信号,避免了采用相同频率的响应信号,导致CPU在上电启动过程耗时过程出现循环重启死锁现象以及CPU在正常运行阶段中CPU异常无法及时实现复位重启。
[0070]较佳地,第一响应信号对应的频率Π小于第二响应信号对应的频率f2。
[0071]采用这种方法,可以跟对不同的运行阶段向单片机发送不同的响应信号。
[0072]较佳地,还包括:
[0073]检测到自身运行异常时,向所述单片机发送复位重启请求。
[0074]采用这种方法,在CPU检测到自身运行异常时,可以快速通知单片机实现硬件重启,缩短了系统故障时间。
[0075]较佳地,根据所述复位控制信息,进行复位重启,包括:
[0076]根据单片机返回的低电平的复位控制信息,进行复位重启。
[0077]采用这种方法,当CPU接收到单片机发送低电平复位控制信息时,就会进行复位重启操作。
[0078]一种基于单片机的中央处理器CPU复位控制装置,包括:
[0079]第一处理单元,用于在CPU上电启动阶段,接收所述CPU发送的第一响应信号,根据对应CPU上电启动阶段预设的第一定时周期,向所述CPU发送复位控制信息;
[0080]第二处理单元,用于在所述CPU正常运行阶段,接收所述CPU发送的第二响应信号,根据对应CPU正常运行阶段预设的第二定时周期,向所述CPU发送复位控制信息。
[0081]这样,可以实现监控CPU上电启动阶段和CPU正常运行阶段的看门狗功能,避免了(PU上电启动过程耗时较长出现循环重启死锁的现象,且通过采用微型通用的单片机,成本低、功耗小、可移植性强,进行可以运用于不同的平台。
[0082]较佳地,还包括:
[0083]第三处理单元,用于接收到所述CPU检测到自身运行异常时发送的复位重启请求后,向所述CPU发送复位控制信息。
[0084]这样,在CPU检测到自身运行异常时,在任何定时周期内都能够响应CPU的复位重启请求,不需要等待看门狗定时周期溢出,就可以实现硬件的复位操作,缩短了设备的故障时间。
[0085]较佳地,所述第一处理单元具体用于:
[0086]所述第一处理单元接收所述CPU发送的第一响应信号,判断接收到所述第一响应信号的时刻是否处于所述预设的第一定时周期内,若是,则继续向所述CPU发送高电平的复位控制信息;否则,向所述CPU发送低电平的复位控制信息;
[0087]所述第二处理单元具体用于:
[0088]所述第二处理单元接收所述CPU发送的第二响应信号,判断接收到所述第二响应信号的时刻是否处于所述预设的第二定时周期内,若是,则继续向所述CPU发送高电平的复位控制信息;否则,向所述CPU发送低电平的复位控制信息。
[0089]这样,单片机可以根据CPU不同的运行阶段输出的不同的响应信号,进行监控,并在定时周期内未收到响应信号则确定该CPU异常,实现CPU复位重启。
[0090]较佳地,所述第一处理单元还用于:接收到所述CPU发送的第一响应信号后,将当前的第一定时周期结束,并在结束时刻开始下一个第一定时周期;
[0091]所述第二处理单元还用于:
[0092]接收到所述CPU发送的第二响应信号后,将当前的第二定时周期结束,并在结束时刻开始下一个第二定时周期。
[0093]较佳地,在接收到响应信号即结束当前定时周期,避免了两个响应信号的间隔时间与对应的定时周期不一致时,导致单片机的判断结果不准确。
[0094]较佳地,所述CPU上电启动阶段为一个第一定时周期。
[0095]这样,可以根据CPU上电启动的耗时设定第一定时周期。
[0096]较佳地,所述第一定时周期大于所述第二定时周期。
[0097]较佳地,针对CPU不同的运行阶段发送的不同响应信号设置不同的定时周期,提高了单片机的判断结果的准确性。
[0098]一种基于单片机的中央处理器CPU复位控制装置,包括:
[0099]第一运行单元,用于在上电启动阶段,向单片机发送第一响应信号,并接收所述单片机基于所述第一响应信号返回的复位控制信息,根据所述复位控制信息,进行复位重启;
[0100]第二运行单元,用于在正常运行阶段,向单片机发送第二响应信号,并接收所述单片机基于所述第二响应信号返回的复位控制信息,根据所述复位控制信息,进行复位重启。
[0101]这样,可以实现监控CPU上电启动阶段和CPU正常运行阶段的看门狗功能,避免了(PU上电启动过程耗时较长出现循环重启死锁的现象,且通过采用微型通用的单片机,成本低、功耗小、可移植性强,进行可以运用于不同的平台。
[0102]较佳地,所述第一运行单元,具体用于:
[0103]在上电启动阶段,向所述单片机发送频率为fl的第一响应信号;
[0104]所述第二运行单元,具体用于:
[0105]在正常运行阶段,向所述单片机发送频率为f2的第二响应信号。
[0106]这样,CPU可以根据不同的运行阶段向单片机发送不同的响应信号,避免了采用相同频率的响应信号,导致CPU在上电启动过程耗时过程出现循环重启死锁现象以及CPU在正常运行阶段中CPU异常无法及时实现复位重启。
[0107]较佳地,第一响应信号对应的频率Π小于第二响应信号对应的频率f2。
[0108]这样,可以跟对不同的运行阶段向单片机发送不同的响应信号。
[0109]较佳地,还包括:
[0110]第三运行单元,用于检测到自身运行异常时,向所述单片机发送复位重启请求。
[0111]这样,在CPU检测到自身运行异常时,可以快速通知单片机实现硬件重启,缩短了系统故障时间。
[0112]较佳地,所述第一运行单元还用于:
[0113]根据单片机返回的低电平的复位控制信息,进行复位重启;
[0114]所述第二运行单元还用于:
[0115]根据单片机返回的低电平的复位控制信息,进行复位重启。
[0116]这样,当CPU接收到单片机发送低电平复位控制信息时,就会进行复位重启操作。
[0117]采用本发明技术方案,可以实现监控CPU上电启动阶段和CPU正常运行阶段的看门狗功能,避免了 CPU上电启动过程耗时较长出现循环重启死锁的现象,且通过采用微型通用的单片机,成本低、功耗小、可移植性强,进行可以运用于不同的平台,在任何定时周期内都能够响应CPU的复位重启请求,不需要等待看门狗定时周期溢出,就可以实现硬件的复位操作,缩短了设备的故障时间。

【专利附图】

【附图说明】
[0118]图1为本发明实施例提供的一种基于单片机的CPU复位控制系统的结构示意图;
[0119]图2为本发明实施例提供的单片机侧的一种基于单片机的CPU复位控制方法的具体流程图;
[0120]图3为本发明实施例提供的CPU侧的一种基于单片机的CPU复位控制方法的具体流程图;
[0121]图4为本发明实施例提供的一种基于单片机的CPU复位控制电路;
[0122]图5为本发明实施例提供的一种基于单片机的CPU复位控制方法的流程图;
[0123]图6为本发明实施例提供的单片机侧的一种基于单片机的CPU复位控制装置的结构示意图;
[0124]图7为本发明实施例提供的CPU侧的一种基于单片机的CPU复位控制装置的结构示意图。

【具体实施方式】
[0125]采用本发明技术方案,能够有效地避免现有技术中存在的采用传统的看门狗电路实现CPU的复位控制不仅占用CPU资源,增加负载,进而影响CPU处理其他任务的效率,且针对复杂的大型嵌入式系统时,会出现CPU循环重启死锁现象,适用性较低的问题。
[0126]本发明实施例提供了一种基于单片机的CPU复位控制系统,下面结合附图对本发明优选的实施方式进行详细说明。
[0127]参阅图1所示,本发明实施例提供的一种基于单片机的CPU复位控制系统,该系统包括CPU 101和单片机102,其中,
[0128]CPU 101,用于在上电启动阶段,向单片机102发送第一响应信号,并在正常运行阶段,向单片机102发送第二响应信号;并基于单片机102返回的复位控制信息,进行复位重启;
[0129]单片机102,用于在CPU 101上电启动阶段,接收CPU 101发送的第一响应信号,根据对应CPU 101上电启动阶段预设的第一定时周期,向CPU 101发送复位控制信息;并在CPU 101正常运行阶段,接收CPU 101发送的第二响应信号,根据对应CPU 101正常运行阶段预设的第二定时周期,向CPU 101发送复位控制信息。
[0130]CPU上电启动阶段和正常运行阶段发送的响应信号频率不同,对应的单片机针对不同阶段预设的定时周期也不同。这样,可以针对CPU的不同运行阶段实现复位控制。
[0131]较佳地,CPU 101具体用于:
[0132]在上电启动阶段,向单片机102发送频率为fl的第一响应信号,并在正常运行阶段,向单片机102发送频率为f2的第二响应信号。
[0133]较佳地,CPU 101发送的第一响应信号对应的频率Π小于第二响应信号对应的频率f2。
[0134]较佳地,CPU 101还用于:
[0135]检测到自身运行异常时,向单片机102发送复位重启请求。
[0136]较佳地,单片机102还用于:
[0137]接收到CPU 101发送的复位重启请求后,向CPU 101发送复位控制信息。
[0138]较佳地,单片机102具体用于:
[0139]接收CPU 101发送的第一响应信号,判断接收到第一响应信号的时刻是否处于预设的第一定时周期内,若是,则继续向CPU 101发送高电平的复位控制信息;否则,向CPU101发送低电平的复位控制信息;
[0140]接收CPU 101发送的第二响应信号,判断接收到第二响应信号的时刻是否处于预设的第二定时周期内,若是,则继续向CPU 101发送高电平的复位控制信息;否则,向CPU101发送低电平的复位控制信息。
[0141]首先,单片机102在工作过程中一直向CPU 101发送高电平的复位控制信息。在CPU 101发送的第一响应信号/第二响应信号的周期在小于单片机102设定的第一定时周期/第二定时周期时,单片机102确认CPU 101工作正常,则继续向CPU 101发送无效的复位控制信息,即不能使CPU 101发生复位重启的高电平的复位控制信息;在CPU 101发送的第一响应信号/第二响应信号的周期在大于单片机102设定的第一定时周期/第二定时周期时,单片机102确认CPU 101工作异常,向CPU 101发送低电平的复位控制信息,使CPU 101进行复位重启。
[0142]单片机102进一步用于:
[0143]接收到CPU 101发送的第一响应信号后,将当前的第一定时周期结束,并在结束时刻开始下一个第一定时周期;
[0144]接收到CPU 101发送的第二响应信号后,将当前的第二定时周期结束,并在结束时刻开始下一个第二定时周期。
[0145]较佳地,CPU 101上电启动阶段为一个第一定时周期。
[0146]较佳地,第一定时周期大于第二定时周期。
[0147]CPU 101 还用于:
[0148]基于单片机102返回的低电平的复位控制信息,进行复位重启。
[0149]参阅图2所示,本发明实施例提供的单片机侧的一种基于单片机的CPU复位控制方法的具体处理流程包括:
[0150]步骤201:在CPU上电启动阶段,接收该CPU发送的第一响应信号,根据对应CPU上电启动阶段预设的第一定时周期,向该CPU发送复位控制信息;
[0151]具体的,执行步骤201包括:接收该CPU发送的第一响应信号,判断接收到该第一响应信号的时刻是否处于预设的第一定时周期内,若是,则继续向该CPU发送高电平的复位控制信息;否则,向该CPU发送低电平的复位控制信息。
[0152]步骤202:在CPU正常运行阶段,接收该CPU发送的第二响应信号,根据对应CPU正常运行阶段预设的第二定时周期,向该CPU发送复位控制信息。
[0153]具体的,执行步骤202包括:接收该CPU发送的第二响应信号,判断接收到该第二响应信号的时刻是否处于预设的第二定时周期内,若是,则继续向该CPU发送高电平的复位控制信息;否则,向该CPU发送低电平的复位控制信息。
[0154]在执行步骤201和步骤202的过程中,还包括:接收到CPU检测到自身运行异常时发送的复位重启请求后,向该CPU发送复位控制信息。
[0155]优选的,接收到CPU发送的第一响应信号后,还包括:
[0156]将当前的第一定时周期结束,并在结束时刻开始下一个第一定时周期。
[0157]同样地,接收到CPU发送的第二响应信号后,还包括:
[0158]将当前的第二定时周期结束,并在结束时刻开始下一个第二定时周期。
[0159]较佳地,CPU上电启动阶段为一个第一定时周期。
[0160]由于CPU上电启动阶段持续的时间不会太长,因此设定一个第一定时周期,只要在该第一定时周期内收到CPU的一个第一响应信号,单片机即可判定CPU工作正常,不会发送有效的复位控制信息(即低电平的复位控制信息)。
[0161]较佳地,第一定时周期大于第二定时周期。
[0162]参阅图3所示,本发明实施例提供的CPU侧的一种基于单片机的CPU复位控制方法的具体处理流程包括:
[0163]步骤301:在上电启动阶段,向单片机发送第一响应信号,并接收该单片机基于第一响应信号返回的复位控制信息,根据该复位控制信息,进行复位重启。
[0164]其中,在上电启动阶段,向单片机发送第一响应信号,包括:
[0165]在上电启动阶段,向该单片机发送频率为fl的第一响应信号。
[0166]步骤302:在正常运行阶段,向单片机发送第二响应信号,并接收该单片机基于第二响应信号返回的复位控制信息,根据该复位控制信息,进行复位重启。
[0167]其中,在正常运行阶段,向单片机发送第二响应信号,包括:
[0168]在正常运行阶段,向该单片机发送频率为f2的第二响应信号。
[0169]较佳地,CPU发送的第一响应信号对应的频率Π小于第二响应信号对应的频率f20
[0170]在执行步骤301和步骤302的过程中,还包括:
[0171]检测到自身运行异常时,向单片机发送复位重启请求。
[0172]在步骤301和步骤302中,根据复位控制信息,进行复位重启,包括:
[0173]根据单片机返回的低电平的复位控制信息,进行复位重启。
[0174]参阅图4所示,单片机U2为具有看门狗功能的低功耗通用小外型集成电路(SmallOutline Integrated Circuit, SOIC),其中,将该单片机U2的任意一个I/O引脚pinl作为喂狗信号输入引脚(即CPU发送的第一响应信号和第二响应信号),连接CPU的喂狗信号WDI,CPU Ul通过WDI在上电启动阶段中输出频率为fl的喂狗脉冲(第一响应信号),在正常运行阶段中输出频率为f2的喂狗脉冲(第二响应信号)。
[0175]在本实施例中,单片机设置CPU上电启动阶段对应一个第一定时周期,若CPU在第一定时周期内输出喂狗信号WDI到单片机,则单片机自动进入CPU正常运行阶段,在此阶段,单片机接收到CPU输出的频率为f2的喂狗脉冲。
[0176]单片机的引脚pin2为看门狗溢出复位(复位控制信息)输出引脚RST,在CPU上电启动阶段或/和正常运行阶段单片机Pinl没有接收到正常的喂狗脉冲,则输出一个复位信号到RST,通过与门传输到CPU的复位出入引脚RST,引起CPU复位重启。其中,没有接收到正常的喂狗脉冲,即在设定的第一定时周期/第二定时周期内,没有收到相应的第一响应信号/第二响应信号。
[0177]单片机的引脚pin3为复位请求输入引脚,连接CPU的复位重启请求REB00T_REQ,CPU检测到自身运行异常后,将REB00T_REQ发送至单片机,单片机则将复位信号通过pin2输出。
[0178]参阅图5所示,本发明实施例提供的一种基于单片机的CPU复位控制方法的流程包括:
[0179]步骤501:系统上电。
[0180]如图4中所示的逻辑与门将上电信号Power_rst传输到CPU的RST复位引脚。
[0181]步骤502:CPU接收到有效的上电复位信号后,开始上电启动。单片机进入正常工作,启动对应CPU上电启动阶段预设的第一定时周期Tl。
[0182]单片机开始为微型单片机芯片,因此相对于CPU启动较快,进入正常工作状态。
[0183]单片机启动后运行看门狗程序,进入第一定时周期Tl,并开启定时器Timerl,其中,Timerl的值可以根据系统的启动时间以及实际的应用进行设定。这样,在系统启动时,不需要耗费CPU的资源来进行喂狗操作,可以缩短CPU的启动时间,同时解决了 CPU启动过程中因为无法喂狗导致的CPU循环重启死锁的现象。
[0184]步骤503:判定在第一定时周期Tl内CPU是否正常启动并收到CPU发送喂狗信号,若是,则执行步骤504,否则,继续执行步骤502。
[0185]单片机判断在定时周期Tl内(定时器Timerl是否溢出)是否接收到CPU输出的有效喂狗脉冲WDI,即第一响应信号,当判断条件成立,返回ture,表明CPU已经完成上电启动阶段;判断条件失败,返回false,表示单片机定时器Timerl已经溢出,即在Tl内为收到CPU输出的有效的喂狗脉冲WDI,表示CPU上电启动异常。
[0186]当单片机判断CPU上电启动异常,则单片机执行复位重启程序,继续执行步骤502。
[0187]步骤504:单片机开始CPU正常运行阶段的看门狗监视,启动对应CPU正常运行阶段预设的第二定时周期T2。
[0188]单片机运行CPU正常运行阶段的看门狗程序,进入第二定时周期T2,并开启定时器 Timer2。
[0189]步骤505:判断在T2周期内是否收到正常的喂狗信号,即第二响应信号,若是则进行下一个T2周期继续判断,否则执行步骤502。
[0190]单片机不断扫描喂狗信号输入引脚,判断CPU是否在第二定时周期T2内正常输出喂狗信号,其中,CPU正常喂狗的周期和波形都可以由单片机设定,这样避免专用看门狗芯片对定时周期和有效喂狗信号波形的限制。
[0191]步骤505的判断程序与步骤503类似,但是Timer2的溢出值与Timerl的溢出值不同,一般Timerl的溢出值大于Timer2的溢出值,即第一定时周期Tl大于第二定时周期T2。
[0192]在步骤505中,当返回值为true,即单片机在第二定时周期T2接收到有效的喂狗信号WDI,则单片机在喂狗信号的下降沿将定时器Timer2清零,重新进入下一个判断循环;当返回值为false,即定时器Timer2已经溢出,CPU喂狗失败,单片机判断CPU程序出现故障,执行复位重启程序,继续执行步骤502。
[0193]在图中的整个基于单片机的CPU复位控制方法流程中,单片机还可以响应CPU主动发起的重启操作,即当CPU确定自身系统异常时,通过复位请求机制来实现快速的硬件重启,从而缩短了系统故障的时间。
[0194]具体的,CPU的复位请求为中断操作,在看门狗程序的任意定时周期,Tl或T2中,单片机的复位请求输入引脚接收到CPU输出的复位重启请求信号,单片机后立即响应该终端请求,执行复位重启请求响应程序。单片机复位重启请求响应程序也会将复位信号输出到复位信号引脚上实现CPU复位重启。
[0195]基于上述实施例,参阅图6所示,本发明实施例还提供了单片机侧的一种基于单片机的CPU复位控制装置,该装置包括:第一处理单元601、第二处理单元602,其中,
[0196]第一处理单兀601,用于在CPU上电启动阶段,接收该CPU发送的第一响应信号,根据对应CPU上电启动阶段预设的第一定时周期,向该CPU发送复位控制信息;
[0197]第二处理单元602,用于在该CPU正常运行阶段,接收该CPU发送的第二响应信号,根据对应CPU正常运行阶段预设的第二定时周期,向该CPU发送复位控制信息。
[0198]该基于单片机的CPU复位控制装置,还包括:
[0199]第三处理单元603,用于接收到CPU检测到自身运行异常时发送的复位重启请求后,向CPU发送复位控制信息。
[0200]第一处理单元601具体用于:
[0201]第一处理单元601接收CPU发送的第一响应信号,判断接收到该第一响应信号的时刻是否处于预设的第一定时周期内,若是,则继续向CPU发送高电平的复位控制信息;否贝U,向CPU发送低电平的复位控制信息;
[0202]第二处理单元602具体用于:
[0203]第二处理单元602接收CPU发送的第二响应信号,判断接收到该第二响应信号的时刻是否处于预设的第二定时周期内,若是,则继续向CPU发送高电平的复位控制信息;否贝U,向CPU发送低电平的复位控制信息。
[0204]第一处理单元601还用于:接收到CPU发送的第一响应信号后,将当前的第一定时周期结束,并在结束时刻开始下一个第一定时周期;
[0205]第二处理单元602还用于:
[0206]接收到CPU发送的第二响应信号后,将当前的第二定时周期结束,并在结束时刻开始下一个第二定时周期。
[0207]较佳地,CPU上电启动阶段为一个第一定时周期。
[0208]较佳地,第一定时周期大于第二定时周期。
[0209]基于上述实施例,参阅图7所示,本发明实施例还提供了 CPU侧的一种基于单片机的CPU复位控制装置,该装置包括:第一运行单元701、第二运行单元702,其中,
[0210]第一运行单元701,用于在上电启动阶段,向单片机发送第一响应信号,并接收该单片机基于第一响应信号返回的复位控制信息,根据该复位控制信息,进行复位重启;
[0211]第二运行单元702,用于在正常运行阶段,向单片机发送第二响应信号,并接收该单片机基于第二响应信号返回的复位控制信息,根据该复位控制信息,进行复位重启。
[0212]第一运行单元701,具体用于:
[0213]在上电启动阶段,向单片机发送频率为fl的第一响应信号;
[0214]第二运行单元702,具体用于:
[0215]在正常运行阶段,向单片机发送频率为f2的第二响应信号。
[0216]较佳地,第一响应信号对应的频率Π小于第二响应信号对应的频率f2。
[0217]该基于单片机的CPU复位控制装置,还包括:
[0218]第三运行单元703,用于检测到自身运行异常时,向单片机发送复位重启请求。
[0219]第一运行单元701还用于:
[0220]根据单片机返回的低电平的复位控制信息,进行复位重启;
[0221 ] 第二运行单元702还用于:
[0222]根据单片机返回的低电平的复位控制信息,进行复位重启。
[0223]综上所述,通过本发明实施例中提供的一种基于单片机的中央处理器CPU复位控制系统、方法及装置,该系统包括CPU和单片机,其中,CPU,用于在上电启动阶段,向单片机发送第一响应信号,并在正常运行阶段,向单片机发送第二响应信号;并基于单片机返回的复位控制信息,进行复位重启;单片机,用于在CPU上电启动阶段,接收CPU发送的第一响应信号,根据对应CPU上电启动阶段预设的第一定时周期,向CPU发送复位控制信息;并在CPU正常运行阶段,接收CPU发送的第二响应信号,根据对应CPU正常运行阶段预设的第二定时周期,向CPU发送复位控制信息。这样,通过本发明实施例提供的系统可以实现监控CPU上电启动阶段和CPU正常运行阶段的看门狗功能,避免了 CPU上电启动过程耗时较长出现循环重启死锁的现象,且通过采用微型通用的单片机,成本低、功耗小、可移植性强,进行可以运用于不同的平台,在本系统中,在任何定时周期内都能够响应CPU的复位重启请求,不需要等待看门狗定时周期溢出,就可以实现硬件的复位操作,缩短了设备的故障时间。
[0224]尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0225]显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
【权利要求】
1.一种基于单片机的中央处理器CPU复位控制系统,其特征在于,包括: CPU,用于在上电启动阶段,向单片机发送第一响应信号,并在正常运行阶段,向单片机发送第二响应信号;并基于单片机返回的复位控制信息,进行复位重启; 单片机,用于在所述CPU上电启动阶段,接收所述CPU发送的第一响应信号,根据对应(PU上电启动阶段预设的第一定时周期,向所述CPU发送复位控制信息;并在所述CPU正常运行阶段,接收所述CPU发送的第二响应信号,根据对应CPU正常运行阶段预设的第二定时周期,向所述CPU发送复位控制信息。
2.如权利要求1所述的系统,其特征在于,所述CPU具体用于: 在上电启动阶段,向所述单片机发送频率为Π的第一响应信号,并在正常运行阶段,向所述单片机发送频率为f2的第二响应信号。
3.如权利要求1所述的系统,其特征在于,所述CPU发送的第一响应信号对应的频率fl小于第二响应信号对应的频率f2。
4.如权利要求1所述的系统,其特征在于,所述CPU还用于: 检测到自身运行异常时,向所述单片机发送复位重启请求。
5.如权利要求4所述的系统,其特征在于,所述单片机还用于: 接收到所述CPU发送的 复位重启请求后,向所述CPU发送复位控制信息。
6.如权利要求1所述的系统,其特征在于,所述单片机具体用于: 接收所述CPU发送的第一响应信号,判断接收到所述第一响应信号的时刻是否处于所述预设的第一定时周期内,若是,则继续向所述CPU发送高电平的复位控制信息;否则,向所述CPU发送低电平的复位控制信息; 接收所述CPU发送的第二响应信号,判断接收到所述第二响应信号的时刻是否处于所述预设的第二定时周期内,若是,则继续向所述CPU发送高电平的复位控制信息;否则,向所述CPU发送低电平的复位控制信息。
7.如权利要求6所述的系统,其特征在于,所述单片机进一步用于: 接收到所述CPU发送的第一响应信号后,将当前的第一定时周期结束,并在结束时刻开始下一个第一定时周期;以及 接收到所述CPU发送的第二响应信号后,将当前的第二定时周期结束,并在结束时刻开始下一个第二定时周期。
8.如权利要求1所述的系统,其特征在于,所述CPU上电启动阶段为一个第一定时周期。
9.如权利要求1-8任一项所述的系统,其特征在于,所述第一定时周期大于所述第二定时周期。
10.如权利要求6所述的系统,其特征在于,所述CPU还用于: 基于单片机返回的低电平的复位控制信息,进行复位重启。
11.一种基于单片机的中央处理器CPU复位控制方法,其特征在于,包括: 在CPU上电启动阶段,接收所述CPU发送的第一响应信号,根据对应CPU上电启动阶段预设的第一定时周期,向所述CPU发送复位控制信息; 在所述CPU正常运行阶段,接收所述CPU发送的第二响应信号,根据对应CPU正常运行阶段预设的第二定时周期,向所述CPU发送复位控制信息。
12.如权利要求11所述的方法,其特征在于,还包括: 接收到所述CPU检测到自身运行异常时发送的复位重启请求后,向所述CPU发送复位控制信息。
13.如权利要求11所述的方法,其特征在于,接收所述CPU发送的第一响应信号,根据对应CPU上电启动阶段预设的第一定时周期,向所述CPU发送复位控制信息,包括: 接收所述CPU发送的第一响应信号,判断接收到所述第一响应信号的时刻是否处于所述预设的第一定时周期内,若是,则继续向所述CPU发送高电平的复位控制信息;否则,向所述CPU发送低电平的复位控制信息; 接收所述CPU发送的第二响应信号,根据对应CPU正常运行阶段预设的第二定时周期,向所述CPU发送复位控制信息,包括: 接收所述CPU发送的第二响应信号,判断接收到所述第二响应信号的时刻是否处于所述预设的第二定时周期内,若是,则继续向所述CPU发送高电平的复位控制信息;否则,向所述CPU发送低电平的复位控制信息。
14.如权利要求13所述的方法,其特征在于,接收到所述CPU发送的第一响应信号后,还包括: 将当前的第一定 时周期结束,并在结束时刻开始下一个第一定时周期; 接收到所述CPU发送的第二响应信号后,还包括: 将当前的第二定时周期结束,并在结束时刻开始下一个第二定时周期。
15.如权利要求11所述的方法,其特征在于,所述CPU上电启动阶段为一个第一定时周期。
16.如权利要求11-15任一项所述的方法,其特征在于,所述第一定时周期大于所述第二定时周期。
17.一种基于单片机的中央处理器CPU复位控制方法,其特征在于,包括: 在上电启动阶段,向单片机发送第一响应信号,并接收所述单片机基于所述第一响应信号返回的复位控制信息,根据所述复位控制信息,进行复位重启; 在正常运行阶段,向单片机发送第二响应信号,并接收所述单片机基于所述第二响应信号返回的复位控制信息,根据所述复位控制信息,进行复位重启。
18.如权利要求17所述的方法,其特征在于,在上电启动阶段,向单片机发送第一响应信号,包括: 在上电启动阶段,向所述单片机发送频率为fl的第一响应信号; 在正常运行阶段,向单片机发送第二响应信号,包括: 在正常运行阶段,向所述单片机发送频率为f2的第二响应信号。
19.如权利要求17所述的方法,其特征在于,第一响应信号对应的频率Π小于第二响应信号对应的频率f2。
20.如权利要求17所述的方法,其特征在于,还包括: 检测到自身运行异常时,向所述单片机发送复位重启请求。
21.如权利要求17-20任一项所述的方法,其特征在于,根据所述复位控制信息,进行复位重启,包括: 根据单片机返回的低电平的复位控制信息,进行复位重启。
22.一种基于单片机的中央处理器CPU复位控制装置,其特征在于,包括: 第一处理单元,用于在CPU上电启动阶段,接收所述CPU发送的第一响应信号,根据对应CPU上电启动阶段预设的第一定时周期,向所述CPU发送复位控制信息; 第二处理单元,用于在所述CPU正常运行阶段,接收所述CPU发送的第二响应信号,根据对应CPU正常运行阶段预设的第二定时周期,向所述CPU发送复位控制信息。
23.如权利要求22所述的装置,其特征在于,还包括: 第三处理单元,用于接收到所述CPU检测到自身运行异常时发送的复位重启请求后,向所述CPU发送复位控制信息。
24.如权利要求22所述的装置,其特征在于,所述第一处理单元具体用于: 所述第一处理单元接收所述CPU发送的第一响应信号,判断接收到所述第一响应信号的时刻是否处于所述预设的第一定时周期内,若是,则继续向所述CPU发送高电平的复位控制信息;否则,向所述CPU发送低电平的复位控制信息; 所述第二处理单元具体用于: 所述第二处理单元接收所述CPU发送的第二响应信号,判断接收到所述第二响应信号的时刻是否处于所述预设的第二定时周期内,若是,则继续向所述CPU发送高电平的复位控制信息;否则,向所述CPU发送低电平的复位控制信息。
25.如权利要求24所述的装置,其特征在于,所述第一处理单元还用于:接收到所述CPU发送的第一响应信号后,将当前的第一定时周期结束,并在结束时刻开始下一个第一定时周期; 所述第二处理单元还用于: 接收到所述CPU发送的第二响应信号后,将当前的第二定时周期结束,并在结束时刻开始下一个第二定时周期。
26.如权利要求22所述的装置,其特征在于,所述CPU上电启动阶段为一个第一定时周期。
27.如权利要求22-26任一项所述的装置,其特征在于,所述第一定时周期大于所述第二定时周期。
28.一种基于单片机的中央处理器CPU复位控制装置,其特征在于,包括: 第一运行单元,用于在上电启动阶段,向单片机发送第一响应信号,并接收所述单片机基于所述第一响应信号返回的复位控制信息,根据所述复位控制信息,进行复位重启;第二运行单元,用于在正常运行阶段,向单片机发送第二响应信号,并接收所述单片机基于所述第二响应信号返回的复位控制信息,根据所述复位控制信息,进行复位重启。
29.如权利要求28所述的装置,其特征在于,所述第一运行单元,具体用于: 在上电启动阶段,向所述单片机发送频率为fl的第一响应信号; 所述第二运行单元,具体用于: 在正常运行阶段,向所述单片机发送频率为f2的第二响应信号。
30.如权利要求28所述的装置,其特征在于,第一响应信号对应的频率Π小于第二响应信号对应的频率f2。
31.如权利要求28所述的装置,其特征在于,还包括: 第三运行单元,用于检测到自身运行异常时,向所述单片机发送复位重启请求。
32.如权利要求28-31任一项所述的装置,其特征在于,所述第一运行单元还用于:根据单片机返回的低电平的复位控制信息,进行复位重启;所述第二运行单元还用于:根据单片机返回的低 电平的复位控制信息,进行复位重启。
【文档编号】G06F11/07GK104049702SQ201410268354
【公开日】2014年9月17日 申请日期:2014年6月16日 优先权日:2014年6月16日
【发明者】黄赛 申请人:京信通信系统(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1