会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 电脑零配件 / 看门狗定时器 / 外围看门狗定时器

外围看门狗定时器

阅读:773发布:2020-05-11

IPRDB可以提供外围看门狗定时器专利检索,专利查询,专利分析的服务。并且本申请公开了一种外围看门狗定时器。在一些实施例中,电路可包括多个外围设备和耦合到该多个外围设备中的至少一个的外围看门狗定时器电路。该外围看门狗定时器电路可被配置成对时钟周期进行计数,并同时检测与该多个外围设备中的至少一个相关联的活动。该外围看门狗定时器电路可被配置成响应于检测到该活动而重置计数。在一些实施例中,该外围看门狗定时器电路可被配置成在检测到该活动之前计数超过阈值计数时产生警报信号。在一些实施例中,该外围看门狗定时器电路被配置成在警报未在一段时间内被服务时启动重置操作。,下面是外围看门狗定时器专利的具体信息内容。

1.一种电路,包括:

多个外围设备;以及

外围看门狗定时器电路,耦合至所述多个外围设备中的至少一个,所述外围看门狗定时器电路被配置成对时钟周期进行计数,并同时检测与所述多个外围设备中的至少一个相关联的活动,所述外围看门狗定时器电路被配置成响应于检测到所述活动而重置计数。

2.如权利要求1所述的电路,其中所述外围看门狗定时器电路被配置成在检测到所述活动之前所述计数超过阈值计数时产生警报信号。

3.如权利要求2所述的电路,其中:

所述警报信号包括中断;并且

所述外围看门狗定时器电路被配置成在所述中断未在一段时间内被服务时启动重置操作。

4.如权利要求1所述的电路,其中所述多个外围设备中的至少一个包括配置成独立于处理器内核操作的自主的外围设备,所述自主的外围设备包括可编程计数器、传感器和错误检测电路中的至少一个。

5.如权利要求1所述的电路,其中所述外围看门狗定时器电路被配置成监测与至少一个外围设备相关联的事件链,并在所述事件链完成前所述计数超过阈值计数时产生警报信号。

6.如权利要求5所述的电路,进一步包括控制电路,所述控制电路耦合至所述外围看门狗定时器电路,并被配置成响应于所述警报信号而重置处理器和外围设备中的至少一个。

7.如权利要求5所述的电路,进一步包括控制电路,所述控制电路耦合至所述外围看门狗定时器电路,并且响应于所述警报信号,所述控制电路被配置成调查所述多个外围设备中的至少一个以确定状态,并且可选地确定合适的响应来重置所述多个外围设备中的至少一个。

8.一种电路,包括:

多个外围设备;以及

外围看门狗定时器电路,耦合至所述多个外围设备中的至少一个,所述外围看门狗定时器电路被配置成对时钟周期进行计数,并同时检测与所述多个外围设备中的至少一个相关联的活动,所述外围看门狗定时器电路被配置成在检测到所述活动之前计数超过阈值计数时产生警报信号。

9.如权利要求8所述的电路,其中:

所述警报信号包括中断;并且

所述外围看门狗定时器电路被配置成在所述中断未在一段时间内被服务时启动重置操作。

10.如权利要求8所述的电路,其中所述外围看门狗定时器电路被配置成响应于检测到所述活动而重置所述计数。

11.如权利要求8所述的电路,进一步包括耦合至所述多个外围设备和所述外围看门狗定时器电路的处理器内核,所述处理器内核被配置成响应于所述警报信号而进行重置。

12.如权利要求8所述的电路,进一步包括:控制电路,耦合至所述外围看门狗定时器电路;并且其中,响应于所述警报信号,所述控制电路被配置成:调查所述多个外围设备中的至少一个以确定状态;以及响应于确定所述状态而选择性地重置处理器和外围设备中的至少一个。

13.如权利要求8所述的电路,其中所述多个外围设备中的至少一个包括配置成独立于处理器内核操作的自主的外围设备。

14.如权利要求8所述的电路,其中所述外围看门狗定时器电路被配置成监测与至少一个外围设备相关联的事件链,并在所述事件链完成前所述计数超过阈值计数时产生所述警报信号。

15.一种方法,包括:

响应于时钟信号调节外围看门狗定时器电路的计数;

监测至少一个外围电路以检测活动;以及

当检测到所述活动之前所述计数与阈值交叉时产生警报信号。

说明书全文

外围看门狗定时器

技术领域

[0001] 本发明一般涉及处理电路和方法,且尤其涉及配置成监测外围活动的外围看门狗定时器。

