监视定时器电路和系统及使用方法

文档序号:6562510阅读:377来源:国知局
专利名称:监视定时器电路和系统及使用方法
技术领域
本发明涉及微处理器控制电路,具体地说,涉及监视定时器电路。再具体些说,本发明涉及智能监视定时器电路设计。
背景技术
用监视定时器电路(watchdog circuit)监视同伴的操作并在异常操作(例如,程序不正常执行/终止或无线循环操作)的情况下使微处理器复位是众所周知的。监视定时器电路提供保证微处理器在有故障以后返回已知基准状态所必需的复位命令,以便继续指定的操作。
监视定时器电路包括计数器,它接收作为计数源的时钟输入,而在读数到达预定数字时输出溢出信号。溢出信号提供给系统复位端,作为微型计算机的复位信号。计数器由程序周期地复位,程序对计数器的复位操作在计数器的计数值没有溢出时执行。本领域技术人员熟悉溢出状况的出现以及带来的计数器和系统(例如,微处理器)复位。
传统的监视定时器电路是围绕着延迟组件来实现的。这个延迟组件有时用RC电路实现(如果定时要求不到一秒的话)。典型的监视定时器电路为它的延迟组件用简单的向上(即,递增)计数的计数器,以数字方式精确实现。采用这种系统配置,系统必须在计数器溢出前对计数器复位。
图1和2例示了传统的接到主系统上的监视定时器。如图1所示,监视定时器电路101通过监视定时器溢出信号108和重新启动监视定时器信号106这两个信号通路与主系统110连接。监视定时器电路101包括计数器105,它从诸如系统时钟之类的已知源(未示出)接收时钟输入。
图2例示了监视定时器电路101和系统110的状态图表示。监视定时器电路101的状态图包括状态五个状态,根据从系统110接收到的输入从状态1转移到状态5。状态1202表示初始电源接通状态,这时监视定时器电路将监视定时器计数器初始化为零(方框204)。状态2 206表示给计数器的时钟时间的判决输入。从状态2 206,电路转移到状态5 208或延迟组件212。延迟组件212表示在状态2 206内/与状态2 206关联的单个延迟回路,直到时钟时间改变。
在状态5 208,电路确定是否从系统接收/检测到切换信号。在检测到切换信号时,电路返回方框204,将监视定时器计数器初始化为零。如果没有检测到信号,将计数器递增(方框210),随后电路进至状态3 214,其中电路确定计数器是否处在溢出状态。在计数器没有处在溢出状态时,控制经延迟组件212返回状态2 206。在登记了溢出状况时,控制进至状态4 216,使系统复位。此外,在方框218,系统可以在重新激活监视定时器功能之前记录出现故障(溢出),或者系统可以决定在出现故障后不启动监视定时器。
从系统来看,只有两个状态相关。在状态1 220,确定是否已经到切换监视定时器的时间。在还没有到切换监视定时器电路的时间时,控制通过延迟组件224返回状态1 220。在到了切换监视定时器电路的时间时,控制进至状态2 222,产生脉冲的监视定时器信号。
大量监视定时器由从它们的主系统检测到的简单转移复位。例如,如果典型的5分钟监视定时器在超时(time-out)时段(即,5分钟)内看到任何转移,监视定时器就将这个转移看作来自主系统的有效保活信号,并且监视定时器将重新启动它的定时器/计数器。然而,这种途径的缺点是,在某些故障情况下,挂起的(hung)系统可产生阻止监视定时器执行其所需监视/通知任务的足够的随机保活脉冲。
业已提出一些对监视定时器的改进和其他备选设计。其中包括美国专利6,385,274提供了一种可以防止在监视定时器发出复位前产生意外信号的监视定时器电路。然而,这个专利不能防止虚假刷新;美国专利5,864,663提供了一种发出可以用作系统的复位信号的溢出信号的监视定时器电路;美国专利5,099,153揭示了一种递减计数直到满足条件为止的监视定时器电路;以及欧洲专利025163A2提供了一种用充电/放电电容器作为它的定时器(而不是具有时钟输入的计数器)的监视定时器电路。
值得注意的是,以上这些方法中没有一种方法智能地考虑到在系统处在挂起状态时的虚假保活脉冲的问题。此外,随机保活信号使以上传统的监视定时器设计不能可靠地执行其所需任务。实现更为智能化的监视定时器电路的一种途径需要使用小型的微控制器,但这种途径不经济,成本过高。本发明就是针对需要具有更为智能化而实现更为容易的监视定时器解决方案提出的。

