看门狗定时器(WatchDog Timer)在出现程序跑飞卡死的时候用来强制复位处理器或控制器。具体操作是:通常程序正常循环会在一定周期内进行“喂狗”,若程序执行一个错误代码或者程序卡死,将不能进行“喂狗”,WDT会将控制器进行复位。而且,WDT不能检测瞬态故障,只有在WDT计数器达到预定的时间间隔时才会产生复位。

WDT基本原理

WDT的核心是计数寄存器,时钟源连续递增计数器的值,计数器发生溢出时,WDT产生复位。为防止复位,需要周期性的将计数清零,俗称“喂狗”。

内部或外部WDT

现在好多MCU内置WDT,使用内部WDT最大优势就是节省成本体积,但缺点也比较明显容易受软件程序失效影响,稳定性不佳。使用外部WDT IC具有独立的时钟源,稳定性较高,但相应的也会增加一定成本。

在一些要求较高的场合下,建议使用外部WDT IC。


看门狗电路

本身看门狗电路比较简单,一个IO引脚用来喂狗,另一个IO引脚输出复位响应。详细的设计需要仔细查看DataSheet。

本文将介绍一下有些系统会涉及操作系统启动时间较长超出溢出周期的方案设计。

一些系统启动需要经历U-boot–kernel–文件系统–应用层,这种启动时间短则几十秒,多则甚至1分钟以上,只有系统启动正常后才能进行喂狗,如果这是外部WDT IC 一直得不到喂狗,就会一直产生喂狗,系统进入死锁状态。

下面介绍两种方法:

1. 模拟开关+普通WDT

使用一个单刀双掷模拟开关接到WDI引脚上,当启动时WDI通过模拟开关将接到悬空态,这种情况下,看门狗会禁止,内部计数器停止计数。当系统正常启动后,打开IO调整模拟开关,进行正常工作。

2. 使用长时间溢出周期的WDT

如下芯片启动会有51s延时,常规超时1.6s复位。如下示意:


硬件看门狗的选择与设计相关推荐

  1. 3G/4G路由器方案之外置硬件看门狗设计

    看门狗电路 为了确保设备可长时间稳定工作,增加看门狗电路.为简化设计,看门狗采用芯片MAX823TEUK,其最长喂狗时间为1.6s.当设备运行Linux或WinCE系统时,启动时间长(远大于1.6s) ...

  2. 硬件看门狗和软件看门狗

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

  3. 软件看门狗和硬件看门狗

    看门狗,又叫watchdog timer,从本质上来说就是一个定时器电路,一般有一个输入和一个输出,其中的输入叫做喂狗,输出一般连接到另外一个部分的复位端,另外一个部分就是所要处理的部分,暂且称之为M ...

  4. 服务器看门狗芯片电路图,新型纯硬件看门狗电路设计分析研究

    摘   要:看门狗电路是电子电路中一种非常常见的电路,常用的看门狗电路在喂狗进程工作,CPU死机的状态时,可以重新复位CPU,防止CPU跑飞.但是在一些极端条件下,看门狗进程也会挂死,例如温度过高等, ...

  5. 嵌入式系统的软件看门狗和硬件看门狗

    本文从原理.异同.举例来说明硬件软件看门狗怎么选择: 一. 硬件看门狗的原理 硬件看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零(俗称"喂狗&qu ...

  6. 服务器看门狗硬件,软件看门狗和硬件看门狗的作用和区别

    软件看门狗和硬件看门狗的作用和区别 工业级无线路由器,作为无线组网中非常重要的设备,洞察客户应用场景,只要是关乎无线组网可靠性的需求,即使是最细微的技术应用都要做到极致,比如看门狗. 为什么工业级无线 ...

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

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

  8. STM32硬件看门狗的使用

    本文使用STM32 STLink Utility和STM32CUBELDE 1.手动添加库文件 由于使用硬件看门狗,在STM32CUBELDE内的图形界面设置时不使能看门狗. 由于STM32CUBEL ...

  9. linux 硬件看门狗 软件看门狗,如何确定机器上是否实现了硬件或软件看门狗?...

    我有一台我试图开发的嵌入式计算机,我想知道它的看门狗是软件看门狗还是硬件看门狗. 首先我查看了,我看到/ dev / watchdog存在于/ dev中.但是当我发布ps时,我没有看到看门狗进程.所以 ...

最新文章

  1. 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”
  2. UVA10010 Where's Waldorf?
  3. 前端 重构时需要注意的事项_前端数据层落地实践
  4. 在GNS3中如何让NETFLOW能够捕获到流量
  5. 让C#语言充当自身脚本!——.NET中的动态编译
  6. vim格式化代码实际上就是 缩进代码, 命令是等号=
  7. 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序报错的解决办法
  8. html5文字游戏引擎,【HTML5 Game】一步步开发一个 TypeShot 的打字游戏
  9. lg g3 android 5.0,lg g3 5.0 root教程_lg g3获取5.0系统的root方法
  10. CMMI证书有效期是多久?到期后自己可以办理吗
  11. linux LCD驱动实验
  12. 中望3d快捷键命令大全_中望CAD快捷键汇总
  13. GSM Hacking:如何对GSM/GPRS网络测试进行测试
  14. SAP中标准价和移动平均价的学习笔记
  15. 2022 计网复习计算题【太原理工大学】
  16. 2022夏每日一题(三)
  17. 求一款快捷回复工具聊天辅助软件手机版(聊天微快聊回复助手)
  18. 美国诚实签经验贴汇总
  19. 1月初.wang域名总量15强:易名西数阿里云稳居三甲
  20. CSS 多种布局方式

热门文章

  1. C语言输入若干个学生成绩,输出平均成绩和低于60分的学生成绩
  2. 图文详解PowerDesigner安装
  3. html制作满天星,满天星怎么做干花
  4. Adobe欲统一相机RAW格式的格式——DNG数码负片
  5. vue+webpack5:If you want to include a polyfill, you need to
  6. 计算机安装电脑程序怎么办理,电脑一开机就自动安装软件怎么办
  7. 微信公众号java开发教程
  8. 在京东,我是怎么做项目管理的
  9. qiankun微前端主子应用通信方案
  10. 构建伟大的思想体系的重要性