背景技术

[0002] 按照惯例,处理电路可包括中央处理单元(CPU),该中央处理单元具有CPU活动监测器,该CPU活动监测器通过软件任务来进行更新,从而指示CPU正在运行以及代码线程正在工作。该活动监测器可用于确定CPU何时是不活动的,并可将这样的信息传送给电源管理系统,以降低功率、时钟速度、或CPU或其他电路的其他参数,以降低功耗。

发明内容

[0003] 在一些实施例中,电路可包括多个外围设备和耦合至该多个外围设备中的至少一个的外围看门狗定时器电路。该外围看门狗定时器电路可被配置成对时钟周期进行计数,并同时检测与该多个外围设备中的至少一个相关联的活动。该外围看门狗定时器电路可被配置成响应于检测到该活动而重置(reset)计数。在一些实施例中,该外围看门狗定时器电路可被配置成在检测到该活动之前计数超过阈值计数时产生警报信号。
[0004] 在其他实施例中,电路可包括多个外围设备和耦合至该多个外围设备中的至少一个的外围看门狗定时器电路。该外围看门狗定时器电路可被配置成对时钟周期进行计数,并同时检测与该多个外围设备中的至少一个相关联的活动。该外围看门狗定时器电路可被配置成在检测到该活动之前计数超过阈值计数时产生警报信号。在一些实施例中,该外围看门狗定时器电路可被配置成响应于检测到该活动而重置计数。
[0005] 在又其它实施例中,一种方法可包括响应于时钟信号调节外围看门狗定时器电路的计数以及监测至少一个外围电路以检测活动。该方法可进一步包括在检测到该活动之前该计数超过阈值时产生警报信号。

附图说明

[0006] 图1是根据本公开的一些实施例的包括外围看门狗定时器的集成电路的框图。
[0007] 图2A是根据本公开的一些实施例的包括外围看门狗定时器信号、与自主的外围设备相关联的信号和重置信号时序图。
[0008] 图2B是根据本公开的一些实施例的对应于图2A的时序图的外围看门狗定时器随时间的计数的示图。
[0009] 图3是根据本公开的一些实施例的包括外围看门狗定时器的电路的框图。
[0010] 图4是根据本公开的一些实施例的外围看门狗定时器电路的框图。
[0011] 图5是根据本公开的一些实施例的使用外围看门狗定时器监测外围设备的方法的流程图。
[0012] 在下面的讨论中,在各种实施例中使用相同的附图标记来指示相同或相似的元件。

具体实施方式

