一种看门狗电路的制作方法

文档序号:6509476阅读:346来源:国知局
专利名称:一种看门狗电路的制作方法
技术领域
本发明涉及电子设备,更具体的说,本发明涉及一种电子设备中的看门狗电路。
背景技术
在电子设备中一般都设置有看门狗电路,看门狗电路保证电子设备的中央处理器(CPU,central processing unit)程序死机时设备能够自动复位恢复正常。其基本原理为CPU程序死机后,CPU不会再对看门狗电路进行定期的清零(俗称喂狗),在超过一定时间后看门狗电路即控制对设备进行复位。通常,看门狗电路包含一定时器,当定时时间到后CPU仍然没有进行喂狗操作,看门狗电路即认为CPU程序死机,将发出复位信号将系统芯片复位,强制系统重新运行,避免CPU死机造成设备长期瘫痪。在CPU正常工作的情况下,必须在定时器没有溢出的情况下将定时器清零,让定时器重新计时。
目前,看门狗电路通常由看门狗芯片或现场可编程逻辑门阵列(FPGA,Field Programmable Gate Arrays)可编程逻辑器件实现,参考图1,该图是采用看门狗芯片实现的看门狗电路示意图。
如图示,这种方案中简单使用专用看门狗芯片,如ADM706,使用CPU通用I/O管脚进行喂狗。当CPU死机后,ADM706在1.6秒内检测不到喂狗信号,发出复位脉冲,将设备进行复位。
上述看门狗电路存在如下缺点CPU清零(即喂狗)时间固定,例如采用ADM706看门狗芯片,由于ADM706看门狗芯片内部定时器溢出周期为1.6秒,即CPU喂狗时间也必须小于1.6秒,因此喂狗的优先级必须很高,以避免被其他任务占用而停止喂狗,导致系统非正常重启。
另外,由于设备中所有需要复位的系统芯片均接到看门狗芯片的复位输出端,因此,只能同时复位所有系统芯片。
参考图2,该图是现有技术采用FPGA逻辑器件实现的看门狗电路示意图。
这种方案中CPU访问FPGA内部的定时器,进行清零,即喂狗,CPU死机后,停止喂狗,定时器到达设定的溢出时间,输出复位脉冲给复位控制模块,复位系统中各个芯片。CPU也可以直接访问复位控制模块对任意芯片进行复位。如图示,通过可编程逻辑器件实现看门狗功能,喂狗时间可调,可单独复位设备中的任意一片芯片,灵活多变,但存在如下缺点采用FPGA实现需要较多的逻辑资源,一般用于含FPGA芯片的中高端设备中,对于简单或低成本的设备,由于仅使用CPLD来实现一些简单的控制,还没有足够的资源来实现看门狗功能。例如一个使用50MHz时钟的FPGA,设计一个1.6秒的定时器至少需要27个触发器资源,而LATTICE公司一个LC4032的CPLD芯片只含有32个触发器,如果加上复位控制和27位宽的加法器资源,已不够设计看门狗电路。

发明内容
本发明解决的技术问题是提供一种灵活可配置、多复位输出的看门狗电路,以使看门狗电路的定时复位时间可调,同时降低逻辑器件实现成本。
为解决上述问题,本发明的看门狗电路,包括定时器单元,包括清零输入端和定时溢出输出端,用于在定时溢出后输出溢出信号;溢出检测单元,连接所述的定时器单元的清零输入端和定时溢出输出端,用于在检测到定时器单元输出的溢出信号后对所述的定时器单元发出清零信号,并输出对应一个定时时间单元的计数脉冲;
计数单元,与所述的溢出检测单元和中央处理器相连,由中央处理器控制进行看门狗清零,并对溢出检测单元输出的计数脉冲计数,在达到预定参考值时输出复位控制信号;复位发生单元,分别与所述的计数单元以及定时器单元相连,用于根据所述的复位控制信号启动系统芯片复位。
另外,还包括复位选择单元,与所述的复位发生单元和中央处理器相连,在所述复位发生单元启动复位后将系统芯片全部进行复位或根据中央处理器的控制选择部分系统芯片进行复位。
其中,所述复位发生单元包括手工复位装置,用于手动触发启动系统芯片的复位。
其中,所述的溢出信号为电平跳变信号,所述溢出检测单元为下降沿检测模块。
其中,所述的定时器单元和复位发生单元可采用看门狗芯片ADM706实现。
其中,所述的溢出检测单元、计数单元和复位选择单元可采用CPLD实现。
与现有技术相比,本发明具有以下有益效果本发明以定时器溢出周期固定输出的定时脉冲作为计数器的基本时钟定时单元,由CPU控制对所述计数器进行看门狗清零,通过预设所述计数器的清零参考溢出值,从而实现灵活配置定时复位时间;另外,本发明中可通过现有的ADM706芯片实现定时器单元和复位发生单元的功能,由CPLD实现溢出检测单元、计数单元和复位操作单元,从而通过CPLD和ADM706芯片(或类似芯片)的配合,实现了无FPGA的低成本设备中的长时间、可配置、多复位输出的看门狗电路,使得低端设备的复位控制功能可与高端设备媲美,大大提高了设备的可靠性,设备更易于管理,故障定位更加容易。