发明内容
所公开的是一种智能监视定时器电路以及用于提供使计数器在递增和递减两个方向上进行计数(即,从零递增到最大值或从最大值递减到零)的智能监视定时器电路功能的方法。这种增强型监视定时器电路不会象在常规设计中所发生的那样受到来自有故障系统的随机信号的损害(即不容易受到蒙蔽)。通过控制其递增、递减模式控件,防止所述可逆的递增/递减计数器翻转(roll over)。受监视的系统监视监视定时器计数器的最高有效位(MSB)来确定计数方向。
这种智能监视定时器设计所针对的是使传统的监视定时器设计不能可靠地执行其所需任务的随机保活信号的问题。智能监视定时器设计通过要求系统控制计数器的方向以防止出现翻转,要求系统有附加的智能性。系统根据监视定时器计数器的MSB的状态来设置计数方向。
监视定时器电路除了由传统的电路提供的标准输出信号之外还包括附加的输出信号(MSB信号)。利用这个MSB信号(指出MSB的值是1还是0),系统触发监视定时器电路计数的方向。因此,在MSB为“1”时,系统命令监视定时器递减计数,而在MSB为“0”时系统命令监视定时器递增计数。
在下面的详细说明中可以清楚地看到本发明的以上这些和其他一些目的、特征和优点。


