关于MCU看门狗最通俗的介绍

发布者:太白山人最新更新时间:2016-03-10 来源: eefocus关键字:MCU  看门狗 手机看文章 扫描二维码
随时随地手机看文章
看门狗WatchDog 是一个很重要的资源,他能够有效的防止系统进入死循环或者程序跑飞。

640.jpg

工作原理:在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。

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

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

看门狗电路是用来看着你的CPU的,作用是不让你的程序丢失。

看门狗实际上是一个计数器,一般给看门狗一个大数,程序开始运行后看门狗开始倒计数。如果程序运行正常,过一段时间CPU应发出指令让看门狗复位,重新开始倒计数。如果看门狗减到0就认为程序没有正常工作,强制整个系统复位。

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

看门狗定时器对微控制器提供了独立的保护系统.当系统出现故障时,在可选的超时周期之后,看门狗将以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。延时完成,继续其它程序

看门狗在启动的时候一般都会设置超时时间,超时时间按照一定的频率递减,减到零就复位,所以得定时将一个计时器更新到最大,防止减小到零。超时时间初始化时一般都是固定好的。

关键字:MCU  看门狗 引用地址:关于MCU看门狗最通俗的介绍

上一篇:处理单片机的未使用引脚
下一篇:单片机定时器常见两大应用问题解析

推荐阅读最新更新时间:2024-03-16 14:46

