CN101149636B - 复位系统和方法 - Google Patents
复位系统和方法 Download PDFInfo
- Publication number
- CN101149636B CN101149636B CN2007101815705A CN200710181570A CN101149636B CN 101149636 B CN101149636 B CN 101149636B CN 2007101815705 A CN2007101815705 A CN 2007101815705A CN 200710181570 A CN200710181570 A CN 200710181570A CN 101149636 B CN101149636 B CN 101149636B
- Authority
- CN
- China
- Prior art keywords
- reset
- processor
- module
- signal
- request signal
- 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
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明涉及复位技术,尤其涉及一种使处理器预知复位的技术。一种处理器复位系统,包括:处理器和看门狗模块,所述看门狗模块用于监测处理器的运行状况,并当所述处理器异常时输出复位请求信号;所述处理器根据接收到的所述复位请求信号准备复位;第一延时模块,用于接收所述看门狗模块输出的复位请求信号,并输出延时的复位触发信号;所述看门狗模块根据接收到的复位触发信号后,将看门狗模块的计时器清零复位,并向所述处理器输出复位信号,所述处理器接收到所述复位信号后进行复位。使得处理器在被复位前,可以采取复位前的紧急措施,保证系统的顺利重新启动,从而提高系统的稳定性,以及便于分析故障原因。
Description
技术领域
本发明涉及复位技术,尤其涉及一种使处理器预知复位的技术。
背景技术
在许多控制场合,一般采用处理器对整个电路进行控制、响应或者信号处理。这种处理器一般是CPU、DSP、单片机、FPGA等。
现场电路在工作时,会遇到各种各样的意外,如电磁干扰、外接设备无响应、通信非正常中断等。这时,处理器中正常运行的程序就会出现“跑飞”的现象,即程序不能按照正常的顺序执行工作,控制整个电路,整个电路将处于控制混乱状态。
对于自动控制、运行的系统,如果不能及时发现和处理这种混乱状态将会造成不可预计的后果,使得正常的控制以及通信都会长时间的中断,直到有人发现,并复位、重起系统后,才能恢复正常的工作状态。
为了在出现程序“跑飞”的意外情况后,系统能够及时地重新复位,现有技术中采用看门狗的技术来自动复位处理器,使得处理器自动重新恢复正常控制程序。
图1为采用看门狗技术自动复位处理器的电路示意图,包括:处理器101、看门狗电路102、与门103。
在处理器101程序正常运行时,处理器101会每隔一段时间从IO端口向看门狗电路102的清零端发送清零信号,看门狗电路102接收到清零信号后,将计时器清零。
当处理器101的程序因为受到干扰,或者外部设备故障等原因不能正常运行时,处理器101的程序“跑飞”后,处理器101不能每隔一段时间从IO端口向看门狗电路102的清零端发送清零信号。看门狗电路102的计时器由于不被清零,所以会一直计时,直到溢出。
看门狗电路102的计时器溢出后,会产生溢出信号,从看门狗电路102的溢出端口输出。一般来说,这个溢出信号为低有效信号。该溢出信号与其它各种复位源的低有效信号一同被送入与门。通过逻辑与的关系,只要这些与门的输入信号中有一个为低有效信号,与门就会输出一个有效的复位触发信号。该复位触发信号被送到看门狗电路102的复位触发端。看门狗电路102接收到复位触发信号就会将自身的计时器清零,并从复位输出端口向处理器101的复位端口输出复位信号,处理器101接收到该复位信号后,当即进行复位重新启动。
本发明人发现处理器的突然复位,会产生许多不利效果,比如导致不能重新启动、记录数据丢失、无法保存出故障前的一些数据进行故障分析等等。图2显示了一个处理器突然复位而无法重新启动的例子:由于在处理器读SDRAM存储器时,突然对处理器进行复位,使得总线被存储器控制,导致处理器进行重新启动时,不能通过总线读取启动模块中的启动程序。
所以在现有技术中由于处理器不能预知复位,导致不能在复位前采取应急措施,比如保存数据、屏蔽中断、停止某些操作等,致使系统稳定性不高,且分析复位故障原因困难。
发明内容
本发明实施例提供的复位系统和方法,使处理器能够预知复位,并完成复位前的准备工作。
一种处理器复位系统,包括:至少一个复位源,用于输出请求处理器复位的复位请求信号;处理器和看门狗模块,所述看门狗模块用于监测处理器的运行状况,并当所述处理器异常时输出复位请求信号;逻辑门模块,用于对所述看门狗模块和每一个复位源输出的复位请求信号进行逻辑运算,在其中一个复位请求信号有效时分别向所述第一延时模块和处理器输出复位请求信号;第一延时模块,用于接收所述逻辑门模块输出的复位请求信号,并输出延时的复位触发信号;所述处理器根据接收到的复位请求信号准备复位;所述看门狗模块根据接收到的复位触发信号后,将看门狗模块的计时器清零复位,并向所述处理器输出复位信号,所述处理器接收到所述复位信号后进行复位。
一种处理器复位系统,包括:至少一个复位源,用于输出请求处理器复位的复位请求信号;处理器和看门狗模块,所述看门狗模块用于监测处理器的运行状况,并当所述处理器异常时输出复位请求信号;逻辑门模块,用于对所述看门狗模块和每一个复位源输出的复位请求信号进行逻辑运算,在其中一个复位请求信号有效时分别向所述第一延时模块和处理器输出复位请求信号;第一延时模块,用于接收所述逻辑门模块输出的复位请求信号,并输出延时的复位触发信号;所述处理器根据接收到的复位请求信号准备复位;所述看门狗模块根据接收到的复位触发信号后,将看门狗模块的计时器清零复位;所述处理器接收到所述第一延时模块输出的复位触发信号后,进行复位。
一种处理器复位系统,包括:第一复位源,用于输出请求处理器复位的复位请求信号;至少一个第二复位源,用于输出请求处理器复位的复位请求信号;逻辑门模块,用于接收所述第一复位源和第二复位源输出的复位请求信号,并根据所述复位请求信号进行逻辑运算,在其中一个复位请求信号有效时输出复位请求信号;延时模块,用于接收所述逻辑门模块输出的复位请求信号并延时输出复位信号;处理器,用于从所述逻辑门模块接收复位请求信号并从所述延时模块接收复位信号,并根据所述复位请求信号准备复位,根据所述复位信号时进行复位。
一种处理器的复位方法,包括:至少两个复位源在请求复位处理器时输出复位请求信号;逻辑门模块对各复位源输出的复位请求信号进行逻辑运算,在其中一个复位请求信号有效时输出复位请求信号;延时模块对所述逻辑门模块输出的复位请求信号进行延时后输出复位信号;所述处理器根据所述逻辑门模块输出的复位请求信号准备复位,并根据所述延时模块输出的复位信号进行复位。
本发明实施例由于将复位源的复位信号送给处理器的中断,使得处理器能够预知复位,使得处理器在被复位前,可以采取复位前的紧急措施,如保存数据、中断某些工作等,可以保证系统的顺利重新启动,以及记录下复位前的数据为定位复位故障提供有利依据,从而提高系统的稳定性,以及便于分析故障原因。
附图说明
图1为现有技术的看门狗复位处理器的电路示意图;
图2为现有技术的复位方法应用实例电路示意图;
图3a为本发明实施例一的复位系统结构示意图;
图3b为本发明实施例一的多复位源的复位系统结构示意图;
图3c为本发明实施例一的另一种复位系统结构示意图;
图3d为本发明实施例一的复位方法流程图;
图4a为本发明实施例二的复位系统结构示意图;
图4b为本发明实施例二的复位系统另一种连接方式示意图;
图4c为本发明实施例二的复位方法流程图;
图5a为本发明实施例三的复位系统结构示意图;
图5b为本发明实施例三的复位方法流程图;
图6为本发明实施例四的复位系统结构示意图;
图7为本发明实施例五的复位系统结构示意图。
具体实施方式
本发明实施例提供的为处理器进行复位的方法,将复位源的复位信号送给处理器的中断,使得处理器通过中断预先知道即将被复位,从而有时间可以保存关键数据或者采取一些紧急措施。在延时一段时间后,看门狗将复位信号送给处理器,处理器被复位。这样,保证了系统重新启动的可靠性以及便于分析引起复位的原因。
下面以具体实施例详细说明本发明提供的技术方案,其中实施例一为将复位请求信号先通知处理器,然后经过延时后,再对处理器进行复位的方法和系统;实施例二为将看门狗溢出信号先送到处理器中断,使处理器预知复位,然后将该溢出信号经过延时后生成复位信号再对处理器进行复位的方法和系统;实施例三为采用逻辑门电路可以综合处理多个复位源的复位请求信号,并对其进行延时,使处理器能预知复位的方法和系统;实施例四为对于系统有不同延时复位的需求而进行多次延时复位的方法和系统;实施例五在复位系统中添加了复位源识别模块,使得处理器在复位前能获知是哪个复位源引起请求复位。对于将复位请求信号进行延时,使处理器预知复位的其它方法和原理在本发明权利要求保护范围之内,本领域技术人员根据实施例一、二、三、四、五提供的技术方案可以轻易实现。
实施例一
一种处理器预知复位的系统结构示意图如图3a所示,包括:处理器301、延时模块302。
在处理器301的某个复位源因为某种原因需要处理器301复位,并通过处理器的复位实现对复位源的复位的时候,比如外部设备故障需要复位,或者看门狗溢出需要复位清零,这时这些复位源会输出一个有效信号--复位请求信号。
该复位请求信号被送到处理器301的中断端,处理器301通过接收中断端的输入信号知道有复位需求,从而预知复位,采取复位前措施,比如记录中断源,保存数据,停止某些操作等。
该复位请求信号同时还被送到延时模块302,延时模块302用于对复位请求信号进行延时,输出延时的复位信号,并将该复位信号送到处理器301。该延时模块302可以通过对复位请求信号的延时,使处理器301在收到复位信号前,可以有充足的时间进行复位前的一些操作。该延时操作也可以在处理器收到复位请求信号后复位进行前,由处理器通过延时模块来完成。
处理器301在接收到该复位信号后,进行复位重新启动。
对于有多个复位源的情况,可以增加逻辑门电路,如图3b所示,来对多个逻辑源输出的复位请求信号进行逻辑运算,只要其中一个复位请求信号有效,就输出有效的最终复位请求信号给处理器和延时模块。
如图3c所示,本实施例还可以采用延时模块306在接收到处理器305的准备完毕信号后,再输出复位信号,对处理器进行复位。具体连接方式如下:
当复位源因为某种原因需要处理器305复位,并对该复位源也进行复位的时候,输出一个有效信号--复位请求信号。
该复位请求信号被送到处理器305的中断端,处理器305通过接收中断端的输入信号知道有复位需求,从而预知复位,采取复位前措施。
在处理器305完成复位前的操作后,通过IO端口向延时模块306发送准备完毕信号。
延时模块306在接收到准备完毕信号后,输出延时的复位信号,并将该复位信号送到处理器305的复位端。
处理器301在接收到该复位信号后,进行复位重新启动。
本发明实施例实现处理器复位的方法的流程,如图3d所示,包括如下步骤:
步骤S310:复位源输出复位请求信号。
复位源可以是处理器301控制的外部设备或者看门狗等,当这些外部设备出现异常或者看门狗溢出需要复位处理器并对这些复位源或者看门狗也进行复位时,就会输出复位请求信号。在现有的技术中,这些复位请求信号被直接送到处理器进行复位,而本发明实施例将该复位请求信号先送给处理器301的中断,使之预知复位。
步骤S311:处理器301接收复位请求信号,预知复位,采取复位前措施。
具体的复位前措施,本领域技术人员可以根据具体电路、具体情况、具体需求来完成复位前的工作。比如,对于想保存测试数据的情况,可以保存数据;对于重新启动时,必须要停止某些操作的情况,可以先停止某些操作等等。
步骤S312:延时模块302接收复位请求信号,经延时后产生复位信号,并输出给处理器301。
步骤S313:处理器301接收到复位信号后进行复位。
与现有技术不同的是,现有技术中是将此复位请求信号直接送给处理器进行复位,而本发明实施例采用延时模块来延迟复位源发送的复位请求信号,处理器通过中断获知了复位请求,得以在延时后的复位信号到来之前,可以采取相应的复位前措施,如保存数据,停止某些操作,从而增加了系统的稳健性,并为后续定位引起复位的原因提供了依据。
本发明实施例由于还采用处理器通过中断接收复位源的复位请求信号后,在完成复位前的准备工作后再通知延时模块输出复位信号的技术,使得处理器预知复位后再被复位,所以处理器在被复位前,可以采取复位前的紧急措施,如保存数据、中断某些工作等,从而保证系统的顺利重新启动,以及记录下复位前的数据为定位引起复位的原因提供有利依据。
实施例二
一种处理器预知复位的系统结构示意图如图4a所示,包括:处理器401、看门狗模块402、延时模块404。
在处理器401程序正常运行时,处理器401每隔一段时间从IO端口向看门狗模块402的清零端发送清零信号。看门狗模块402接收到清零信号后,会将计时器清零。
当处理器401的程序因为受到干扰,或者外部设备故障等原因不能正常运行时,处理器401的程序“跑飞”,导致处理器401不能每隔一段时间从IO端口向看门狗模块402的清零端发送清零信号。看门狗模块402的计时器由于不被清零,所以会一直计时,直到溢出,并输出溢出信号。该看门狗模块402用于监测处理器的运行状况,既可以是内嵌于处理器401中,也可以是独立的看门狗电路,其在所述处理器非正常运行时输出溢出信号,该信号即为复位请求信号,此时,看门狗模块402即为处理器401的一个复位源。
该溢出信号被送到处理器401的中断端,同时也被送到延时模块404的输入端。
处理器401接收到溢出信号后,产生中断响应。这时,处理器401通过该溢出信号,预知即将被复位,立即采取复位前的紧急措施。比如,保存数据,退出某些操作等。
延时模块404在接收到溢出信号后,经过一段时间的延时,产生复位触发信号,并将该复位触发信号送到看门狗模块402的复位触发端。该延时模块404的实现可以是在可编程逻辑器件中,通过编程实现,也可以是一个硬件电路。
看门狗模块402在接收到复位触发信号后,将计时器清零,重新计时,并从复位输出端输出复位信号。
处理器401接收该复位信号,进行复位重新启动。
此外,处理器401还可以不从看门狗模块402接收复位信号,而是直接接收延时模块404输出的复位触发信号,进行复位重新启动,其具体的连接示意图如图4b所示。需要指出的是看门狗模块并不特指看门狗芯片或电路,而是泛指满足看门狗功能的单元。
由于,处理器401在获知复位与进行复位之间有一段时间的延时,为处理器401采取复位前的相应措施提供了时间。
本发明实施例实现处理器复位的方法的流程,如图4c所示,包括如下步骤:
在程序正常运行时:
步骤S411:发送清零信号给看门狗模块402。
处理器401在正常运行程序时,会每隔一段时间发送清零信号给看门狗模块402。
步骤S412:看门狗模块的计时器清零。
看门狗模块接收到清零信号后,将计时器清零。
由于意外干扰等原因,处理器401的程序“跑飞”后:
步骤S413:看门狗模块402的计时器溢出,输出溢出信号。
由于处理器401的程序“跑飞”,不能给看门狗模块402发送清零信号,看门狗模块402的计时器一直计时,直到溢出。溢出后,看门狗模块402输出溢出信号。
以上步骤为看门狗模块402监测处理器401的运行状况,当处理器401不能正常运行时,看门狗模块402输出溢出信号,作为复位请求信号。
步骤S414:溢出信号触发处理器401的中断。
溢出信号被送到处理器401的中断端,处理器401接收该溢出信号,该溢出信号即为复位请求信号,用于触发处理器401的中断,准备复位。处理器401接收到中断端的信号后,知道即将被复位,采取复位前的措施,比如运行复位前的程序。所谓复位前的程序可以包括保存数据的程序,停止某些操作的程序,或者设置某些变量的程序等。
步骤S415:将溢出信号延时后,输出复位触发信号。
执行步骤S414的同时,溢出信号被送到延时模块404,经过一段时间的延时,输出复位触发信号。
步骤S416:看门狗模块402接收到复位触发信号后,将计时器清零,并输出复位信号到处理器401。
看门狗模块402接收到复位触发信号后,将计时器清零,并输出复位信号到处理器401的复位端。
本发明实施例由于采用将看门狗的溢出信号送给处理器的中断,使得处理器在获知即将复位后,再进行复位的技术,使得处理器在被复位前,可以采取复位前的紧急措施,如保存数据、中断某些工作等,从而保证系统的顺利重新启动,以及记录下复位前的数据为定位引起复位的原因提供有利依据。
实施例三
本发明实施例的一种处理器复位系统结构示意图,如图5a所示,包括:处理器501、看门狗模块502、逻辑门模块503、延时模块504。
在处理器501程序正常运行时,处理器501会每隔一段时间从IO端口向看门狗模块502的清零端发送清零信号。看门狗模块502接收到清零信号后,会将计时器清零。
当处理器501的程序因为受到干扰,或者外部设备故障等原因不能正常运行时,处理器501的程序“跑飞”,导致处理器501不能每隔一段时间从IO端口向看门狗模块502的清零端发送清零信号。看门狗模块502的计时器由于不被清零,所以会一直计时,直到溢出。该看门狗模块502既可以是内嵌于处理器501中,也可以是独立的看门狗电路。
看门狗模块502的计时器溢出后,会产生溢出信号,从看门狗模块502的溢出端口输出。该溢出信号与其它各种复位源输出的请求处理器进行复位的信号一同被送入逻辑门模块503。
在实际应用中,处理器的复位源很可能不止看门狗模块一个,对于其它的意外情况而产生的信号,也可能需要处理器501进行复位。比如,出现过压信号或者故障信号,表明系统出现了不正常情况,需要整个系统复位重新启动。此时,需要对处理器501进行复位,处理器501复位后对整个系统进行复位。
所以,采用一个逻辑门模块503来综合这些复位源的信号,只要有一个复位源的信号有效,逻辑门模块503就输出有效信号,作为复位请求信号。
逻辑门模块503可以由各种逻辑电路组成,比如与门、或门或者与门和或门的逻辑组合。该逻辑门模块503用于将输入的复位源信号,其中包括看门狗的溢出信号,作逻辑运算,只要这些复位源信号中有一个信号有效,逻辑门模块503将输出复位请求信号。在实际应用中,输入的复位源信号可以是高电平有效也可以是低电平有效,通过逻辑运算后,只要其中有一个信号有效,逻辑门模块503就输出有效信号。同样,逻辑门模块503输出的信号可以是高电平有效或者低电平有效,视具体处理器以及延时模块504接收的信号的有效性而定。逻辑门模块503可以通过在可编程逻辑器件中编程来实现,也可以采用分立器件组合而成。
逻辑门模块503输出的复位请求信号被送到处理器501的中断端,同时也被送到延时模块504的输入端。
处理器501在接收到复位请求信号后,产生中断响应。这时,处理器501通过该复位请求信号,预知即将被复位,立即采取复位前的紧急措施。比如,保存数据,退出某些操作等。
延时模块504在接收到复位请求信号后,经过一段时间的延时,产生复位触发信号,并将该复位触发信号送到看门狗模块502的复位触发端和处理器501的复位端。延时模块504可以通过在可编程逻辑器件中编程来实现,且可以与逻辑门模块503处于一个物理实体可编程逻辑器件中,也可以是由延时器件搭建而成的电路。
看门狗模块502在接收到延时模块504输出的复位触发信号后,将计时器清零,重新计时。
处理器501接收到延时模块504输出的复位触发信号,进行复位重新启动。
此处,处理器的复位信号直接由延时模块504给出。在实际中,许多处理器对复位信号的脉宽有一定要求,所以由延时模块输出的复位触发信号不一定能够满足脉宽要求。这时采用实施例二中看门狗输出复位信号给处理器的方法,利用看门狗产生符合要求的脉宽;如果处理器对于复位信号的脉宽没有特殊要求,或者延时模块输出的信号能够满足处理器的复位信号的脉宽要求,就可以采用本实施例的直接将延时模块输出的信号去复位处理器的方法。不论采用何种方法,其目的都是在复位请求信号与复位信号之间产生延时,便于处理器采取应急措施。
本发明实施例实现处理器复位的方法的流程,如图5b所示,包括如下步骤:
步骤S512:有其它复位源信号输出请求复位的信号或者看门狗模块502输出溢出信号。
由于意外干扰等原因,系统的其它复位源产生了请求复位的有效信号或者处理器501的程序“跑飞”导致看门狗模块502的计时器溢出,看门狗模块502输出溢出信号。
步骤S513:逻辑门模块503输出复位请求信号。
步骤S512中的复位源的信号被送到逻辑门模块503的输入端,逻辑门模块503经过逻辑运算,只要复位源信号中有一个信号有效,逻辑门模块503就输出有效信号--复位请求信号。
步骤S514:复位请求信号触发处理器501的中断。
复位请求信号被送到处理器501的中断端,触发处理器501的中断。处理器510接收到中断端的信号后,知道即将被复位,采取复位前的措施,比如运行复位前的程序。所谓复位前的程序包括保存数据的程序,停止某些操作的程序,或者设置某些变量的程序。
步骤S515:将复位请求信号延时后,产生复位触发信号。
与执行步骤S514的同时,复位请求信号被送到延时模块504,经过一段时间的延时,输出复位触发信号。
步骤S516:复位触发信号使看门狗模块502的计时器清零,并同时复位处理器501。
复位触发信号送到看门狗模块502的复位触发端,看门狗模块502接收到复位触发信号后,将计时器清零。复位触发信号还被送到处理器501的复位端,复位处理器501。
本发明实施例由于采用将复位源的有效信号先送到处理器的中断端,使得处理器预知随后的复位,之后,经过一段时间的延时,再对处理器进行复位的技术,使得处理器能够在被各种复位源复位前,有足够的时间采取一些应急措施。
实施例四
在有些应用场合,不但要对复位信号进行延时,使处理器能预知该复位信号,而且还有不同的复位信号延迟的需求。本发明实施例提供了一种通过多次延时,复位处理器的系统结构,如图6所示,包括:处理器601、看门狗模块602、第一延时模块603、第二延时模块604、其它延时模块606以及逻辑门模块607。
在处理器601程序正常运行时,处理器601会每隔一段时间从IO端口向看门狗模块602的清零端发送清零信号。看门狗模块602接收到清零信号后,会将计时器清零。
当处理器601的程序因为受到干扰,或者外部设备故障等原因不能正常运行,导致处理器601的程序“跑飞”后,处理器601不能每隔一段时间从IO端口向看门狗模块602的清零端发送清零信号。看门狗模块602的计时器由于不被清零,所以会一直计时,直到溢出。该看门狗模块602既可以是内嵌于处理器301中,也可以是独立的看门狗电路。
看门狗模块602的计时器溢出后,会产生溢出信号,作为复位请求信号,从看门狗模块602的溢出端口输出。该溢出信号与其它各种复位源输出的请求处理器进行复位的信号一同被送入逻辑门模块607。
在实际应用中,处理器的复位源很可能不止看门狗模块一个,对于其它的意外情况而产生的信号,也可能需要处理器601进行复位并也对复位源进行复位。
所以,采用一个逻辑门模块607来综合这些复位源的信号,只要有一个复位源的信号有效,逻辑门模块607就输出有效信号,作为复位请求信号。
逻辑门模块607可以由各种逻辑电路组成,比如与门、或门或者与门和或门的逻辑组合。该逻辑门模块607用于将输入的复位源信号,其中包括看门狗的溢出信号,作逻辑运算,只要这些复位源信号中有一个信号有效,逻辑门模块607将输出复位请求信号。在实际应用中,输入的复位源信号可以是高电平有效也可以是低电平有效,通过逻辑运算后,只要其中有一个信号有效,逻辑门模块607就输出有效信号。同样,逻辑门模块607输出的信号可以是高电平有效或者低电平有效,视具体处理器以及第一延时模块603接收的信号的有效性而定。逻辑门模块607可以通过在可编程逻辑器件中编程来实现,也可以采用分立器件组合而成。
逻辑门模块607输出的复位请求信号被送到处理器601的中断端,同时也被送到第一延时模块603的输入端。
处理器601在接收到复位请求信号后,产生中断响应。这时,处理器601通过该复位请求信号,预知即将被复位,立即采取复位前的紧急措施。比如,保存数据,退出某些操作等。
第一延时模块603在接收到复位请求信号后,经过一段时间的延时,产生第一延时信号。
该第一延时信号被送到处理器601的部分复位端口。处理器601在接收到部分复位端口信号之前,已经完成复位前的相应应急措施,进行部分复位。这时,处理器601中的某些电路被复位,有些电路和引脚将不被复位。
第一延时信号还被送到第二延时模块604的输入端,经过一段时间延时后,第二延时模块604输出复位触发信号,将该复位触发信号送到看门狗模块302的复位触发端。上述第一延时模块603和第二延时模块604可以通过在可编程逻辑器件中编程实现,也可以通过硬件电路实现,延时的时间也可以根据实际情况灵活设置,同时根据实际复位源的要求,还可以如图增加其它延时模块606或者第三延时模块,第四延时模块等,以满足系统对于不同延时时间的复位需求。
看门狗模块602在接收到复位触发信号后,将计时器清零,重新计时,并从复位输出端输出复位信号到处理器601的全局复位端口。
处理器601接收到全局复位信号,进行复位重新启动。
在处理器601获知复位后,经过一段时间延时收到部分复位信号,该部分复位信号只对处理器601中的部分电路或者引脚进行复位,再经过一段时间延时,收到全局信号。比如,当处理器601外接一DDR2存储器605时,处理器601必须先复位时钟使能信号CKE,中断对DDR2存储器605的有效操作,然后经过两个以上的时钟周期再复位时钟信号CLK,即处理器601再进行全局复位,这样DDR2存储器605中的数据才不会被破坏。所以在这样的应用场合,就有了对多延时复位信号的要求。
本发明由于采用提供多种延时复位信号给处理器,使得处理器能够完成复位前更为复杂的工作,提高了系统的稳健性,同时也为定位复位原因提供了有力的依据。
实施例五
在多个复位源的场合,为了能使处理器在预知复位时,能区分是哪个复位源发出的复位信号,本发明实施例提供了一种复位处理器的系统结构,如图7所示,包括:处理器701、延时模块702、逻辑门模块703以及复位源识别模块704。
当多个复位源中的某个复位源因为某种原因需要复位处理器701,并通过复位处理器实现对复位源的复位的时候,该复位源会输出一个有效信号。
逻辑门模块703用于对每一个复位源输出的信号进行逻辑运算,在其中一个信号有效时分别向所述第一延时模块和处理器输出复位请求信号。
复位源识别模块704用于接收多个复位源输出的信号,并记录保存复位源的复位信息。具体的,复位源识别模块704中保存了有关复位源的复位信息标识,该标识中对应每个复位源有一个标识位,当某个复位源输出有效的请求信号时,比如输出一个正向跳变信号或者负向跳变信号时,复位源识别模块704就将该复位源对应的标识位置1或者置0,表示该复位源处于非正常状态,即要求复位的状态。该复位源识别模块704可以是可编程逻辑器件,如CPLD、EPLD、FPGA,也可以是由触发器或者锁存器等分立器件组成的电路。
处理器701的中断端接收逻辑门模块703输出的复位请求信号,预知复位,并通过通信接口从复位源识别模块704中读取复位信息标识,并保存该复位信息标识;处理器701在读取了复位信息标识后通过IO端向复位源识别模块704发送信号,将复位信息标识复位到初始值,而该初始值即表示为复位源均为正常状态。处理器701保存该复位信息标识,作为后续分析是哪个复位源要求复位,定位出故障原因提供依据。
该复位请求信号同时还被送到延时模块702,延时模块702用于对复位请求信号进行延时,输出延时的复位信号,并将该复位信号送到处理器701。由于该延时模块702对复位请求信号进行延时后才输出复位信号,使得处理器701在收到复位信号前,可以有充足的时间进行复位前的一些操作。处理器701在接收到该复位信号后,进行复位重新启动。
同样的道理,对于实施例三、四也可以通过如本实施例添加复位源识别模块的方法,使得处理器在复位前通过读取该复位信息标识得知是哪个复位源要求复位。
本发明实施例由于采用复位源识别模块在复位信息标识中记录下了是哪个复位源发送有效的请求处理器复位的信号,处理器在复位前通过读取该复位信息标识得知是哪个复位源要求复位,从而可以针对性地采取一些措施,或者保存该复位信息标识后,用以分析故障原因。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (13)
1.一种处理器复位系统,其特征在于,包括:
至少一个复位源,用于输出请求处理器复位的复位请求信号;
处理器和看门狗模块,所述看门狗模块用于监测处理器的运行状况,并当所述处理器异常时输出复位请求信号;
逻辑门模块,用于对所述看门狗模块和每一个复位源输出的复位请求信号进行逻辑运算,在其中一个复位请求信号有效时分别向第一延时模块和处理器输出复位请求信号;
第一延时模块,用于接收所述逻辑门模块输出的复位请求信号,并输出延时的复位触发信号;
所述处理器根据接收到的所述逻辑门模块输出的复位请求信号准备复位;
所述看门狗模块根据接收到的复位触发信号后,将看门狗模块的计时器清零复位,并向所述处理器输出复位信号,所述处理器接收到所述复位信号后进行复位。
2.如权利要求1所述的系统,其特征在于,所述处理器包括中断端和复位端,所述中断端用于接收所述逻辑门模块输出的复位请求信号,所述复位端用于接收所述复位信号。
3.如权利要求1所述的系统,其特征在于,还包括:
复位源识别模块,用于接收所述看门狗模块和每一个复位源输出的复位请求信号,并根据接收的复位请求信号设置复位信息标识中的标识位;所述标识位对应不同的复位源;以及,
所述处理器从所述复位源识别模块获得所述复位信息标识后,向所述复位源识别模块发送信号,将复位信息标识复位到初始值。
4.如权利要求1、2或3所述的系统,其特征在于,还包括:
至少一个第二延时模块,所述至少一个第二延时模块连接于所述第一延时模块与所述看门狗模块之间,每一个第二延时模块分别用于对所述逻辑门模块输出的复位请求信号进行延时后输出不同延时等级的复位触发信号。
5.一种处理器复位系统,其特征在于,包括:
至少一个复位源,用于输出请求处理器复位的复位请求信号;
处理器和看门狗模块,所述看门狗模块用于监测处理器的运行状况,并当所述处理器异常时输出复位请求信号;
逻辑门模块,用于对所述看门狗模块和每一个复位源输出的复位请求信号进行逻辑运算,在其中一个复位请求信号有效时分别向第一延时模块和处理器输出复位请求信号;
第一延时模块,用于接收所述逻辑门模块输出的复位请求信号,并输出延时的复位触发信号;
所述处理器根据接收到的所述逻辑门模块输出的复位请求信号准备复位;
所述看门狗模块根据接收到的复位触发信号后,将看门狗模块的计时器清零复位;
所述处理器接收到所述第一延时模块输出的复位触发信号后,进行复位。
6.如权利要求5所述的系统,其特征在于,所述处理器包括中断端和复位端,所述中断端用于接收所述逻辑门模块输出的复位请求信号,所述复位端用于接收所述复位触发信号。
7.如权利要求6所述的系统,其特征在于,还包括:
复位源识别模块,用于接收所述看门狗模块和每一个复位源输出的复位请求信号,并根据接收的复位请求信号设置复位信息标识中的标识位;所述标识位对应不同的复位源;以及,
所述处理器从所述复位源识别模块获得所述复位信息标识后,向所述复位源识别模块发送信号,将复位信息标识复位到初始值。
8.如权利要求5、6或7所述的系统,其特征在于,还包括:
至少一个第二延时模块,所述至少一个第二延时模块连接于所述第一延时模块与所述看门狗模块之间,每一个第二延时模块分别用于对所述逻辑门模块输出的复位请求信号进行延时后输出不同延时等级的复位触发信号。
9.一种处理器复位系统,其特征在于,包括:
第一复位源,用于输出请求处理器复位的复位请求信号;
至少一个第二复位源,用于输出请求处理器复位的复位请求信号;
逻辑门模块,用于接收所述第一复位源和第二复位源输出的复位请求信号,并根据所述复位请求信号进行逻辑运算,在其中一个复位请求信号有效时输出复位请求信号;
延时模块,用于接收所述逻辑门模块输出的复位请求信号并延时输出复位信号;
处理器,用于从所述逻辑门模块接收复位请求信号并从所述延时模块接收复位信号,并根据所述逻辑门模块输出的复位请求信号准备复位,根据所述复位信号进行复位。
10.如权利要求9所述的系统,其特征在于,所述处理器包括中断端和复位端,所述中断端用于接收所述逻辑门模块输出的复位请求信号,所述复位端用于接收所述复位信号。
11.如权利要求9所述的系统,其特征在于,还包括:
复位源识别模块,用于接收所述第一复位源和第二复位源输出的复位请求信号,并根据接收的复位请求信号设置复位信息标识中的标识位;所述标识位对应不同的复位源;以及,
所述处理器从所述复位源识别模块获得所述复位信息标识后,向所述复位源识别模块发送信号,将复位信息标识复位到初始值。
12.一种处理器的复位方法,其特征在于,包括:
至少两个复位源在请求复位处理器时输出复位请求信号;
逻辑门模块对各复位源输出的复位请求信号进行逻辑运算,在其中一个复位请求信号有效时输出复位请求信号;
延时模块对所述逻辑门模块输出的复位请求信号进行延时后输出复位信号;
所述处理器根据所述逻辑门模块输出的复位请求信号准备复位,并根据所述延时模块输出的复位信号进行复位。
13.如权利要求12所述的方法,其特征在于,所述对所述逻辑门模块输出的复位请求信号进行延时后输出复位信号,具体为:
将所述逻辑门模块输出的复位请求信号分别延时不同的时间后输出不同延时等级的复位信号;以及
所述处理器根据不同延时等级的复位信号进行局部复位或者全部复位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101815705A CN101149636B (zh) | 2007-10-23 | 2007-10-23 | 复位系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101815705A CN101149636B (zh) | 2007-10-23 | 2007-10-23 | 复位系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101149636A CN101149636A (zh) | 2008-03-26 |
CN101149636B true CN101149636B (zh) | 2010-07-07 |
Family
ID=39250197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101815705A Active CN101149636B (zh) | 2007-10-23 | 2007-10-23 | 复位系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101149636B (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5657211B2 (ja) * | 2009-02-10 | 2015-01-21 | ニスカ株式会社 | マイクロプロセッサの監視装置 |
CN101739303B (zh) * | 2009-12-15 | 2012-03-07 | 中兴通讯股份有限公司 | 一种自恢复处理器、状态恢复方法及装置、光模块 |
CN102111127B (zh) * | 2009-12-23 | 2013-05-15 | 北京中电华大电子设计有限责任公司 | 一种芯片上电过程信号计数延迟的方法和电路 |
CN101840259B (zh) * | 2010-04-30 | 2013-03-13 | 北京星网锐捷网络技术有限公司 | 复位方法及复位控制装置 |
CN102023693B (zh) * | 2010-12-01 | 2014-09-10 | 中兴通讯股份有限公司 | 记载复位时间的方法和装置 |
CN102360315B (zh) * | 2011-09-30 | 2014-05-28 | 中国航空工业集团公司第六三一研究所 | 一种容错控制系统看门狗电路管理方法 |
CN103580941B (zh) * | 2012-08-01 | 2018-01-30 | 研祥智能科技股份有限公司 | 网络看门狗及其实现方法 |
CN102981586A (zh) * | 2012-11-23 | 2013-03-20 | 西安坤蓝电子技术有限公司 | 一种多复位源对多处理器系统的低电平复位电路及复位方法 |
CN102981587A (zh) * | 2012-12-28 | 2013-03-20 | 中国电子科技集团公司第五十四研究所 | 一种适用于多核处理器的复位方法 |
CN103105915B (zh) * | 2013-02-18 | 2016-02-03 | 广东欧珀移动通信有限公司 | 一种智能终端的复位方法及系统 |
CN104050050A (zh) * | 2013-03-13 | 2014-09-17 | 施耐德电器工业公司 | 一种看门狗控制电路和控制方法 |
CN103885563A (zh) * | 2014-03-31 | 2014-06-25 | 浙江知祺电力自动化有限公司 | 自供电微机保护装置微处理器管理电路 |
CN104978001A (zh) * | 2014-04-09 | 2015-10-14 | 中兴通讯股份有限公司 | 一种复位管理方法和装置 |
CN103941837B (zh) * | 2014-05-20 | 2017-08-11 | 浙江知祺电力自动化有限公司 | 一种自供电微机保护装置微处理器管理电路 |
CN106919462B (zh) * | 2015-12-25 | 2020-04-21 | 华为技术有限公司 | 一种生成处理器故障记录的方法及装置 |
CN105656638B (zh) * | 2015-12-30 | 2019-03-15 | 东莞市义仁汽车租赁有限公司 | 一种自动断电重启控制设备及控制方法 |
CN107438010A (zh) * | 2016-05-25 | 2017-12-05 | 中兴通讯股份有限公司 | 故障保护方法、第一、第二处理器、网络存储设备和系统 |
CN106502357B (zh) * | 2016-10-27 | 2019-07-26 | 珠海格力电器股份有限公司 | 一种复位电路及电子设备 |
CN108804247A (zh) * | 2017-05-03 | 2018-11-13 | 大唐移动通信设备有限公司 | 一种处理器的启动判断方法和装置 |
CN110399026B (zh) * | 2019-06-28 | 2021-12-03 | 苏州浪潮智能科技有限公司 | 基于fpga的多源单输出复位方法、装置及相关设备 |
CN111596747A (zh) * | 2020-05-21 | 2020-08-28 | 深圳市信锐网科技术有限公司 | 一种部件复位方法、装置、设备及可读存储介质 |
CN113778724B (zh) * | 2021-05-17 | 2024-03-22 | 北京科益虹源光电技术有限公司 | 一种看门狗的屏蔽方法及装置 |
CN113407020B (zh) * | 2021-06-09 | 2024-03-22 | 北京集创北方科技股份有限公司 | 组件启动方法及装置、触控芯片和电子设备 |
CN114323213A (zh) * | 2021-12-31 | 2022-04-12 | 河南长城信息技术有限公司 | 一种防止雷达式物位计故障引起设备跳停的方法 |
-
2007
- 2007-10-23 CN CN2007101815705A patent/CN101149636B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101149636A (zh) | 2008-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101149636B (zh) | 复位系统和方法 | |
CN100568191C (zh) | 嵌入式系统的全程喂狗方法 | |
CN102521187B (zh) | 一种i2c总线通信死锁解决方法 | |
US8589927B2 (en) | Method, apparatus and trace module for generating timestamps | |
CN103324546B (zh) | 一种延时喂狗的方法及装置 | |
CN103645794A (zh) | 一种通过边沿检测电路实现睡眠模式唤醒的芯片及方法 | |
CN107463236B (zh) | 一种复位检测电路和复位检测方法 | |
CN103268277A (zh) | 一种输出日志信息的方法及系统 | |
CN104899125B (zh) | 一种单板系统的运行信息获取方法和装置 | |
CN104035536A (zh) | 一种嵌入式系统监控及复位控制方法 | |
US9645870B2 (en) | System for debugging DMA system data transfer | |
CN102360315B (zh) | 一种容错控制系统看门狗电路管理方法 | |
CN101221518B (zh) | 一种防止硬件看门狗的定时器溢出的方法、装置与系统 | |
CN100465906C (zh) | 一种实时检测定位硬件复位原因的装置及其方法 | |
CN103530197A (zh) | 一种检测及解决Linux系统死锁的方法 | |
CN101794241A (zh) | 基于可编程逻辑器件三冗余容错计算机上电复位的电路 | |
CN102169451B (zh) | 一种监控cpu运行的方法和装置 | |
CN202153352U (zh) | 防止计算机控制系统失效的看门狗装置 | |
CN103376877A (zh) | 一种多核处理器时钟控制装置及控制方法 | |
CN105573869A (zh) | 一种基于i2c总线的系统控制器容错控制方法 | |
CN205827184U (zh) | 一种基于fpga外扩设备的通信管理机 | |
CN209625194U (zh) | Cpu复位监控装置 | |
CN102768633A (zh) | 一种基于时序监测的服务器主板开关机测试方法 | |
CN113220495A (zh) | 一种进程异常事件处理方法、装置、电子设备及存储介质 | |
EP3480700B1 (en) | Electronic control device |
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 |