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

看门狗定时器的操作过程

使用时,WDT将递增,直到溢出,或称“超时”。除非处于休眠或空闲模式,WDT 超时会强制器件复位。为避免WDT超时复位,用户必须定期用PWRSAV 或CLRWDT 指令将看门狗定时器清零。如果WDT 在休眠或空闲模式下超时,器件将唤醒并从PWRSAV 指令执行处继续执行代码。在上述两种情况下,WDTO 位(RCON《4》)都会置1,表示该器件复位或唤醒事件是由于WDT超时引起的。如果WDT 将CPU从休眠或空闲模式唤醒,“休眠”状态位(RCON《3》)或“空闲”状态位(RCON《2》)也会置1,表示器件之前处于省电模式。

在正常操作期间,一次WDT超时溢出将产生一次器件复位。当器件处于休眠状态时,一次WDT超时溢出将唤醒器件,使其继续正常操作(即称作WDT 唤醒)。对WDTE 设置位清零可以永久性地关闭WDT。

后分频器分配完全是由软件控制,即它可在程序执行期间随时更改。

为避免发生不可预测的器件复位,当从TImer0 预分频器的分配改为WDT 后分频器的分配时,必须执行下列指令序列。即使WDT 被禁止,也要执行这个指令序列。

看门狗定时器作用

看门狗定时器是单片机的一个组成部分,在单片机程序的调试和运行中都有着重要的意义。它的主要功能是在发生软件故障时,通过使器件复位(如果软件未将器件清零)将单片机复位。也可以用于将器件从休眠或空闲模式唤醒,看门狗定时器对微控制器提供了独立的保护系统,当系统出现故障时,在可选的超时周期之后,看门狗将以RESET信号作出响应,像x25045就可选超时周期为1.4秒、600毫秒、200毫秒三种。当你的程序死机时,x25045就会使单片机复位。

大多数看门狗定时器IC产生一个单一的,有限的输出脉冲持续时间当看门狗超时。这适用于触发复位或中断微处理器,但有些应用需要输出(故障指示灯)的锁存器。

考虑到安全性问题,汽车电子系统需要监控电路监测故障容限或安全性。看门狗定时器可理想满足这类需求,通过对微控制器正常工作条件下产生的周期脉冲进行检测,侦测电路或IC的失效状态,一旦发生故障可立即切换到备份/冗余系统。

简单来说,看门狗定时器是一种若在特定时间范围内未从处理器接收到周期性脉冲讯号,就会发出重设输出讯号的装置。其中一种应用这种装置的方法,是透过来自处理器的数字讯号输出(GPIO)回馈给外部看门狗定时器的看门狗输入(WDI)。TPS3851便是具有整合看门狗定时器的监控器,能够监控微控制器的电源轨,并透过外部方式监控从微控制器(MCU)发出的数字脉冲,如下图所示。

TPS3851所提供的看门狗监控

处理器周期性地向看门狗定时器发送一个脉冲,以表示系统软件的正常运作。若看门狗定时器在规定的时间范围(称为看门狗超时)内未接收到此脉冲,看门狗定时器将发出重设输出讯号。该重设输出讯号可以用于通知系统处理器出现了停机或冻结的情况,或重设处理器本身。下图为为在看门狗超时期间内接收的脉冲,以及在超过看门狗超时之后所接收的脉冲。

标准看门狗定时器的运作

看门狗定时器提供一种警报系统的机制,或重设一个软件历经冻结或停机的处理器。尽管没有人会刻意设计会冻结的软件,但优秀的系统设计人员还是会为故障做准备——因为未雨绸缪总是好的。若缺少这种监控,处理器可能会无限期地冻结,并导致更多的系统故障。像是TPS3851具有可调整超时间间隔的外部看门狗定时器,能够在几毫秒内辨识这些软件冻结,并适当地重设系统或处理器。因为要手动重设这些系统是不实际、甚至几乎是不可能的,因此这项功能在嵌入式或远程系统中更有其必要性。

原则上,看门狗定时器的功能不会过于复杂;然而,其在维持系统可靠性的重要性也不容小觑,尤其是在系统发生错误、人为的系统重设是困难甚至是不能实现的情况下。

linux看门狗定时器,看门狗定时器的作用相关推荐

  1. 调试模式和定时器,看门狗和嘀嗒定时器

    文章目录 一.调试模块 二.定时器模块 三.看门狗 四.系统时基定时器 五.定时器与内核之间的关系 杨桃32学习笔记,本文图片文字皆为转述 参考博客连接 一.调试模块 所谓调试的过程便是,写好程序然后 ...

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

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

  3. ARM+LINUX移植攻略(十九)Linux驱动移植之看门狗

    努力成为linux kernel hacker的人李万鹏原创作品,为梦而战.转载请标明出处 http://blog.csdn.net/woshixingaaa/archive/2011/06/06/6 ...

  4. linux 喂狗时间,看门狗喂狗时间及程序

    什么是看门狗定时器 看门狗定时器(WDT,Watch Dog TImer)是单片机的一个组成部分,它实际上是一个计数器,一般给看门狗一个数字,程序开始运行后看门狗开始倒计数.如果程序运行正常,过一段时 ...

  5. linux需要看门狗喂狗程序,多任务看门狗, 喂狗方法

    看门狗分和 软件看门狗.硬件看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零(俗称"喂狗"),因此程序正常工作时, 定时器总不能溢出,也就 ...

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

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

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

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

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

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

  9. 多任务看门狗, 喂狗方法

    看门狗分硬件看门狗和 软件看门狗.硬件看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零(俗称"喂狗"),因此程序正常工作时, 定时器总不能 ...

  10. 基于STM32、FreeRTOS实现硬件看门狗+软件看门狗监测多任务的思路

    关注+星标公众号,不错过精彩内容 作者 | strongerHuang 微信公众号 | 嵌入式专栏 这是一篇旧文,技术交流群有人在讨论这个问题,今天就来分享一下. 我们都知道硬件看门狗的目的:是用来监 ...

最新文章

  1. 实验4 [BX]和loop指令
  2. 桌面虚拟化之远程协助
  3. 迭代器、生成器、装饰器
  4. OpenCV 图像旋转
  5. 属兔的人今日运势-360星座网_【生肖运势】12月17日
  6. Dreanmwear能做php模板吗,PHPword模板的使用
  7. (01)FPGA时序分析概念
  8. Qomo OpenProject Field Test 1发布!
  9. Xshell批量导入IP地址
  10. 数据挖掘导论完整版pdf中文
  11. BackTrack 4 R2 发布
  12. 5节锂电池升压充电管理芯片
  13. android串口开发!一年后斩获腾讯T3,附面试题答案
  14. window8系统 dns有问题怎么修复,浏览器代理设置,浏览器提示网页无法显示
  15. mad和php的区别,良心解析kakaKUC-MAD好用吗?怎么样呢?体验揭秘分析
  16. 微信公众平台开发及优势
  17. SQL Server AVG函数取整问题
  18. FreeRTOS软件定时器 | FreeRTOS十三
  19. 一个软件测试人员的经验分享
  20. 【Android 组件化】路由组件 ( 注解处理器中使用 JavaPoet 生成代码 )

热门文章

  1. 软考中级-嵌入式系统设计师
  2. 三维全景融合拼接技术
  3. 微博有哪些营销价值?
  4. 使无效html代码,blockquote p css无效,让blockquote p不缩进的方法
  5. 学习汇编记录Day3——汇编指令
  6. 360影视php采集接口,苹果CMS后台联盟采集API接口数据
  7. K8S CRD 资源对象删除不掉
  8. 什么是代理服务器及其作用
  9. CentOS 8.3.2011 镜像在PC上安装选择安装源时提示:设置基础软件仓库时出错
  10. 大数定律和中心极限定理