51单片机实验2:led灯闪烁
开发板led模块电路图如下: 在keil中,sbit的声明要放在全局变量的位置,若放在函数中,会报错。 延时函数的变量使用unsigned char,而不是int,因为char所占空间为1字节,为int所占空间为4字节,因此使用char可以节约内存。但是unsigned char仅能表示0~255,所以延时函数中的参数最大为255,若要更大,则使用int。 #include reg52.h #include intrins.h #define uc unsigned char sbit led1=P2^0; void delay(uc n) { uc i,j; for(i=1;i =n;i++) fo
[单片机]
51<font color='red'>单片机</font>实验2:led灯闪烁
基于ADμC842的多波长计信号采集系统
1引言 激光波长/频率测量仪器即波长计(wave-meter),可用来测量调谐激光器的输出波长值,或者用于测量未知激光的波长值,在光频标研究领域有着重要的作用。激光波长计基于迈克尔逊干涉原理:两束激光相互叠加,产生干涉条纹,比对已知波长的参考激光和未知波长的被测激光的干涉条纹数目,可以获得被测激光的波长/频率值。 2基于迈克尔逊干涉仪的波长计原理 迈克尔逊波长计适合测量连续激光波长,其光学系统采用迈克尔逊干涉原理,如图1所示。 参考光源输出光束1,经多次反射,分为两束同频率的光,最后汇聚于B点发生干涉,由光探测器D1接收,作为参考信号。 待测光由光栏射入,与射出的参考光调整至重合;两个反射器R1和R2安装在同一可动的平
[单片机]
基于ADμC842的多波长计信号采集系统
STM8S单片机通过蓝牙与智能手机实现串口通讯的设计
串口通讯具有悠久历史的,最基本、最简单的通讯方式,即使在当前这个注重移动和无线互联的时代,也少不了串口通讯的身影。比如对小数据量数据的无线传输,虽然物理链路用蓝牙或WIFI传输,但最后到单片机数据交互上,可能还是用了串口通讯。 STM8S系列单片机有1~3个通用异步收发器(UART)支来持串口通讯,在这个部分里,将以STM8S单片机通过蓝牙与智能手机通讯,实现一个echo功能(单片机将收到来自于手机的数据原样返回给手机),来讲解如何使用单片机的串口功能。 1、电路设计 电路采用一款蓝牙转串口的模块实现蓝牙通讯,这款蓝牙模块有四个引脚,VCC、GND、TXD、RXD,只要将模块的VCC、GND引脚与电源连接,TXD、RXD引
[单片机]
STM8S<font color='red'>单片机</font>通过蓝牙与智能手机实现串口通讯的设计
51单片机封装库HML_FwLib_STC89/STC11
HML_FwLib_STC89/11 项目地址 https://github.com/MCU-ZHISHAN-IoT/HML_FwLib_STC89 https://github.com/MCU-ZHISHAN-IoT/HML_FwLib_STC11 这些项目主要是封装了8051和STC89, STC11的寄存器配置信息, 提供接口方法给上层调用. 因为传统的代码都是直接用八进制值给寄存器赋值进行操作, 不便于记忆, 用这个封装库就可以使用类似于STM的高级语言方式进行开发, 解决了开发过程极度依赖手册的问题. 如果使用STC12C5A60S2系列, 可以用STC11封装库. 目录结构 HML_FwLib_STC89 ├─
[单片机]
单片机的低功耗设计技术及注意问题
1 单片机的低功耗设计技术 1.1 高集成度的完全单片化设计 将很多外围硬件集成到了CPU芯片中,增大硬件冗余。内部以低功耗、低电压的原则设计,这给单片机的低功耗设计提供了很强的支持。 1.2 内部电路可选择性工作 通过特殊功能寄存器选择使用不同的功能电路,即依靠软件选择其中不同的硬件;对于不使用的功能使其停止工作,以减少无效功耗。 1.3 宽电源电压范围 先进的单片机芯片工艺特别决定了单片机在很宽的电源电压范围内部能正常工作。例如,NEC公司的 78K0和78K0S系列的单片机,可以在 1.8V~5.5V电源电压范围内正常工作。单片机供电电压范围的放宽,可以进一步拓宽单片机的应用领域,尤其是便携式或掌上型仪器或装置,
[单片机]
单片机下程序RAM, ROM ,Flash
8K的flash是有8*1024个字节,一条指令可能有1~4个机器码,即1~4个字节,其中1~2机器码的指令使用最为频繁,所以这样算,大约可以写4000~8000条指令。一般的应用是写不到这么多的指令的。但是用于存储其他数据,例如汉字,数字点阵代码可能会超出预算。对于真的不够用的情况,建议楼主直接买块大容量的片。扩充flash不是很可取,增加了系统的不稳定因素,又提升了板的面积,布线难度。假如真的要扩容,可以有很多办法。扩展EEPROM(现常用256K~1M),或扩展基于SPI总线的flash memory(主流32M~128M),此两个总线驱动程序简单,方便扩展。 单片机FLASH主要用作程序存贮器,就是替代以前的ROM,最大
[单片机]
强化安全电子化服务 ST推出身份证微控制器
为帮助政府部门在持续演进的电子攻防战中保持优势,意法半导体(ST)推出一款身份证微控制器ST23YR80,新产品支持最新的加密技术,芯片中整合大容量的内存,用于保存生物测定数据。 ST23YR80提供接触式和非接触式两种接口,兼容于最先进的安全智慧卡标准,符合国际民航组织(ICAO)的机读旅行证件(MRTD)的要求,支持安全加密电子证明文件,如电子身份证和电子签名。这款产品计划在2009年第一季前获得通用标准EAL5+3.1版认证。 ST23YR80包括一个加密协同处理器,支持增强型RSA和椭圆曲线加密(ECC)算法。支持EAC(扩展型存取控制)电子护照作业,包括38KB的数据,用时不超过3.5秒。
[单片机]
stm32单片机待机模式的设计
一 待机模式简介 在stm32的低功耗模式中,待机模式可以实现系统的最低功耗,在这种模式下,只需要2uA左右的电流。 三 待机唤醒程序分析 实验现象: 将程序下载到开发板上后,LED灯会不断地亮灭,当按下KEY2键超过3s时,LED灯灭,标志着单片机进入待机模式,再按下KEY1键,这时唤醒单片机,LED又开始不断地亮灭亮灭。 程序中用到的一些宏定义 #definemacEXTI_GPIO_CLK(RCC_APB2Periph_GPIOC|RCC_APB2Periph_AFIO) #definemacEXTI_GPIO_PORTGPIOC #definemacEXTI_GPIO_PINGPIO_Pin_13 #definem
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved