您的位置 首页 产品

关于MCU看门狗最浅显的介绍

看门狗WatchDog是一个很重要的资源,他能够有效的防止系统进入死循环或者程序跑飞。工作原理:在系统运行以后也就启动了看门狗的计数器,

看门狗WatchDog 是一个很重要的资源,他能够有用的避免体系进入死循环或许程序跑飞。

作业原理:在体系运转今后也就发动了看门狗的计数器,看门狗就开端主动计数,假设到了必定的时刻还不去清看门狗,那么看门狗计数器就会溢出然后引起看门狗中止,形成体系复位。

看门狗是相似与硬件维护卡之类.维护硬盘数据的.

单片机一个复位芯片,在单片机遇到异常情况之下主动复位!~~

看门狗电路是用来看着你的CPU的,效果是不让你的程序丢掉。

看门狗实际上是一个计数器,一般给看门狗一个大数,程序开端运转后看门狗开端倒计数。假设程序运转正常,过一段时刻CPU应宣布指令让看门狗复位,从头开端倒计数。假设看门狗减到0就以为程序没有正常作业,强制整个体系复位。

一般是为了程序进入死循环或死机!有的单片机不需外加看门狗电路(P%&&&&&%)。

看门狗守时器对微控制器供给了独立的维护体系.当体系呈现毛病时,在可选的超时周期之后,看门狗将以RESET信号作出呼应.像x25045就可选超时周期为1.4秒,600毫秒,200毫秒三种.当你的程序死机时,x25045就会使单片机复位.

硬件看门狗WatchDog

是一个自我维护装置.他时刻监督体系的运转.一旦体系运转不正常.看门狗会复位体系.实际上看门狗是一个计时器.你要让这个计时器置零前给她一个信号.让他从头计时.这样起到一个监督体系运转的效果.

一般许多MCU带有这个电路。可是你能够不运用它。这样在上电的时分制止他。假设你要运用watchdog,那么你的体系就必须每隔一段时刻给这个电路一个信号。

假设你说的是软件看门狗,那么它的意思是:你能够创立一个看门狗,创立后开端计时,假设中心不被撤销什么的,一段时刻之后–这个时刻一般都能够有你自己指定–它就会触发,并且你能够指定看门狗触发时履行一个你自己供给的看门狗函数。

那么它的运用就能够是这样的:为了承认程序会不会走到某个当地,你能够先创立一个看门狗,然后在要承认的当地调用一个撤销看门狗计时的函数,假设程序的确走到了那个当地,看门狗被撤销,那么看门狗函数就不会被履行;假设看门狗函数被履行了,阐明程序没有走到该处,标明呈现了什么过错。这便是看门狗的运用。

motorola

mpc860这个芯片有个软件看门狗,当守时届时,芯片会复位。我看到他人的代码如下:

void

test(void)

{

发动看门狗

while(true)

{

}

}

照程序看来,假设看门狗不能中止的话,那必定得重启了,但在这个程序中,它又怎么的中止呢?看门狗用来在必守时刻之后重启CPU,正常情况下不要它重启CPU,所以守时要“喂狗”,其实便是告诉看门狗从头开端计时。这样一来,假设一切正常,看门狗每次在重启之前被触发从头计时,所以就永久不会重启。假设程序因为搅扰等原因“跑飞”,不知道履行到什么当地去了,看门狗就没人喂了,时刻一长,它就主动重启,程序康复正常。

看门狗这东西是加强可靠性用的。

看门狗是不随主芯片时钟的中止而中止的,它是一个独立的计时单元,假设你在程序中运用并设置了看门狗寄存器,在体系加电后它就会发动,若在指定周期内没有重置看门狗寄存器(也便是我们常说的喂狗),体系将会从头发动。

这种规划为体系供给了极高的可靠性,即便体系死锁,也能够及时的主动康复体系。

现在地绝大多数mcu都有这个

看门狗的首要操作一般有三种:发动,触发和停用.发动是指设置初始参数并调用中止以使看门狗开端作业;触发是指在看门狗的记数器的数值减为零曾经对其康复初始值;停用是指调用中止中止运用看门狗.在程序中应挑选恰当的当地对其进行触发挑选时有许多考究,程序比较大时会比较难确认,但运用它的确有许多长处不能说不容易用所以就不必

简直一切的嵌入式操作体系都有看门狗使命,它的首要功用是避免体系死掉或许堕入死循环。也便是每个必定的时刻就会履行看门狗使命,以reset体系.

喂狗的方法举个比如:在os使命调度的时分趁便触发一下看门狗,这样一旦使命长时刻中止调度体系就会复位,这个功用完结起来很简单,并不需要应用程序多操什么心。

照一般的看门狗守时的运用方法一般为:

1。设置看门狗控制器;//初始化狗的唤醒时刻,使能看门狗

2。睡觉;

//等候,或作其它的事

3。唤醒后检测中止位是否是由狗中止导致的唤醒

4。延时完结,持续其它程序

看门狗在发动的时分一般都会设置超时时刻,超时时刻依照必定的频率递减,减到零就复位,所以得守时将一个计时器更新到最大,避免减小到零。超时时刻初始化时一般都是固定好的。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/chanpin/262175.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部