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

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

3天内不再提示

什么是看门狗?如何实现对系统程序的监控?

星星科技指导员 来源:网络整理 作者:网络整理 2024-02-02 15:58 次阅读

什么是看门狗(WDT)?

看门狗(Watchdog,简称WDT)是一种用于监视和保护系统正常运行的设备或机制。它是一个定时器,专门用于检测和防止系统出现故障或崩溃的情况。

看门狗通过定时器计数器和相关的控制逻辑来实现功能。在系统正常运行时,定时器会以固定的时间间隔重复计数,如果系统一切正常,那么定时器会定期被重置。然而,如果系统由于某种原因无法正常工作,定时器将继续倒计时。一旦定时器倒计时达到设定的阈值,即超过了允许的时间范围内系统未响应的持续时间,看门狗会触发一个复位信号,将系统强制重启。

看门狗的作用是确保系统在异常情况下能够自动恢复,避免系统处于无限循环、死锁或其他无法响应的状态。它可以防止软件或硬件故障导致系统无法正常运行,并帮助维持系统的稳定性和可靠性。

嵌入式系统和一些关键任务的应用中,看门狗经常被使用。开发人员可以根据系统的要求,配置看门狗的定时器周期和复位触发条件,以及在触发时进行相应的处理。这样一来,即使系统出现故障或停止响应,看门狗也能确保系统在预定的时间内重新启动,从而提高系统可用性和可靠性。

看门狗如何实现对系统程序的监控?

“看门狗(WDT)”,也称为程序监视定时器。WDT的作用是通过不断监视程序每周期的运行事件是否超过正常状态下所需要的时间,从而判断程序是否进入了“死循环”,并对进入“死循环”的程序作出系统复位处理。

在程序中设置适当的指令,清WDT,就可监视微处理器的工作。例如在主程序开始时,将WDT置位,如果主程序执行过程中产生死循环,就无法清WDT,超过WDT的定时时间时,WDT就会对微处理器发出复位信号。从而实现对系统程序的监控。

看门狗(Watchdog,简称WDT)通过定时器和相关的控制逻辑来实现对系统程序的监控。下面是看门狗实现对系统程序监控的基本原理:

1. 初始化:在系统启动时,首先需要初始化看门狗。这通常包括设置看门狗的定时器周期和复位触发条件,以及启动看门狗计时器。

2. 定期喂狗:一旦看门狗启动并开始计时,系统程序需要定期“喂狗”来避免看门狗触发复位操作。通常是在关键代码的位置或循环的末尾,插入一条喂狗的指令,以重置看门狗的计时器。

3. 监控程序状态:看门狗定时器以固定的时间间隔进行计数,并在超过设定阈值时触发复位操作。如果系统程序运行正常,定期喂狗指令会重置看门狗计时器,因此定时器不会超时。但是,如果系统出现问题导致程序无法正常运行,忘记喂狗或陷入无限循环,看门狗定时器将继续倒计时。

4. 复位操作:当看门狗定时器倒计时达到设定的阈值时,看门狗会触发复位信号,强制系统重新启动。这是为了确保系统能够从错误状态中恢复并重新进入正常操作状态。

通过上述机制,看门狗可以监控系统程序的运行状态。当系统运行正常时,定期喂狗指令会重置看门狗计时器,避免触发复位操作。但是,如果系统出现故障、停滞或无响应的情况,看门狗定时器会超过设定的时间阈值,触发复位操作,从而使系统重启并重新启动。

在实际应用中,开发人员需要根据系统的要求和特定的硬件平台,合理设置看门狗的定时器周期和复位触发条件。这样可以确保系统能够及时检测和应对异常情况,并自动恢复正常运行。

审核编辑:黄飞

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

    关注

    10

    文章

    541

    浏览量

    70256
  • 计数器
    +关注

    关注

    32

    文章

    2121

    浏览量

    92977
  • 定时器
    +关注

    关注

    23

    文章

    3147

    浏览量

    112037
  • 系统程序
    +关注

    关注

    0

    文章

    3

    浏览量

    5827
