在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称"看门狗"(watchdog)
基本原理:
看门狗,又叫 watchdog timer,是一个定时器电路,一般有一个输入,叫喂狗(kicking the dog or service the dog),一个输出到MCU的RST端,MCU正常工作的时候,每隔一段时间输出一个信号到喂狗端,给 WDT 清零,如果超过规定的时间不喂狗,(一般在程序跑飞时),WDT 定时超过,就会给出一个复位信号到MCU,使MCU复位. 防止MCU死机. 看门狗的作用就是防止程序发生死循环,或者说程序跑飞。
工作原理:在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。所以在使用有看门狗的芯片时要注意清看门狗。
应用方式:
1硬件看门狗:是利用了一个定时器,来监控主程序的运行,也就是说在主程序的运行过程中,我们要在定时时间到之前对定时器进行复位。
2、软件看门狗:软件看门狗技术的原理和这差不多,只不过是用软件的方法实现,以51系列为例,我们知道在51单片机中有两个定时器,我们就可以用这两个定时器来对主程序的运行进行监控。我们可以对T0设定一定的定时时间,当产生定时中断的时候对一个变量进行赋值,而这个变量在主程序运行的开始已经有了一个初值,在这里我们要设定的定时值要小于主程序的运行时间,这样在主程序的尾部对变量的值进行判断,如果值发生了预期的变化,就说明T0中断正常,如果没有发生变化则使程序复位。对于T1我们用来监控主程序的运行,我们给T1设定一定的定时时间,在主程序中对其进行复位,如果不能在一定的时间里对其进行复位,T1 的定时中断就会使单片机复位。在这里T1的定时时间要设的大于主程序的运行时间,给主程序留有一定的的余量。而T1的中断正常与否我们再由T0定时中断子程序来监视。这样就够成了一个循环,T0监视T1,T1监视主 程序,主程序又来监视T0,从而保证系统的稳定运行。

转载于:https://my.oschina.net/u/3955129/blog/2049791

看门狗的使用方法和作用相关推荐

  1. C8051F410看门狗的使用方法

    8051F410看门狗的使用方法 一. 看门狗概念 看门狗产生复位的条件: 通过 PCA 的模块 5 可以实现可编程看门狗定时器( WDT)功能.如果两次对 WDT 更新寄存器( PCA0CPH5)的 ...

  2. 在多任务(RTOS)环境中使用看门狗

    最近在SEGGER的博客上看到一篇有关在实时操作系统使用看门狗的文章.从一个失败的太空项目出发,分析了看门狗的作用及使用,自我感觉很有启发,特此翻译此文并推荐给各位同仁.为了阅读方便,有些航天领域名词 ...

  3. CC2640 看门狗配置

    原文https://blog.csdn.net/zzfenglin/article/details/52253536 测试环境 协议栈版本:BLE-STACK V2.1 IAR开发环境版本:IAR f ...

  4. CC2640之看门狗

    测试环境 协议栈版本:BLE-STACK V2.1 IAR开发环境版本:IAR for Arm 7.40 硬件设备:Amo-SmartRF v2.0 开发板(对应TI官方的SmartRF06EB 开发 ...

  5. 青风和大家一起学Stellaris系列ARM——五.看门狗的使用

    在实际的MCU应用系统中,由于常常会受到来自外界的某些干扰,有可能(对规范的设计概率极小)造成程序的跑飞而陷入死循环,从而导致整个系统的陷入停滞状态并且不会自动恢复到可控的工作状态.所以出于对MCU运 ...

  6. STM32F103看门狗功能实现

      STM32F10xxx内置两个看门狗,提供了更高的安全性.时间的精确性和使用的灵活性.两个看 门狗设备( 独立看门狗 和 窗口看门狗 )可用来检测和解决由软件错误引起的故障:当计数器达到给 定的超 ...

  7. FreeRTOS实验_独立看门狗监视多线程

    1.首先随意创建几个线程,如下图: 2.然后就要思考了,怎么样实现如果其中一个线程死掉了,就不喂狗得以让系统重启? 其实,我们可以反过来想一下,什么情况下才喂狗得以让系统正常运行?答案是,所有线程都活 ...

  8. MSP430F5529 DriverLib 库函数学习笔记(十四)看门狗定时器 (WDT)

    目录 硬知识 看门狗定时计数器 (WDTCNT) 看门狗模式 定时计数模式 看门狗定时器中断 时钟故障保护功能 低功耗模式下的看门狗操作 看门狗定时器控制寄存器 WDT_A API (机翻) 参数 上 ...

  9. 分布式锁 - Redisson的看门狗(watchdog)机制

    分布式锁 - Redisson的看门狗(watchdog)机制 前言 本篇文章从Redisson的加锁(tryLock)入手,带大家由源码来了解一下watchdog的自动延迟加锁操作,如果对Redis ...

最新文章

  1. Silverlight+WCF 实战-网络象棋最终篇之解决重复的消息提示(八)
  2. CF183D T-shirt
  3. 美国25大最具价值博客网站出炉
  4. python生成字母图片_Python 模拟动态产生字母验证码图片功能
  5. Bitcoin 中的挖矿算法(1) 难度值前奏
  6. 【深度学习】preprint版本 | 何凯明大神新作MAE | CVPR2022最佳论文候选
  7. MySQL聚簇索引:叶子保存主键或unique字段+data 非聚簇保存索引字段
  8. Ajax入门(创建 XMLHttpRequest 对象)
  9. CentOS6实现路由器功能
  10. .Net Core WebApi(三)在Linux服务器上部署
  11. Spark Streaming 遇到 kafka
  12. 0-5v转0-20ma和0-5v转4-20ma
  13. 蚂蚁金服异地多活的微服务体系
  14. php 可变变量 $$name
  15. Windows核心编程_在Visual Studio窗口输出调试信息
  16. 3.10 Spark RDD编程案例
  17. 聊一聊分布式对象存储解决方案
  18. 没做过项目经理可以考pmp证书吗?普通人考PMP®有用吗?
  19. 2019年南京大学计算机研究生复试分数线,2019南京大学研究生分数线汇总(含2016-2019历年复试)...
  20. 路由器、交换机、网桥、集线器的区别和联系

热门文章

  1. STM32之VCP1/VCAP2引脚的处理
  2. 计网考点 使用广播信道的数据链路层
  3. 硬件先生---第 2 部分:电子线路(柴米油盐)-2.9-Crystal
  4. python中源程序执行的方式是什么_python源程序执行的方式有什么
  5. mpi tcp连接报错_MPI通讯协议5 - 常见的工业通讯协议有哪些
  6. 2.4 二进制除法运算(加减交替法)
  7. VC++ CallStack调用堆栈应用(调试篇)
  8. matlab中wenergy函数,MATLAB 7.0图形图像处理
  9. tp-link路由器Portal功能典型配置案例
  10. import tensorflow 时报 The decorated function‘s signature must exactly 解决方法