从以下结合附图对本发明的例示性实施例的详细说明中可以更好地理解本发明本身及其优选使用模式、其他目的和优点,在这些附图中图1为与系统连接的现有技术监视定时器电路的方框图表示;图2为例示按照现有技术设计的图1的监视定时器电路和系统的操作流程内各个转移状态的状态图;图3为按照本发明的一个实施例设计的与系统连接的智能监视定时器电路的方框图表示;图4为例示按照本发明的一个实施例设计的图2的智能监视定时器电路和系统的操作流程内各个转移状态的状态图;图5例示了按照本发明设计的智能监视定时器电路内所使用的计数器的最高有效位(MSB);以及图6为按照本发明的一个实施例设计的指出计数方向与MSB值之间的关系的8位计数器的方框图表示。
具体实施例方式
本发明提供了一种提供使计数器在递增和递减两个方向上进行计数(即,从零递增到最大值或从最大值递减到零)的智能监视定时器电路功能的智能监视定时器电路和方法。这种增强型监视定时器电路不会象在常规设计中所发生的那样受到来自有故障系统的随机信号的损害(即不容易受到蒙蔽)。可逆的递增/递减计数器由于控制它的递增、递减模式控制防止了翻转。受监视的系统监视监视定时器的计数器的最高有效位(MSB)来确定计数方向。
因此,本发明引入了一种简单而又智能的监视定时器电路,为它的延迟组件使用递增/递减计数器。如果允许计数器上溢出或下溢出其边界(在任何一个方向上),则发生监视定时器事件。系统的目的是通过控制计数方向使计数器总是保持在它的边界内。计数方向只不过是计数器的最高有效位的函数。因此,系统只要简单地监视计数器的MSB并执行少许智能评估,以便确定所希望的计数方向。
这种智能监视定时器设计所针对的是使传统的监视定时器设计不能可靠地执行其所需任务的随机保活信号的问题。智能监视定时器设计通过要求系统控制计数器的方向以防止出现翻转,要求系统有附加的智能性。系统根据监视定时器计数器的MSB的状态来设置计数方向。
监视定时器电路除了由传统的电路提供的标准输出信号之外还包括附加的输出信号(MSB信号)。利用这个MSB信号(指出MSB的值是1还是0),系统触发监视定时器电路计数的方向。因此,在MSB为“1”时系统命令监视定时器递减计数,而在MSB为“0”时系统命令监视定时器递增计数。
下面来看这些附图,特别是图3,图中例示了按照本发明的一个实施例设计的智能监视定时器电路与系统连接的情况。系统310可以是任何类型的电设备,诸如微处理器或其他集成电路设备,但在这里称为通用系统。
如图3所示,监视定时器电路301通过两个输出信号通路和一个输入信号通路与主系统310耦接。输出信号通路包括监视定时器超时信号308和MSB信号304。输入信号为计数器方向信号306,用来触发计数器递增或递减计数。MSB信号304可以是逻辑高电平(1)或逻辑低电平(0),表示计数器最高有效位的值。
监视定时器电路301包括从诸如系统时钟之类的已知源(未示出)接收时钟输入的N位计数器305。为了简化说明和例示起见,假设N为8,当然本发明适用于具有任何多个位(优选的是2位以上)的计数器,使得计数器可以根据最高有效位的值递增和/或递减计数。图5例示了一个示范性的8位计数器500,一端是最高有效位502而另一端是最低有效位。MSB信号304在一端上连接到MSB 502,并将最高有效位内的值(例如0或1)馈送给主系统310。
图4例示了智能监视定时器电路301和主系统310的状态图表示。监视定时器电路301的状态图包括五个主状态,有两个辅状态与主状态5关联。状态图例示了状态1至5根据从系统310接收的输入和指出计数器计数方向(递增/递减)的MSB的值转移的情况。状态1 402表示初始电源接通状态,接着,监视定时器电路将监视定时器计数器初始化为中点值(状态1a 404)。选择中点(10000000或01111111)是要在系统接通时为计数器提供相等的递增计数或递减计数的范围。
其他实施例可以在不同的点启动计数器,并根据计数器的起点调整计数的起始方向。例如,在零点(00000000)启动的计数器必须开始递增计数。状态2 406表示检查时钟时间是否已经改变的决策点。从状态2 406,电路可以转移到状态5 408或延迟组件412。延迟组件412表示在状态2 406内/与状态2 406关联的单个延迟回路,它延迟对计数器的最终改变直到出现时钟时间改变为止。
在状态5 408,电路的逻辑确定是否从系统接收/检测到递增计数信号。在检测到切换信号时,电路进至状态5u 411,监视定时器的计数器递增(+1)。如果来自系统的信号没有指出“递增计数”(即,接收到的是“递减计数”信号),计数器在状态5d 410递减。从状态5u 411或5d 410,控制进至状态3 414,电路确定计数器是否处在上溢出或下溢出状态。在计数器没有处在上溢出/下溢出状态时,控制经延迟组件412返回状态2 406。在记录有上溢出/下溢出状况时,控制进至状态4 416,使系统复位。系统也可以响应上溢出/下溢出状态执行其他操作,这些其他操作概括地示为方框418。
从系统来看,状态图内示出了四个状态。初始状态,即状态1 420,涉及确定是否到了为监视定时器电路服务的时间。在还没有到切换监视定时器电路的时间时,控制进至延迟组件424,接着返回状态1 420。在到了为监视定时器电路服务的时间时,控制进至状态2 422,确定通过MSB信号通路接收到的信号(MSB信号304)是否指出递增计数。
如果接收到的信号没有指出递增计数,控制就进至状态4 428,将递减计数触发/信号提供给监视定时器电路的计数器。然而,如果接收到的信号指出递增计数,控制就进至状态3 426,准备递增计数触发/信号,并将其转发给监视定时器电路的计数器。
图6为例示8位计数器和根据最高有效位的值关联的情况的图表。示出了数据的三个列,即十进制计数602、从最高有效位到最低有效位的实际计数器位604和计数器区域606。在计数器区域606内,区分为两个主区域,在计数器区域的上半部608内MSB为1,而在计数器区域的下半部610内MSB为0。MSB在实际计数器位604内示为粗体。如由十进制计数所示,8位计数器表示从0到255的256个值。
图表表示十进制范围从0-255的8位计数器。如果允许计数器递减计数到0(b,“0000-0000”)或递增计数到255(b,“1111-1111”),监视定时器事件就会触发。系统的目的是使监视定时器离开最近的端点(或朝向与它所在的区域相对的区域)进行计数。因此,如果计数器处在上半区域,它就被设置为递减(朝下半区域)计数。如果计数器处在底端或下半区域,它就被设置为递增计数。MSB的状态清楚地指出计数器的区域,因此也就指出了所希望的计数方向。
典型的监视定时器功能容易受到随机或无谓的信号的蒙蔽。本监视定时器电路不容易受到蒙蔽,而且管理容易,实现也简单。
最后要指出的是,虽然以上是以装有管理软件的功能完全的计算机系统为背景对本发明的例示性实施例进行说明的,但是本领域技术人员可以理解,本发明的例示性实施例的软件方面可以作为各种形式的程序产品分发,而且无论用来实际执行分发的承载信号的是哪种媒体,都可以用来实现本发明。承载信号的媒体的例子包括诸如软盘、硬盘驱动器、CD ROM之类的可记录型媒体和诸如数字和模拟通信链路之类的传输型媒体。
虽然以上是结合优选实施例对本发明进行具体说明的,但本领域技术人员可以理解其中无论在形式上还是在细节上都可以作出各种更改,这并不背离本发明的精神和专利保护范围。
权利要求
1.一种监视定时器组件,所述监视定时器组件包括能够递增计数到最大值和递减计数到最小值的N位计数器;根据从周期源接收的周期信号自动递增和递减计数器的值的逻辑;以及根据接收的由计数器的最高有效位(MSB)的当前值触发的输入,将计数器计数的方向从递增改变为递减和从递减改变为递增的逻辑。
2.权利要求1的监视定时器组件,其中所述组件用硬件实现,并且还包括触发主系统复位的第一输出信号;将MSB的值用信号通知主系统的第二输出信号;以及指出计数器是递增计数还是递减计数的第一输入信号,所述第一输入信号表示接收的输入并根据MSB的值产生。
3.权利要求1的监视定时器组件,还包括如果计数器递减计数到0或递增计数到最大值(2^N),则触发监视定时器事件的逻辑;以及使监视定时器组件的计数离开计数器值的最近端点、朝向计数器值的相对端点的逻辑,其中第一端点为最大计数器值,而第二相对端点为0。
4.权利要求1的监视定时器组件,还包括检查计数器的最高有效位(M)的状态的逻辑;根据MSB的值确定计数器值改变的方向(向上或向下)的逻辑,其中在MSB为指出计数器最接近零值的第一值时,所述用于确定的逻辑选择向上方向改变/递增计数器值;以及在MSB为指出计数器最接近最大值的第二值时,所述用于确定的逻辑选择向下方向改变/递减计数器值。
5.一种受控系统,所述受控系统包括对操作进行处理的主系统;与主系统耦接的监视定时器电路,所述监视定时器电路包括用作延迟组件的N位递增/递减计数器,所述计数器具有上、下边界;如果允许计数器上溢出其上边界或下溢出其下边界,则记录发生监视定时器事件的逻辑;以及使得所连接的主系统能够通过控制计数方向将计数器保持在其边界内的逻辑。
6.权利要求5的受控系统,其中所述监视定时器电路还包括监视递增/递减计数器的最高有效位(MSB)的值的逻辑;以及根据MSB的值确定计数器的所希望的计数方向的逻辑,其中在MSB为指出计数器最接近零值的第一值时,所述用于确定的逻辑选择向上方向改变/递增计数器值;以及在MSB为指出计数器最接近最大值的第二值时,所述用于确定的逻辑选择向下方向改变/递减计数器值。
7.权利要求5的受控系统,其中所述监视定时器电路还包括根据从周期源接收的周期信号自动递增和递减计数器的值的逻辑;以及根据从主系统接收的由计数器的最高有效位(MSB)的当前值触发的输入,将计数器计数的方向从递增改变为递减和从递减改变为递增的逻辑。
8.权利要求5的受控系统,其中所述监视定时器电路还包括触发主系统复位的第一输出信号;将MSB的值用信号通知主系统的第二输出信号;以及指出计数器是递增计数还是递减计数的第一输入信号,所述第一输入信号表示接收的输入并根据MSB的值产生。
9.权利要求5的受控系统,其中所述监视定时器电路还包括如果计数器递减计数到0或递增计数到最大值(2^N),则触发监视定时器事件的逻辑;以及使监视定时器组件的计数离开计数器值的最近端点、朝向计数器值的相对端点的逻辑,其中第一端点为最大计数值,而第二相对端点为0。
10.权利要求5的受控系统,其中所述主系统还包括控制计数器的计数方向的逻辑,其中所述逻辑改变方向以防止上溢出和下溢出状况,而不是将计数器的值清除/复位到开始值,其中所述控制方向的逻辑还利用MSB的值确定哪个方向基本上消除出现上溢出和下溢出,并且所述逻辑将所述方向用信号通知控制计数器的逻辑。
11.一种在具有对操作进行处理的主系统和与主系统耦接的监视定时器电路的受控系统内的方法,所述方法包括提供用作延迟组件的N位递增/递减计数器,所述计数器具有上、下边界;如果允许计数器上溢出其上边界或下溢出其下边界,则记录发生监视定时器事件;以及使得所连接的主系统能够通过控制计数方向将计数器保持在其边界内。
12.权利要求11的方法,所述方法还包括监视递增/递减计数器的最高有效位(MSB)的值;以及根据MSB的值确定计数器的所希望的计数方向,其中在MSB为指出计数器最接近零值的第一值时,所述确定步骤包括选择向上方向改变/递增计数器值;以及在MSB为指出计数器最接近最大值的第二值时,所述确定步骤包括选择向下方向改变/递减计数器值。
13.权利要求11的方法,所述方法还包括根据从周期源接收的周期信号自动递增和递减计数器的值;以及根据从主系统接收的由计数器的最高有效位(MSB)的当前值触发的输入,将计数器计数的方向从递增改变为递减和从递减改变为递增。
14.权利要求11的方法,还包括在出现上溢出或下溢出状况时输出主系统的复位;将MSB的当前值传送给主系统;以及接收指出计数器是递增计数还是递减计数的第一输入信号,所述第一输入信号表示接收的输入并根据MSB的值产生。
15.权利要求11的方法,所述方法还包括如果计数器递减计数到0或递增计数到最大值(2^N),则触发监视定时器事件;以及使监视定时器组件的计数离开计数器值的最近端点、朝向计数器值的相对端点,其中第一端点为最大计数值,而第二相对端点为0。
16.权利要求11的方法,所述方法还包括控制计数器的计数方向,其中所述逻辑改变方向以防止上溢出和下溢出状况,而不是将计数器的值清除/复位到开始值,其中所述控制方向的逻辑还利用MSB的值确定哪个方向基本上消除出现上溢出和下溢出,并且所述逻辑将所述方向用信号通知控制计数器的逻辑。
全文摘要
本发明揭示了一种简单而又智能的监视定时器电路,这种监视定时器电路为它的延迟组件使用了递增/递减计数器。如果允许计数器上溢出或下溢出它的边界(在任何一个方向上),则发生监视定时器事件。系统的目的是通过控制计数方向使计数器总是保持在它的边界内。计数方向只不过是计数器的最高有效位(MSB)的函数。因此,系统只要简单地监视计数器的MSB并执行少许智能评估,来确定所希望的计数方向。
文档编号G06F11/00GK1955937SQ20061014285
公开日2007年5月2日 申请日期2006年10月27日 优先权日2005年10月28日
发明者查里斯·莱维林·普林顿, 克里斯托弗·科里尔·维斯特, 杰克·P.·王, 马亚·亚尔布鲁格 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1