在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称"看门狗"(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. 好程序员web前端技术分享媒体查询
  2. 并发编程-19AQS同步组件之重入锁ReentrantLock、 读写锁ReentrantReadWriteLock、Condition
  3. cannot和can not的区别 666666
  4. IOS-RunTime(刨根问底)
  5. 假如我来发明编程语言
  6. java this()函数_Java经典面试题之(如何正确的使用this?)
  7. php写的仿爱帮网电话号码字符串处理(防采集)。
  8. 关于学习session的一二
  9. Revit二次开发: 文件损坏
  10. 微信小程序实现输入车牌号码的功能(附效果图)
  11. php网站渗透实战_PHP网站安全-漏洞渗透及解决方式—概述
  12. 宝塔利用同一个ip的不同端口号架设多个网站
  13. ftp服务器文件不让上传,ftp服务器不让上传文件
  14. 逆腹式呼吸-用气发力气先行
  15. QQ空间人气精灵王 QQ空间人气提升
  16. 计算机图形学【GAMES-101】3、着色计算(深度缓存、着色模型、着色频率)
  17. 运维工程师 主要是做什么的?
  18. Centos7 连接wifi (PEAP)
  19. 2017年Q1中国无线路由器市场研究报告
  20. stata学习笔记(六):数据合并

热门文章

  1. DH密钥交换算法的python实现——Diffie–Hellman key exchange
  2. js实现倒计时特效(背景颜色随时间改变)
  3. ⭐⭐2021诺贝尔生理学或医学奖揭晓⭐⭐
  4. yolo v2 之车牌检测
  5. 服务机器人时代,真的到来了吗?
  6. arc060 E - Tak and Hotels
  7. cmd命令行--切换盘符
  8. C语言输出字符,字符串的ASCII码的16进制数
  9. Safe Computations
  10. plink源码_Plink v0.1.0 发布——基于Flink的流处理平台