[0013] 下面描述可以被配置成监测一个或多个自主的外围设备以检测已经停止运行的外围设备、检测已经停止的外围操作或其任意组合的电路、系统和方法的实施例。在一些实施例中,集成电路可以集成多个外围设备。这样的外围设备可以包括磁盘驱动器控制器、键盘控制器、输入/输出设备,和其他组件。外围设备也可以包括电路,诸如传感器电路、检测器等,它们中的一些可以相对于系统的处理器自主地操作。如本文中所使用的,术语“自主的外围设备”是指可以在处理器的控制之外操作的设备。自主的外围设备的示例可包括可在处理器处于低功率或空闲状态时操作的传感器和其他电路。这种设备可以捕捉数据,并例如将数据提供到寄存器。
[0014] 在一些实施例中,外围看门狗定时器电路可以定义对应于时间周期的计数,该计数可以表示在其之间预期一个或多个外围设备向总线、I/O端口或引脚、寄存器、另一电路或其任意组合提供信号(诸如数据输出)的一段时间。外围看门狗定时器电路可以对时钟周期数计数,或可以响应于时钟信号的时钟周期递增(或递减)计数。在一些实施例中,可以将外围看门狗定时器电路耦合到一个或多个外围设备以检测触发事件,诸如指示外围设备的操作的任意活动。在一些实施例中,该外围设备可以经由总线或通过I/O端口或引脚耦合到外围看门狗定时器电路。如果在外围看门狗定时器电路的计数与阈值交叉之前检测到触发事件,则重置看门狗定时器电路。否则,当检测到触发事件之前计数与阈值交叉,外围看门狗定时器电路可产生警报,诸如中断。
[0015] 在一些实施例中,可以将警报发送到处理器,或者发送到另一控制电路,以重置外围设备或调查该问题。在一些实施例中,可以将外围看门狗定时器电路配置成查看多个外围设备,并识别已停转或可能被卡住的事件链,使得系统不中止。在一些实施例中,可以将外围看门狗定时器配置成监测事件链,并在所有事件正在触发时重置。当事件链中的任何一个在一段时间内未能触发时,外围看门狗定时器电路可以产生警报。
[0016] 在一些实施例中,外围看门狗定时器电路可以监测对中断的服务(service)。如果在没有服务该中断的情况下,外围看门狗定时器电路的计数与第二阈值交叉之前服务中断,则外围看门狗定时器电路可以启动重置操作,以重置处理器。下面参照图1描述包括外围看门狗定时器电路的集成电路的示例。
[0017] 图1是根据本公开的一些实施例的包括外围看门狗定时器的集成电路100的框图。集成电路100可以包括时钟输入(C2CK/RST),电源输入(VDD)、接地输入(GND)和多个通用输入/输出(I/O)101。集成电路100包括耦合到控制器内核102和调试/编程硬件106的上电复位电路104。控制器内核102可以包括可配置成执行指令和处理数据的一个或多个处理器电路,诸如微控制器单元(MCU)或其他处理器。控制器内核102可以包括闪存、同步随机存取存储器(SRAM),和外部存储器(XRAM)。控制器内核102可被耦合到特殊功能寄存器(SFR)总线
1008,该特殊功能寄存器(SFR)总线1008可被耦合至系统时钟配置模块110。系统时钟配置模块110可包括振荡器112、低频振荡器114和CMOS振荡器输入116以接收外部时钟信号。系统时钟配置模块110还可以包括配置成在信号之间进行选择并将系统时钟信号提供至控制器内核102的多路复用器。此外,集成电路100可包括与CMOS振荡器输入116、电源输入、和控制器内核102耦合的独立的看门狗定时器118。
[0018] 在一些实施例中,可以将独立的看门狗定时器118配置成监测与控制器内核102相关联的一个或多个进程。独立的看门狗定时器118可以根据由控制器内核102所执行的指令定期重置。当独立的看门狗定时器118未被清零(clear)时,看门狗重置操作被激活,其功能可以重置控制器内核102的处理器中的一个或多个。在一些实施例中,在独立的看门狗定时器118在给定的最后期限(计数或定时器阈值)之前未由软件清零的情况下,独立的看门狗定时器118可以是可被配置成产生系统重置的低能量外围模块。当独立的看门狗定时器被清零时,独立的看门狗定时器118的计数值可以被设置为零。当控制器内核102正确运行时独立的看门狗定时器118的重置可以通过软件重置。当独立的看门狗定时器118超过可编程的阈值时,独立的看门狗定时器118可产生指示集成电路100未在正确操作以及控制器内核102未能重置独立的看门狗定时器118的系统重置信号。独立的看门狗定时器118可以由控制器内核102控制,以验证控制器内核102正在运行以及指令线程正在工作。由于指令线程可以与一个或多个外围设备进行通信,因而独立的看门狗定时器118可能不响应于外围设备的故障而触发,除非与该外围设备相关联的线程失败或停转。
[0019] 集成电路100可以进一步包括端口输入/输出(I/O)配置电路120,该端口输入/输出(I/O)配置电路120具有耦合到SFR总线108的输入以及耦合到多个端口驱动器142、144、和146中的每一个的输出。集成电路1000可以进一步包括模拟外围设备140,诸如模数转换器(ADC)、数模转换器(DAC)、模拟多路复用器、温度传感器和比较器。模拟外围设备140可耦合到SFR总线108。
[0020] 集成电路100可以进一步包括数字外围设备电路122,该数字外围设备电路122包括一个或多个UART 124、一个或多个定时器126(包括外围看门狗定时器(PWDT)127)、一个或多个可编程计数器阵列(PCA)128、12C或SMBUS 130、串行外围接口132、错误检测电路诸如循环冗余码(CRC)电路134,和可配置的逻辑电路136。可配置的逻辑电路136可以耦合到外围设备中的一个或多个以及优先权交叉开关译码器138。
[0021] 在一些实施例中,PWDT 127可以监测外围设备(包括UART 124、PCA 128、SPI 132、CRC 134)中的一个或多个以及耦合到通用(GP)I/O 101中的一个或多个的一个或多个外部外围设备。PWDT 127可被配置成标识外围设备何时已锁定并且不再在外围子系统相对于处理器内核102自主操作的环境中运行。PWDT 127可被配置成在没有唤醒处理器内核102,且甚至当处理器内核102被锁定或不运行时检测锁定的外围设备。
[0022] 在一些实施例中,外围设备可以是自触发的。在一些实施例中,要由PWDT 127监测的操作链可以包括触发机制、触发器的消费者(即,可以从外围设备利用数据或可以响应于外围设备的电路或部件),以及将所得的数据存储到存储器(诸如RAM、寄存器,或另一个存储器)中。操作链可以在没有处理器内核102的干预下发生。因此,如果因为某种原因,外围设备可被锁定(例如,软错误、断电等),则PWDT 127可被配置至外围设备中的一个或多个以检测活动。如果在一段时间内没有检测到活动,则PWDT 127可向处理器内核102触发中断。如果该中断未在阈值时间段内由处理器内核102服务,则PWDT127可触发重置事件,该重置事件可重置外围设备、处理器内核102、其他电路或它们的任意组合。
[0023] 在一些实施例中,PWDT 127可提供用于检测外围设备锁定或错误的硬件实现,该硬件实现可易于编程,因为PWDT 127可耦合到外围设备中的每一个并且因为PWDT 127的可编程特征可以是计数阈值。在一些实施例中,PWDT 127也允许利用低功耗恢复冻结或锁定的外围设备,因为处理器内核127不需要被定期唤醒以确定外围设备的状态。此外,在一些实施例中,PWDT 127还避免由于任务死亡或某个其它事件而锁定外围设备的软件错误的可能性。
[0024] 在一些实施例中,外围设备可被视为自主的,与处理器内核102具有很少的交互。在图1的示例中,PWDT可被配置成标识卡住的外围设备或标识卡住的事件链并且启动重置操作,使得整个集成电路100锁定。
[0025] 在一些实施例中,PWDT 127可以查看大量外围设备并且可基于当外围设备中的任意一个停止操作时来触发重置事件。在一些实施例中,可以配置PWDT 127来检测事件链中的事件并且确定触发了事件中的每一个。当触发了链中的每个事件时,PWDT 127可被重置并且可以继续监视外围设备。当没有触发链中的事件中的任意一个时,PWDT 127会产生警报,诸如中断。中断可被提供给控制器内核102。如果未在一段时间内服务中断,则PWDT 127可启动外围设备重置操作、处理器重置操作、确定触发故障的原因的操作、另一个操作中的至少一个,或它们的任意组合。
[0026] 在一些实施例中,PWDT 127可以启动可对于锁定的外围设备来说特有的重置或重新启动操作。在一些实施例中,PWDT 127可向控制电路提供信号(警报),该控制电路可被配置成调查不活动以确定原因(或外围设备的状态)并可选地确定合适的响应以重置(或复活)外围设备。在一些实施例中,PWDT 127或与PWDT 127耦合的控制电路可以向不活动的外围设备发送一个或多个信号以确定外围设备是仍活跃还是被卡住。如果PWDT 127或控制电路未接收到响应,则外围设备可能被卡住了,并且PWDT 127或控制电路可启动重置操作以重置外围设备而不唤醒控制器内核102。其他实施例也是可能的。
[0027] 图2A是根据本公开的一些实施例的包括外围看门狗定时器信号204、与自主的外围设备相关联的信号202和重置信号206的时序图200。信号202可以包括由低活动或无活动的周期210跟随的触发事件208。信号202可以进一步包括由低活动或无活动的周期214跟随的触发事件212。信号202可以进一步包括由低活动或无活动的周期218跟随的触发事件216。在所示的例子中,触发事件208、212和216被描绘为短持续时间的脉冲;然而,触发事件可以由其他类型的信号表示。
[0028] PWDT信号204可以包括逻辑高部分220、224、228和232,和逻辑低部分222、226和230。当PWDT信号204处于逻辑高电平时,PWDT 127可增加计数。重置信号206可以处于逻辑低电平234一段时间,并且可保持在逻辑低电平,除非在一段时间内不发生触发事件。在示例中,重置信号206可以是逻辑低直到在PWDT信号204的重置之后,PWDT信号204保持在逻辑高电平达超过阈值的一段时间(而没有响应于触发事件重置)。在该段时间超过阈值之后,重置信号204可以转换为逻辑高电平(如在236处所示)。
[0029] 在一些实施例中,重置信号206从逻辑低到逻辑高的转换可提供警报,以启动操作来将外围设备恢复至操作、唤醒处理器内核102、触发另一个电路或其任意组合。在一些实施例中,当PWDT信号204处于逻辑高电平时,PWDT127可连同定时信号(诸如时钟信号或本地振荡器信号)增加其计数。下面参照图2B描述示出增加的PWDT信号的时序图的示例。
[0030] 图213是根据本公开的一些实施例的与图2A的图200相对应的外围看门狗定时器随时间的计数的示图240。示图240包括与计数器值相对应的可编程的阈值242。从第一时间(T0)到第二时间(T1),PWDT 127可以如246处所指示地增加计数值。在与触发事件208(在图200中)相对应的第二时间(T1)处,PWDT 127可以重置其计数值,从而从248处的峰值转换到零值。
[0031] 从第二时间(T1)到第三时间(T2),PWDT 127可以如250处的斜线所指示地增加计数值。在与触发事件212(图200中)相对应的第三时间(T2)处,PWDT 127可重置其计数值,从而从252处的峰值转换为零值。从第三时间(T2)到第四时间(T3),PWDT 127可以如254处的斜线所指示地增加计数值。在与触发事件216(图200中)相对应的第四时间(T3)处,PWDT 127可重置其计数值,从而从256处的峰值转换为零值。
[0032] 从第四时间(T3)到第五时间(T4),PWDT 127可以如258处的斜线所指示地增加计数值。在这种情况下,计数值增加,直至它在第五时间(T4)处与可编程的阈值242交叉。斜线258与可编程的阈值242的交叉点一般在244处指示。
[0033] 一旦PWDT 127的计数值在244处超过可编程的阈值242,PWDT 127就可向处理器内核102、控制电路、另一个电路或其任意组合发送警报。当PWDT127的计数值与可编程的阈值242交叉时,外围设备中的至少一个未能提供数据给GPIO 101中的一个,这个故障可指示外围设备中的至少一个已锁定。响应于警报,处理器内核102、控制电路、其它电路或其任意组合可启动重新启动或重置操作。在一些实施例中,警报可导致处理器内核102重新启动或重置。
[0034] 虽然图2A和2B的示例描绘了PWDT 127递增计数值,但在其它实施例中,PWDT 127可递减计数值,从起始值向下计数。在一些实施例中,当PWDT 127的计数与阈值交叉(从低于阈值直到计数超过阈值或从高于阈值直到计数降低到低于阈值)时,PWDT 127可产生警报。
[0035] 在上面的例子中,PWDT 127可向处理器内核102、控制电路、其它电路或其任意组合发送警报。在一些实施例中,警报可以是中断。在一些实施例中,警报可以是可导致接收电路发起中断的信号。在一些实施例中,控制器内核102可服务该中断。如果在一段时间内未服务中断,则PWDT 127可启动重新启动或重置操作。否则,对该中断的服务可以重置PWDT 127。
[0036] 在一些实施例中,PWDT 127可以是包括其他定时器(诸如配置成监测控制器内核的操作的看门狗定时器以及其他定时器)的更大电路的一部分。此外,图1中的电路100不是PWDT 127可用于其中的唯一的电路实现形式。其他电路也是可能的。下面参照图3描述可包括PWDT电路的电路的一个可能示例。
[0037] 图3是根据本公开的一些实施例的包括PWDT 320的电路300的框图。电路300可包括耦合到一个或多个处理器内核304、时钟管理电路306和电源管理电路308的通信总线302。在一些实施例中,电源管理电路308可被配置成相对于电路的一部分或电路的所有部件减少设备的时钟速度、关闭时钟、减少供电、关闭电源,或其任意组合。此外,电源管理电路308可被配置成响应于从不活动状态转换到活动状态(诸如当该一个或多个处理器内核
304从低功率或空闲状态转换到正常操作状态时)而开启时钟、增加时钟速率、开启电源、增加供电或其任意组合。
[0038] 通信总线302还可通过串行接口310耦合至一个或多个电路312,通过输入/输出(I/O)端口电路314耦合至一个或多个外围设备316,耦合至一个或多个外围设备317,耦合至模拟电路322,且耦合至控制电路324。在一些实施例中,控制电路324可包括控制逻辑、状态机或配置成启动外围设备316、外围设备317、电路312、处理器内核304、其它电路中的至少一个或其任意组合的重置操作的其它电路。
[0039] 在一些实施例中,电路300还可包括耦合到通信总线302的多个定时器318。该多个定时器318可包括PWDT 320。在一些实施例中,PWDT 320可被配置成监测I/O端口314中的一个或多个(或全部)处、串行接口310处、该一个或多个外围设备317处或其任意组合处的活动。响应于检测活动,可以将PWDT 320重置。如果PWDT 320达到超过阈值的计数值,则PWDT 320可检测已经锁定或失败的外围设备或相关联的进程,并且可将警报传送给处理器内核
304、控制电路324、另一个电路中的至少一个或它们的任意组合。
[0040] 在特定说明性示例中,PWDT 320可以确定外围设备316中的一个已锁定,因为PWDT 320的计数在I/O端口314中的相关联的一个处检测到活动之前超过了阈值。PWDT 320可响应于检测到锁定的外围设备而产生信号。响应于从PWDT 320接收信号,控制电路324可启动操作以通过经由I/O端口314与外围设备316通信来重置锁定的外围设备316。控制电路324可重置或重新启动外围设备316,解锁外围设备316而没有涉及到处理器内核304。在一些实施例中,如果重置失败,则控制电路324可向处理器内核304发送警报以启动处理器级重置。
此外,在一些实施例中,控制电路324可调查外围设备316的不活动(状态),确定原因(或不),并且有选择地启动重置操作以将外围设备恢复到操作状态。在特定示例中,控制电路
324可将信号序列发送到与该外围设备相关联的I/O端口,并可以监测响应以确定该外围设备的状态。如果该外围设备未能响应,则控制电路324可唤醒处理器内核304以重置该外围设备或重新启动处理器内核。
[0041] 在一些实施例中,控制电路324可通过经由I/O端口向外围设备316中的至少一个发送一个或多个信号来启动重置操作。该一个或多个信号可导致外围设备316中的至少一个重新启动或重置。在一些实施例中,PWDT 320可接收时钟信号并且可对时钟脉冲的数量进行计数。在一些实施例中,PWDT 320可在PWDT 320的值超过阈值时产生警报。替代地,PWDT 320可向下计数,并且可在PWDT 320的值达到零或某一其它阈值时产生警报。PWDT 320可监测I/O端口314处或其他电路处的活动,或可监测活动链。如果在PWDT 320的计数达到阈值之前检测到活动或活动链,可以将PWDT 320重置,并且计数(向上或向下)将重新开始而不发送警报。
[0042] 在一些实施例中,电路300可以是图1的电路100的一部分的代表性示例。例如,电路300的总线302可与图1中的SFR总线108对应,并且电路300可包括其他电路系统以将总线302或PWDT 320耦合到其他电路,包括通过GPIO(诸如图1中的GPIO 101)耦合至电路300的外部电路。其它实施例也是可能的。
[0043] 在一些实施例中,PWDT可包括用于接收时钟信号的输入以及响应于时钟信号来递增或递减计数的计数器。PWDT还可包括用于将计数与阈值进行比较的比较器,并且可包括耦合到比较器的输出并且配置成响应于来自比较器的输出信号而选择性地产生中断的信号发生器。下面参照图4描述PWDT的一个可能的示例。
[0044] 图4是根据本公开的一些实施例的外围看门狗定时器(PWDT)电路400的框图。PWDT 400可以是图1中的PWDT 127或图3中的PWDT 320的实现形式。PWDT 400可包括一个或多个第一输入402,以从一个或多个外围设备、从外围操作链中的点、从另一个源或其任意组合接收信号。PWDT 400可进一步包括第二输入404,以接收可由外部时钟源、本地振荡器、射频合成器、另一个本地定时信号源或其任意组合提供的时钟信号。PWDT 400可进一步包括配置成提供输出信号或警报的输出406。在一些实施例中,输出信号可以是可被写入寄存器或提供给另一个电路的重置输入的中断。
[0045] PWDT 400可包括耦合到第二输入404并配置成接收时钟信号的定时器电路408。定时器电路408可包括耦合到比较器414的第一输入的输出。PWDT400可进一步包括配置成存储至少一个阈值412的可编程寄存器410。可编程寄存器410可包括耦合到比较器414的第二输入的输出,比较器414可包括耦合到警报发生器电路416的输入的输出。警报发生器电路416可包括耦合到输出406的输出。PWDT 400还可包括耦合到该一个或多个第一输入402的活动监测器电路418。活动监测器电路418可包括耦合到重置逻辑电路420的输入的输出,重置逻辑电路420可包括耦合到定时器电路408的输出。
[0046] 在一些实施例中,定时器电路408可以响应于时钟信号而递增或递减计数,并且可将计数值提供至比较器414的第一输入。比较器414可从可编程寄存器410接收阈值412,并且可产生对应于比较的结果的输出信号,该输出信号可被提供至警报发生器416。当定时器电路408的计数值超过阈值412时,比较器414产生使得警报发生器416能够在输出406处产生中断的输出信号。
[0047] 活动监测器电路418可以监测该一个或多个输入402处的活动。该一个或多个输入402处信号的任意变化可指示相关联的外围设备仍在运行。在一些实施例中,活动监测器电路418可被配置成监测活动链,包括接收信号、消耗信号以产生数据,以及将数据移动到存储位置(诸如存储器或寄存器)。活动监测器电路418一旦检测到这种活动,就可以向重置逻辑电路420提供指示这种检测的信号,重置逻辑电路420可将重置信号提供至定时器电路
408。响应于重置信号,定时器电路408可重置其计数值。在诸如活动监测器电路418被配置成监测操作链的一些实施例中,活动监测器电路418可以仅在完成了链的操作中的每一个时提供信号。
[0048] 在一些实施例中,活动监测器电路418可被配置成监测该一个或多个输入402中的每一个处的活动。在一些实施例中,如果未在该一个或多个输入402中的任何一个处检测到活动,则活动监测器电路418可不发送信号至重置逻辑电路420。如果在该一个或多个输入402中的一些但不是所有处检测到活动,则活动监测器电路418可以给重置逻辑电路420发送指示这些输入中的哪些可能已未能显示活动的信号。响应于该信号,重置逻辑电路420可重置定时器电路408,并可将数据传送到警报发生器416,警报发生器416可以产生配置成重置特定的外围设备、启动一个或多个电路的重置操作等等的中断或警报。重置逻辑电路420可被配置成确定未能指示活动的外围设备,并可将该信息传送给警报发电器416,警报发生器416可被配置成提供正被监测的失败的外围设备、电路或活动所特有的警报或中断。
[0049] 在一些实施例中,阈值420可定义时间间隔,并且定时器电路408可以计数每个时钟周期。比较器414可以将该计数与阈值420进行比较,并且可在计数超过阈值或在计数降到阈值以下(取决于计数器在递增计数还是在递减计数)时产生不活动事件信号。
[0050] 在一些实施例中,PWDT 400可包括其他组件或可省略组件。在示例中,PWDT 400可包括配置成响应于对不活动的检测而生成多个输出信号的附加电路。在一些实施例中,比较器414的输出可耦合到输出406而没有介于中间的警报发生器416。在这种实施例中,比较器414的输出可以是警报。在其它实施例中,PWDT 400可包括多个活动监测器408,该多个活动监测器408中的每一个可被配置成监测特定的I/O、特定的外围设备、特定的操作链或其任意组合。在这样的实施例中,未能通过活动监测器中的任何一个检测活动可导致PWDT 400产生警报信号。
[0051] 在一些实施例中,PWDT 400可进一步包括耦合到输出406并配置成响应于中断而启动计数操作的中断服务定时器422。PWDT 400可进一步包括比较器426,该比较器426包括耦合到中断服务定时器422的输出的输入,耦合到可编程寄存器410以接收第二阈值424的第二输入,以及耦合到警报发生器416的输出。响应于比较器426的输出处的信号,警报发生器416可产生重置信号以启动重置操作,例如,重置控制器内核102、重置处理器、重置外围设备或其任意组合。如果在中断服务定时器422的计数超过阈值424之前服务中断,则中断服务定时器422可被重置且可被关闭直到下一个中断出现在输出406处。
[0052] 在一些实施例中,中断服务定时器422可与PWDT电路400分离。在一些实施例中,阈值412和阈值424可以相同。在其他实施例中,阈值424可以短于阈值412。在又其他实施例中,阈值424可以比阈值412长。
[0053] 在一些实施例中,取决于特定外围设备或操作,重置逻辑电路420可被配置成响应于不活动的检测而提供不同的信号。例如,很少使用的锁定的外围设备可接收与具有较高优先级的锁定的进程或外围设备不同的程度的关注。这样的优先级可以基于处理器活动和其他活动随时间进行配置。
[0054] 图5为根据本公开的一些实施例的使用外围看门狗定时器监测外围设备的方法500的流程图。在502处,可启动定时器。响应于检测到与外围设备的连接,或响应于另一个信号,可在启动时启动或重置定时器。在一些实施例中,定时器可响应于时钟信号而调节外围看门狗定时器电路的计数。取决于实现形式,该计数可递增或递减。
[0055] 在504处,方法500可进一步包括监测一个或多个外围设备以检测触发器或触发事件。在一些实施例中,定时器可包括PWDT并且该一个或多个外围设备可通过总线、通过I/O或其任意组合耦合至PWDT。在一些实施例中,外围设备可以是配置成独立于处理器内核而操作的自主的外围设备。在一些实施例中,自主的外围设备可包括可编程计数器、传感器和错误检测电路中的至少一个。在一些实施例中,与PWDT相关联或与另一个电路相关联的活动监测器可监测至少一个外围电路以检测活动。监测可以通过监测输入处的活动,通过监测寄存器,或通过监测进程来实现。在一些实施例中,监测一个或多个输入可包括监测至少一个外围电路。在一些实施例中,这种监测可包括监测与该至少一个外围电路相关联的操作链。操作链可包括接收触发信号、消耗触发信号以产生数据,以及将数据移动到存储器。PWDT可在操作链完成之前计数与阈值交叉时生成警报信号。
[0056] 在506处,方法500可进一步包括确定触发器是否被检测到。触发器可以是输入中的一个或多个处的信号或电压电平、存储器(诸如寄存器)中的数据值或另一个信号。如果检测到触发器,则方法500可包括重置定时器。定时器可以是配置成在从外围设备接收信号之前对时钟周期或时间周期的数量进行计数的PWDT。可响应于在输入中的一个或多个处检测到信号而重置PWDT的计数值。方法500可随后返回到504,以监测一个或多个输入来检测触发器。
[0057] 返回至506,如果没有检测到触发器,则方法500可包括在508处确定定时器的时间(或计数)是否超过阈值。如果时间小于阈值,则方法500可返回至504,以监测一个或多个输入以检测触发器。否则,如果在508处时间超过阈值,则方法500可包括在512处向控制电路发送指示外围设备已停止运行的警报。因此,在512处,方法500可包括在检测到活动之前计数与阈值交叉时产生警报信号。在一些实施例中,控制电路可以是处理器内核、微控制器单元(MCU)、状态机、另一电路、或其任意组合。警报可包括时间戳和与故障相关联的I/O端口的指示。在一些实施例中,控制电路可与该I/O端口交互,以重置或重新启动相关联的外围设备。
[0058] 在一些实施例中,PWDT电路可被配置成监测与至少一个外围设备相关联的事件链并且在事件链完成之前计数超过阈值计数时产生警报信号。在一些实施例中,控制电路可耦合到外围看门狗定时器电路,并且可被配置成响应于警报信号而重置处理器和外围设备中的至少一个。在一些实施例中,控制电路可被配置成调查该多个外围设备中的至少一个以确定状态,并且可选地确定合适的响应来重置该多个外围设备中的至少一个。
[0059] 响应于警报,方法500可包括在514处启动中断定时器。在这种情况下,警报可以是中断或可导致另一个电路产生中断给CPU、另一个处理器、控制器内核、另一个电路,或其任意组合。中断定时器可以是PWDT电路的一部分或可以是单独的定时器电路。如果在516处服务该中断,则方法500返回到502,并且开启定时器。否则,如果在516处未服务该中断,则方法500在518处确定中断定时器的计数是否超过第二阈值。如果没有超过,则方法500返回到516,以确定该中断是否已被服务。在一些情况下,如果中断未在一段时间内被服务,则控制器内核、CPU、另一个处理器、另一个电路或其任意组合可能存在问题。响应于中断,在518处,如果计数超过第二阈值,则方法500包括在520处启动重置操作。该重置操作可重新启动控制器内核102、CPU、处理器、另一个电路或其任意组合。
[0060] 结合上面参照图1-5描述的装置、电路、系统和方法,公开了外围看门狗定时器电路,该外围看门狗定时器电路可被配置成监测一个或多个I/O或操作以检测活动,并且当在一段时间内没有检测到活动时,产生警报。在一些实施例中,该警报可以是中断。如果该中断未在一段时间内被服务,则外围看门狗定时器电路可启动重置操作。否则,如果该中断在一段时间内被服务,则外围看门狗定时器电路可被重置。在一些实施例中,该重置操作可以是锁定的特定外围设备所特有的。在一些实施例中,该重置操作可导致处理器内核重置或重新启动。在一些实施例中,该重置操作可使电路调查不活动,诸如通过启动涉及外围设备的唤醒序列。
[0061] 尽管已参照优选实施例描述了本发明,但本领域技术人员将认识到,可以在形式和细节上作出改变而不背离本发明的范围。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用