图1是现有技术采用看门狗芯片实现的看门狗电路示意图;图2是现有技术采用FPGA实现的看门狗电路示意图;图3是本发明看门狗电路组成示意图;图4是现有技术看门狗芯片ADM706的内部结构示意图;图5是本发明由看门狗芯片ADM706和CPLD逻辑实现的看门狗电路示意图;图6是图5所示复位选择电路的一种实现电路示意图。
具体实施例方式
参考图3,本发明的看门狗电路主要包括定时器单元11、溢出检测单元12、计数单元13和复位发生单元14,另外,为实现设备中系统芯片的可选复位,还可进一步包括复位选择单元15,下面分别进行说明定时器单元11本发明中所述定时器单元11包括清零输入端和定时溢出输出端,用于在定时溢出后输出溢出信号,具体实现时,可采用现有的看门狗芯片的定时器资源实现;溢出检测单元12本发明中所述溢出检测单元12连接所述的定时器单元11的清零输入端和定时溢出输出端,用于在检测到定时器单元11输出的溢出信号后对所述的定时器单元11发出清零信号,并输出对应一个定时时间单元11的计数脉冲,具体实现时所述溢出检测单元12根据具体的溢出信号形式采用不同的检测方式,例如对于电平跳变的溢出信号,可采用下降沿检测方式进行检测;
计数单元13本发明中所述计数单元13与所述的溢出检测单元12和中央处理器相连,由中央处理器控制进行看门狗清零,并对溢出检测单元12输出的计数脉冲计数,在达到预定参考值时输出复位控制信号;复位发生单元14所述复位发生单元14分别与所述的计数单元13以及定时器单元11相连,用于根据所述的复位控制信号启动系统芯片复位。
复位选择单元15本发明中所述复位选择单元15用于进行芯片的复位选择,其与所述的复位发生单元14和中央处理器相连,在所述复位发生单元14启动复位后将系统芯片全部进行复位或根据中央处理器的控制选择部分系统芯片进行复位。
需要说明的是,本发明中所述的定时器单元11和复位发生单元14可采用专用的看门狗芯片实现,例如采用看门狗芯片ADM706或其他具有类似功能的看门狗芯片。下面详细进行说明。
专用看门狗芯片基本功能大同小异,作为举例说明,本实施例中看门狗芯片以采用ADM706为例,参考图4,该图是常用的ADM706功能框图。
ADM706的内部包含一个定时器,该定时器的清零端受到WDI管脚控制,当WDI有从高到低或从低到高的信号跳变输入时,定时器清零。如果在1.6秒内WDI没有任何跳变信号输入,定时器溢出,WDO输出低电平,直到有跳变信号从WDI输入将定时器清零。
ADM706还包含一个复位发生器,当MR管脚输入低脉冲时,RESET管脚将输出低电平,在MR管脚信号从低到高跳变后,RESET继续维持200ms的低电平输出,然后恢复高电平输出。
参考图5,该图是本发明采用ADM706芯片和CPLD逻辑实现的看门狗电路示意图。
ADM706的定时部分和复位部分独立使用,CPLD内部包含3个逻辑功能模块下降沿检测、可编程计数器、复位选择,分别实现溢出检测单元、计数器单元和复位选择单元的相应功能,具体说明如下电路正常工作后,下降沿检测模块并不向ADM706的WDI输出清零信号,而是等待ADM706内部1.6秒定时器的溢出。当ADM706定时器溢出后,WDO输出从高到低的电平跳变,下降沿检测模块检测到这个跳变后输出一个计数脉冲给CPLD内部的可编程计数器,同时输出一个清零脉冲给ADM706的WDI端口将ADM706的定时器清零,等待ADM706的再次溢出。
可编程计数器为一个可清零、可关闭、溢出值可配置的计数器。当CPU对可编程计数器模块输出一个看门狗清零信号后,计数器的计数值归0,在CPU没有清零信号输入的情况下,计数器模块每收到下降沿检测模块输入的一个计数脉冲,则计数值加1,当计数器的计数值达到CPU预先配置的溢出参考值时,计数器溢出,输出一个低电平的全局复位控制信号给ADM706的MR输入端口,由ADM706从RESET端口发出全局复位信号。
本发明中溢出参考值可以在系统工作的任意时间由CPU重新配置。可编程计数器的最大误差为ADM706内部定时器的一个溢出周期,即1.6秒。由于可编程计数器的溢出参考值由CPU配置,从而实现看门狗喂狗时间的灵活控制。例如,CPU预先配置溢出参考值为10,计数器将对下降沿检测电路送来的脉冲计数,当第10个脉冲到来时,计数器从0累加到10,等于CPU预先配置的10,输出全局复位控制的低电平给ADM706的MR端口,从而完成10×1.6=16秒的看门狗电路功能。
如图5所示,本发明中复位选择模块也可采用CPLD实现。对于系统中任意一片需要复位的芯片,复位选择模块输出一个复位信号给该芯片。复位选择模块接受来自CPU和ADM706复位输出RESET端口的控制,CPU可以访问该模块的任意一个复位输出,若需复位其中一个芯片,只需要将对应的复位控制使能即可,复位选择模块输出复位信号,复位对应的芯片,直到CPU将复位控制使能关闭。来自ADM706的RESET端口将产生全局复位,即系统中所有芯片都将被复位,包括CPU。
另外,基于实际应用的需要,本发明中可在复位发生单元设置手工复位装置,用于手动触发启动系统芯片的复位,本具体实施例中即将ADM706的MR端口同时接到一个手动的机械按钮,完成用户对系统的手动全局复位。
下面举例说明本发明中进行芯片复位的原理。
参考图6,该图是本发明中CPU对芯片的复位控制操作示意图。
假设系统中有3片芯片,每个芯片需要一个复位信号,复位为低电平有效,则CPLD器件内为这3片芯片分配一一对应的3个触发器资源。这3个触发器可以由CPU直接访问,CPU可以对任意一个触发器写入0或1,写入的值通过触发器的输出直接接到了需要复位的器件复位管脚。在需要ADM706的复位进行全局复位控制时,ADM706的复位控制信号插入到触发器的输出和被复位芯片的复位管脚。
例如,若CPU对触发器1写入“0”,则触发器1的“Q”将输出低电平,芯片1的复位信号为低,芯片1被复位;CPU对触发器1写入“1”,触发器1的“Q”输出高电平,芯片1停止复位。由于每个芯片对应一个触发器,故每个芯片的复位都可单独受到CPU的控制。
需要说明的是,本发明中看门狗电路设计所需的逻辑资源极少,以实现25秒的看门狗电路为例,若采用本发明的方案定时器资源只需要4个触发器。实现一个完整的看门狗电路甚至不到10个逻辑宏单元。
下面就以分别使用本发明的ADM706+CPLD的方案和使用FPGA的现有技术方案实现25秒的看门狗所需逻辑资源进行对比说明,进一步说明本发明减少逻辑资源的效果。
首先说明现有技术使用FPGA实现25秒看门狗的所需的逻辑资源现有技术中采用FPGA设计时,对于系统时钟50Mhz,每个时钟周期20ns,获得25s的时间,需要25/(20×10-9)=1250000000分频,1250000000转换为二进制为“1001010100000010111110010000000”,即需要31位二进制计数器才能从50M时钟获得一个25秒的控制信号,31位计数器需要31个触发器资源,加上31计数器所需要的运算资源也很庞大,在小型CPLD内实现是不现实的。例如LATTICE公司的LC4032也就只有32个触发器资源而已。
而本发明使用ADM706+CPLD,ADM706输出1.6s定时脉冲,获得25s的时间,需要25/1.6=15.625,取整为15,转换为二进制为“1111”,即需要4位二进制计数器就可以获得,4位计数器也就对应4个触发器,在任意种类的CPLD内都是很容易实现。加上控制3片芯片复位需要的3个触发器,共需要7个触发器资源而已,所需触发器资源较现有技术大大较少了。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种看门狗电路,其特征在于,包括定时器单元,包括清零输入端和定时溢出输出端,用于在定时溢出后输出溢出信号;溢出检测单元,连接所述的定时器单元的清零输入端和定时溢出输出端,用于在检测到定时器单元输出的溢出信号后对所述的定时器单元发出清零信号,并输出对应一个定时时间单元的计数脉冲;计数单元,与所述的溢出检测单元和中央处理器相连,由中央处理器控制进行看门狗清零,并对溢出检测单元输出的计数脉冲计数,在达到预定参考值时输出复位控制信号;复位发生单元,分别与所述的计数单元以及定时器单元相连,用于根据所述的复位控制信号启动系统芯片复位。
2.根据权利要求1所述的看门狗电路,其特征在于,还包括复位选择单元,与所述的复位发生单元和中央处理器相连,在所述复位发生单元启动复位后将系统芯片全部进行复位或根据中央处理器的控制选择部分系统芯片进行复位。
3.根据权利要求1所述的看门狗电路,其特征在于,所述复位发生单元包括手工复位装置,用于手动触发启动系统芯片的复位。
4.根据权利要求1所述的看门狗电路,其特征在于,所述的溢出信号为电平跳变信号,所述溢出检测单元为下降沿检测模块。
5.根据权利要求1-4任一项所述的看门狗电路,其特征在于,所述的定时器单元和复位发生单元采用看门狗芯片ADM706实现。
6.根据权利要求5所述的看门狗电路,其特征在于,所述的溢出检测单元、计数单元和复位选择单元采用CPLD实现。
全文摘要
本发明中公开一种看门狗电路,包括定时器单元,包括清零输入端和定时溢出输出端,用于在定时溢出后输出溢出信号;溢出检测单元,连接所述的定时器单元的清零输入端和定时溢出输出端,用于在检测到定时器单元输出的溢出信号后对所述的定时器单元发出清零信号,并输出对应一个定时时间单元的计数脉冲;计数单元,与所述的溢出检测单元和中央处理器相连,由中央处理器控制进行看门狗清零,并对溢出检测单元输出的计数脉冲计数,在达到预定参考值时输出复位控制信号;复位发生单元,分别与所述的计数单元以及定时器单元相连,用于根据所述的复位控制信号启动系统芯片复位。本发明实现看门狗电路的定时复位时间可调,同时降低逻辑器件实现成本。
文档编号G06F11/00GK1722094SQ200510000229
公开日2006年1月18日 申请日期2005年1月5日 优先权日2005年1月5日
发明者洪建明, 戴科, 马梁 申请人:杭州华为三康技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1