0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

看门狗定时器的工作原理

小杜的芯片验证日记 来源:数字芯片验证日记 2024-10-21 14:18 次阅读

Hi,我是小杜。看门狗(watch dog)用于监控系统运行状态,并在系统出现故障或长时间无响应时自动复位系统。它的实现和功能都比较简单,今天小杜来介绍一下看门狗。如有错误,还请批评指正。

看门狗的工作原理

看门狗定时器是一种独立的计时器硬件模块,其核心功能是倒计时。如果系统软件在计时器超时前没有对其进行复位操作(即“喂狗”),看门狗将触发一个预定义的动作,通常是系统复位或中断。

一般而言,看门狗存在四个阶段:

初始化看门狗:系统启动时,软件配置和启动看门狗定时器,设定一个超时时间。

定期复位看门狗:系统正常运行时,软件需要在看门狗定时器超时前定期复位(喂狗)。

检测超时:如果系统无法在设定时间内复位看门狗,看门狗定时器会超时。

触发动作:看门狗超时后,触发预定义的动作,如系统复位、中断或进入故障模式。

看门狗定时器的超时时间通常是可配置的,以适应不同应用的需求。配置时需要考虑任务执行时间、系统性能和安全性等因素。

看门狗可以有两种不同的喂狗模式:

窗口模式(Window Mode):要求看门狗复位操作必须在特定时间窗口内进行,否则视为故障。

标准模式(Standard Mode):只需在超时前复位看门狗定时器。

当喂狗不及时就会触发看门狗,最重要的就是触发动作的配置。

当看门狗超时出发时,以下是常间的触发动作:

系统复位:最常见的动作,复位整个系统。

中断:触发一个中断,使系统能在尝试自恢复之前进行故障处理。

进入安全模式:将系统切换到一个安全模式,只保留最基本的功能,以等待外部干预。

此外,看门狗还可以层级联动,例如软件看门狗监控应用程序,硬件看门狗监控操作系统,如果软件看门狗失效,硬件看门狗则触发系统复位。

wKgaomcV8kqAeEjLAABZeGRdMgo486.png

看门狗的作用和必要性

看门狗可以在系统失控时自动恢复运行,从而提高系统的可靠性。特别是在关键应用中,如汽车电子、医疗设备和工业控制等领域,这种可靠性是至关重要的。

解决软件故障:看门狗可以检测并处理软件故障,如死循环、内存泄漏和线程死锁,防止系统长时间无响应。

解决硬件故障:硬件故障可能导致系统无响应,看门狗能够检测到这些情况并通过复位系统尝试恢复正常运行。

提供系统监控和维护:看门狗为系统提供了一种简单而有效的监控机制,可以在系统长时间运行过程中检测和纠正异常状态,减少人工干预和维护成本。

比如,在汽车控制系统中,看门狗可用于监控ECU(Electronic Control Unit)的运行状态,确保汽车电子系统在故障情况下能够自动复位,提高驾驶安全性。

看门狗的使用心得

在调试阶段,看门狗定时器可能会干扰调试过程,可以先禁用看门狗或将看门狗的超时时间设置得很长,等系统稳定后再人为注错调试看门狗。

系统正常运行时,定期复位看门狗定时器,避免看门狗误触发;当发生超时复位时,确保复位操作是在所有关键任务完成后执行,而不是简单地在循环中复位。在复位前,将错误信息记录在非易失性存储器中,以便复位后进行故障分析。

如果支持窗口模式(Window Mode),可配置为仅在特定时间窗口内允许复位操作,以防止复位操作被卡住的代码频繁调用。

看门狗虽小,但作用强大,看门狗定时器是提高系统可靠性和安全性的关键硬件模块。通过合理配置和使用看门狗定时器,可以有效监控系统运行状态,及时发现并处理故障,提高系统的稳定性和可靠性。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 看门狗
    +关注

    关注

    10

    文章

    561

    浏览量

    70799
  • 定时器
    +关注

    关注

    23

    文章

    3247

    浏览量

    114765
  • 计时器
    +关注

    关注

    1

    文章

    420

    浏览量

    32701

原文标题:【SoC】看门狗(Watch Dog)定时器的原理与使用