收藏 人收藏

    评论

    相关推荐

    什么是看门狗?

    规定的时间不喂狗,(一般在程序跑飞时),WDT 定时超过,就回给出一个复位信号到MCU,是MCU复位. 防止MCU死机. 看门狗的作用就是防止程序发生死循环,或者说程序跑飞。   工作
    发表于 06-16 15:08

    stm32的最小系统实现看门狗程序吗?

    stm32f103的最小系统怎么实现看门狗程序
    发表于 05-31 16:35

    c语言看门狗程序怎么写

    51单片机 c语言看门狗程序怎么写51单片机 c语言看门狗程序怎么写看门狗在51单片机电路里的作用是防止
    发表于 07-15 07:17

    什么是看门狗看门狗是如何给程序计数的?

    什么是看门狗看门狗是如何给程序计数的?怎样去计算计时时间?
    发表于 07-22 08:28

    STM32+看门狗介绍

    STM32 + 看门狗看门狗介绍实际的MCU应用系统中,由于常常会受到来自外界的某些干扰,有可能造成程序跑飞而进入死循环,从而导致整个系统
    发表于 07-30 06:50

    为什么要看门狗

    为什么要看门狗:单片机的工作常常会受到来自外界磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常允许被打断。会造成整个系统的停滞状态。处于对单片机运行状态进行实时监测的考虑,用一种专
    发表于 07-30 07:02

    看门狗电路

    一、独立看门狗STM32的独立看门狗由内部专门的40Khz低速时钟驱动,即使主时钟发生故障,它也仍然有效。看门狗的原理:单片机系统在外界的干扰下会出现
    发表于 07-30 06:02

    看门狗的原理

    看门狗准确来说就是在单片机构成的系统中,可能会收到外界电磁波的干扰,造成程序跑飞,陷入死循环中,这样系统就不能够正常的工作,看门狗就是用来
    发表于 07-30 06:45

    看门狗的原理与作用

    一、独立看门狗STM32 的独立看门狗由内部专门的 40Khz 低速时钟驱动,即使主时钟发生故障,它也仍然有效。看门狗的原理:单片机系统在外界的干扰下会出现
    发表于 07-30 06:36

    看门狗是什么 看门狗的功能

    监测的考虑,便产生了一种专门用于监测单片机程序运行状态的模块或者芯片,俗称“看门狗”(watchdog) 。看门狗的功能①、在启动正常运行的时候,系统不能复位。②、在
    发表于 07-30 08:07

    看门狗是什么 看门狗分哪几类

    单片机自身运行状态的东西,看看程序是不是正常跑完。这个东西就叫看门狗看门狗分两类:独立看门狗和窗口看门狗。这俩的区别就是独立
    发表于 08-02 09:20

    看门狗的原理 看门狗的作用

    独立看门狗由内部专门的 40Khz 低速时钟驱动,即使主时钟发生故障,它也仍然有效。看门狗的原理:单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,
    发表于 08-02 08:56

    什么是看门狗 为什么要看门狗

    由于外部电磁等干扰,程序可能跑飞进入死循环这时候就要看门狗来解决这个问题STM32中的看门狗看门狗的工作原理:通俗的来说就是在饿死前喂它
    发表于 08-02 10:59

    【嵌入式系统】独立看门狗原理+看门狗实验分析 精选资料推荐

    【嵌入式系统】独立看门狗原理+看门狗实验分析1、看门狗模块概述在由单片机构成的微机系统中,由于单片机工作常常会受到来自外界电磁场干扰导致
    发表于 08-03 06:27

    模拟看门狗是什么

      看门狗的功能大家都知道,而这个模拟看门狗又是什么东西呢?  简单的说就是这个模拟看门狗可以实时监控ADC采样的数据,当采样的数据值小于设置的最小值或者大于设置的最大值时,单片机就会
    发表于 01-27 07:19