什么是看门狗定时器

看门狗定时器(WDT,Watch Dog TImer)是单片机的一个组成部分,它实际上是一个计数器,一般给看门狗一个数字,程序开始运行后看门狗开始倒计数。如果程序运行正常,过一段时间CPU应发出指令让看门狗复位,重新开始倒计数。如果看门狗减到0就认为程序没有正常工作,强制整个系统复位。

看门狗分硬件看门狗和 软件看门狗。硬件看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零,因此程序正常工作时, 定时器总不能溢出,也就不能产生复位信号。如果程序出现故障,不在定时周期内复位看门狗,就使得看门狗定时器溢出产生复位信号并重启系统。软件看门狗原理 上一样,只是将硬件电路上的定时器用处理器的内部定时器代替,这样可以简化硬件电路设计,但在可靠性方面不如硬件定时器,比如系统内部定时器自身发生故障 就无法检测到。当然也有通过双定时器相互监视,这不仅加大系统开销,也不能解决全部问题,比如中断系统故障导致定时器中断失效。

看门狗本身不是用来解决系统出现的问题,在调试过程中发现的故障应该要查改设计本身的错误。加入看门狗目的是对一些程序潜在错误和恶劣环 境干扰等因素导致系统死机而在无人干预情况下自动恢复系统正常工作状态。看门狗也不能完全避免故障造成的损失,毕竟从发现故障到系统复位恢复正常这段时间 内怠工。同时一些系统也需要复位前保护现场数据,重启后恢复现场数据,这可能也需要一笔软硬件的开销。

什么是看门狗喂狗

在看门狗( watchdog TImer)中,是一个定时器电路, 一般有一个输入,叫喂狗(kicking the dog or service the dog),一个输出到MCU的RST端,MCU正常工作的时候,每隔一段时间输出一个信号到喂狗端,给WDT清零,如果超过规定的时间不喂狗,(一般在程序跑飞时),WDT 定时超过,就会给出一个复位信号到MCU,使MCU复位。 防止MCU死机。

看门狗喂狗时间

看门狗喂狗的最长时间一般在初始化过程中就已经定义,有个7位递减计数器(WWDG-》CR),就这个计数器和窗口计数器(WWDG-》CFR)决定什么时候喂狗。狗喂早了,复位——“早”体现在 计数器值(tr)》窗口值(wr),也就是计数器值还没有减到窗口值以下;当 0x40 《 计数器值(tr) 《 窗口值(wr) 时,这时候最适合喂狗了,也只有在这时候喂狗才合适;当 计数器的值 从0x40变到0x3F的时候,将产生看门狗复位;当然在要产生复位的前一段时间,如果开启了提前唤醒中断,那么就会进入中断,在中断函数里,我们需要及时喂狗,否则会产生复位。

看门狗通常是放在程序的主循环中,而喂狗的时间可以是一个主循环最长时间的1.5倍作为看门狗的喂狗时间,这样如果超过时间没有回到主循环,程序就自动复位。

看门狗喂狗程序