文章出处:【微信号:小杜的芯片验证日记,微信公众号:小杜的芯片验证日记】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    STM32看门狗定时器工作原理和作用 看门狗定时器的特性

    看门狗定时器(WDT,Watch Dog Timer)是单片机的一个组成部分,它实际上是一个计数,一般来说都是向下计数的,给看门狗一个数字,程序开始运行后
    的头像 发表于 07-27 16:30 6095次阅读
    STM32<b class='flag-5'>看门狗</b><b class='flag-5'>定时器</b>的<b class='flag-5'>工作原理</b>和作用 <b class='flag-5'>看门狗</b><b class='flag-5'>定时器</b>的特性

    简单介绍看门狗定时器工作原理、作用和设计原理

    看门狗定时器(WDT,Watch Dog Timer)是单片机的一个组成部分,它实际上是一个计数,一般给看门狗一个数字,程序开始运行后看门狗
    发表于 09-02 22:29

    看门狗定时器是什么

    看门狗开始倒计数。如果程序运行正常,过一段时间CPU应发出指令让看门狗复位,重新开始倒计数。如果看门狗减到0就认为程序没有正常工作,强制整个系统复位。
    发表于 07-13 06:34

    怎么实现简单锁定看门狗定时器设计?

    看门狗定时器工作原理是什么?有哪些功能作用?怎么实现简单锁定看门狗定时器设计?
    发表于 09-26 06:06

    arduino看门狗怎么使用

    运行后看门狗开始倒计数。如果程序运行正常,过一段时间CPU应发出指令让看门狗复位,重新开始倒计数。如果看门狗减到0就认为程序没有正常工作,强制整个系统复位。
    发表于 02-14 06:27

    看门狗定时器工作原理

    看门狗定时器工作原理:WDT 工作原理使能时,WDT 将递增,直到溢出,或称“超时”。除非处于休眠或空闲模式,WDT 超时会强制器件复位。为避免WDT 超时复位,用户必须定期用PW
    发表于 10-06 09:33 136次下载

    看门狗定时器的设计、工作原理看门狗定时器的操作

    看门狗定时器(WDT,Watch Dog Timer)是单片机的一个组成部分,它实际上是一个计数,一般给看门狗一个数字,程序开始运行后看门狗
    发表于 05-23 09:14 7744次阅读
    <b class='flag-5'>看门狗</b><b class='flag-5'>定时器</b>的设计、<b class='flag-5'>工作原理</b>及<b class='flag-5'>看门狗</b><b class='flag-5'>定时器</b>的操作

    看门狗定时器的作用

    看门狗复位,重新开始倒计数。如果看门狗减到0就认为程序没有正常工作,强制整个系统复位。 看门狗定时器的操作过程 使用时,WDT将递增,直到
    发表于 10-20 14:41 6705次阅读

    TB3123 - PIC®单片机的窗口看门狗定时器

    窗口看门狗定时器(Windowed Watchdog Timer,WWDT)是PIC单片机的增强型看门狗定时器。该定时器是PIC单片机现有
    发表于 03-26 14:35 0次下载
    TB3123 - PIC®单片机的窗口<b class='flag-5'>看门狗</b><b class='flag-5'>定时器</b>

    PIC单片机之看门狗_看门狗定时器工作原理

    PIC系列不同型号的单片机其,看门狗设置不同,下面是以PIC16F688单片机为例。如果配置字中的WDTE=1那么后面的看门狗开关(WDT)不起作用,所以当我们程序中有休眠模式的时候我们的看门狗
    发表于 05-18 01:59 8052次阅读
    PIC单片机之<b class='flag-5'>看门狗</b>_<b class='flag-5'>看门狗</b><b class='flag-5'>定时器</b><b class='flag-5'>工作原理</b>

    看门狗定时器的相关问题和实验说明

    看门狗的作用: 看门狗定时器是一个计数,基本功能是在发生软件问题和程序跑飞后使系统重新启动。看门狗计数
    的头像 发表于 10-06 12:59 4563次阅读
    <b class='flag-5'>看门狗</b><b class='flag-5'>定时器</b>的相关问题和实验说明

    arduino看门狗

    看门狗开始倒计数。如果程序运行正常,过一段时间CPU应发出指令让看门狗复位,重新开始倒计数。如果看门狗减到0就认为程序没有正常工作,强制整个系统复位。
    发表于 11-15 19:06 18次下载
    arduino<b class='flag-5'>看门狗</b>

    arduino看门狗的使用

    运行后看门狗开始倒计数。如果程序运行正常,过一段时间CPU应发出指令让看门狗复位,重新开始倒计数。如果看门狗减到0就认为程序没有正常工作,强制整个系统复位。
    发表于 12-09 09:36 7次下载
    arduino<b class='flag-5'>看门狗</b>的使用

    使用高速微型看门狗定时器

    在恶劣环境中使用的高速微控制应用的设计人员将使用看门狗定时器来防止软件失控。DS80C320高速微控制集成了看门狗
    的头像 发表于 02-09 11:54 945次阅读

    AXI时基看门狗定时器(WDT)概述

    XilinxLogiCORE IP AXI4-Lite时基看门狗定时器(WDT)是一个32位外设,提供32位自由运行时基和看门狗定时器
    的头像 发表于 10-16 11:10 1195次阅读
    AXI时基<b class='flag-5'>看门狗</b><b class='flag-5'>定时器</b>(WDT)概述