13看门狗

发布时间:2024-07-30  

在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称“看门狗”(watchdog)。


看门狗电路的应用,使单片机可以在无人状态下实现连续工作,其工作原理是:看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。

在以前传统的8051往往没有内置看门狗,都是需要外置看门狗的,例如常用的看门狗芯片有Max813、5045、IMP706、DS1232。例如芯片DS1232在系统工作时如图13.1-2,必须不间断的给引脚ST(----)输入一个脉冲系列,这个脉冲的时间间隔由引脚TD设定,如果脉冲间隔大于引脚TD的设定值,芯片将输出一个复位脉冲使单片机复位。一般将这个功能称为看门狗,将输入给看门狗的一系列脉冲称为“喂狗”。这个功能可以防止单片机系统死机。


图13.1-2 DS1232看门狗电路

虽然看门狗的好处是很多,但是其成本制约着是否使用外置看门狗抉择。不过幸运的是,现在很多单片机都内置看门狗,例如AVR、PIC、ARM,当然现在的M051系列单片机也不例外,其已经内置了看门狗,而且基本上满足了项目的需要。


看门狗定时器用于在软件运行至未知状态时执行系统复位功能,可以防止系统无限制地挂机,除此之外,看门狗定时器还可将CPU由掉电模式唤醒。看门狗定时器包含一个18位的自由运行的计数器,可编程其定时溢出间隔。 


设置WTE(WDTCR[7])使能看门狗定时器,WDT计数器开始向上计数. 当计数器达到选择的定时溢出间隔,如果看门狗定时器中断使能位WTIE置位,看门狗定时器中断标志WTIF被立即置位,并请求WDT中断,同时,跟随在时间溢出事件之后有一个指定延时(1024 * TWDT),用户必须在该延时时间结束前设置WTR(WDTCR[0]) (看门狗定时器复位)为高,重置18位WDT计数器,防止CPU复位。WTR在WDT计数重置后自动由硬件清零。通过设置WTIS(WDTCR[10:8])可选择8个带有指定延时的定时溢出间隔. 如果在特定延迟时间终止后,WDT计数没有被清零,看门狗定时将置位看门狗定时器复位标志(WTRF)并使CPU复位. 这个复位将持续63个WDT时钟,然后CPU重启,并从复位向量(0x0000 0000)开始执行程序. 看门狗复位后WTRF位不会被清除。用户可用软件查询WTFR来识别复位源。WDT还提供唤醒功能。当芯片掉电,且看门狗唤醒使能位 (WDTR[4])置位时,如果WDT计数器达到由WTIS (WDTCR [10:8])定义的时间间隔时,芯片就会由掉电状态唤醒。第一个例子,如果WTIS被设置为000,CPU从掉电状态被唤醒的时间间隔是24* TWDT。当掉电命令被软件设置,CPU进入掉电状态,在24* TWDT时间过后,CPU由掉电状态唤醒。第二个例子,如果WTIS被设置为111,CPU从掉电状态被唤醒的时间间隔是218* TWDT。当掉电命令被软件设置,CPU进入掉电状态,在218* TWDT时间过后,CPU由掉电状态唤醒。注意,如果WTRE (WDTCR [1])被置位,再CPU被唤醒之后,软件应当尽可能的通过置位WTR(WDTCR [0])来清零看门狗定时器计数器,否则,如果在从CPU唤醒到软件清零看门狗定时器计数器的时间超过1024 * TWDT之前看门狗定时器计数器没有通过置位WTR(WDTCR [0])被清零,CPU将通过看门狗定时器复位。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>