linux 喂狗时间,看门狗喂狗时间及程序相关推荐

  1. linux shell 看门狗,Linux 下如何使用看门狗

    Linux内核有集成WD的选项.将其使能后,系统里就会有watchdog的设备驱动:/dev/watchdog. 这样,在应用程序里只需打开这个设备使用即可: #include void main(v ...

  2. linux内核看门狗关闭方法,linux内核中断之看门狗

    一:内核中断 linux内核中的看门狗中断跟之前的裸板的中断差不多,在编写驱动之前,需要线把内核自带的watch dog模块裁剪掉,要不然会出现错误:在Device Drivers /Watchdog ...

  3. LINUX下实现软件看门狗的思路

    LINUX下软件模拟实现看门狗定时器如果两次调用WDG的时间超过参数S秒,返回0,否则为1.#include<netinet/in.h> // for sockaddr_in #inclu ...

  4. linux进程看门狗使用方式,Linux系统中基于看门狗的精细化进程监控方法及系统的制作方法...

    Linux系统中基于看门狗的精细化进程监控方法及系统的制作方法 [技术领域] [0001] 本发明涉及Linux系统的进程监控技术领域,特别是涉及一种Linux系统中基于看 门狗的精细化进程监控方法及 ...

  5. 【STM32】HAL库 STM32CubeMX教程五----看门狗(独立看门狗,窗口看门狗)

    前言:   今天我们来学习看门狗的配置与函数,看门狗可以有效解决程序的跑飞,在使用过程中比较常见,是防止芯片故障的有效外设,我们一起来学习下HAL库 STM32CubeMX的独立看门狗,窗口看门狗的使 ...

  6. STM32的两只狗儿——狗立看门狗

    为什么80%的码农都做不了架构师?>>>    STM32狗立看门狗,由专门的低速时钟(LSI)驱动,即便是主时钟发生故障它仍能够有效,所以此狗狗可以工作在与主时钟无关的要求下,或者 ...

  7. 什么是看门狗(watchdog)?看门狗有什么作用?

    什么是看门狗(watchdog) 看门狗,又叫 watchdog timer,是一个定时器电路, 一般有一个输入,叫喂狗,一个输出到MCU的RST端,MCU正常工作的时候,每隔一端时间输出一个信号到喂 ...

  8. java实现看门狗_Watchdog看门狗分析

    看门狗最初的意义是因为早期嵌入式设备上的程序经常跑飞(比如说电磁干扰等),所以专门设置了一个硬件看门狗,每隔一段时间,看门狗就去检查某个参数是不是被设置了,如果发现该参数被设置了,则判断为系统出错,然 ...

  9. 【嵌入式系统】独立看门狗原理+看门狗实验分析

    [嵌入式系统]独立看门狗原理+看门狗实验分析 1.看门狗模块概述 在由单片机构成的微机系统中,由于单片机工作常常会受到来自外界电磁场干扰导致程序跑飞,陷入死循环--即程序正常运行被打断,系统无法继续工 ...

最新文章

  1. 2021年春季学期-信号与系统-第十五次作业参考答案-第七小题参考答案
  2. 白宫:太空将成美国新反导防御报告重点关注领域
  3. 安装Ruby、Sass在WebStrom添加Watcher实现编辑scss文件时自动生成.map和压缩后的.css文件...
  4. 求数组中元素为另外两个元素和的最大元素
  5. Linux 命令find、grep
  6. memcached的缺点
  7. 终端实体店消费者喜爱的营销方式
  8. 数据结构 (二) ----- 单向链表双向链表
  9. Maven环境搭建和介绍
  10. Mysql常用的存储引擎
  11. 2017-5-29学习记录——WebApi(1)
  12. android上查看浏览器内核版本号,各种浏览器的userAgent及如何使用JS来检测游览器类型,或android是什么版本号...
  13. 2020 4月 月末总结(飞速流逝的一个月)
  14. 效果图网站、外包平台接单平台有哪些?
  15. 改变IDEA模板光标停留的位置
  16. 正规军入场!HashKey Capital区块链基金正式推出
  17. thingsboard | thingsboard edge 删除设备 云端同步删除 thingsboard edge删除设备后 云端不删除设备
  18. PyCharm恢复初始设置
  19. DNS(从域名到IP地址的对应)
  20. B1030 (完美数列)

热门文章

  1. ESIM(Enhanced Sequential Inference Model)- 模型详解
  2. 使用face++的API接口-人脸识别
  3. web漏洞之文件上传漏洞
  4. 由IDC余热回收创新技术实践引出的跨界合作探讨
  5. 一个仿知乎的问答论坛
  6. 全志V3S零基础教程
  7. 小程序连接低功耗蓝牙
  8. VC中_T()的作用
  9. 计算机毕业设计 移动设备的眼球追踪技术及其应用(源码+论文)
  10. CentOS 安装与配置