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

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

3天内不再提示

单片机看门狗工作原理

单片机开发宇凡微 来源: 单片机开发宇凡微 作者:单片机开发宇凡微 2022-10-12 13:46 次阅读

刚学习单片机的萌新都听说过单片机看门狗,但是对于其工作原理并不是很清楚,今天这篇文章将为大家介绍单片机看门狗工作原理,一起来了解一下吧!

一、单片机看门狗是什么

在由单片机组成的微型计算机系统中,单片机的工作经常受到来自外部电磁场的干扰,导致程序运行和飞行,并陷入一个死循环。程序的正常运行中断,由单片机控制的系统不能继续工作,导致整个系统停滞和不可预测的后果。所以,出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称“看门狗”(watchdog)。

二、单片机看门狗的应用

看门狗电路的应用,看门狗是恢复系统的正常运行及有效的监视管理器(具有锁定光驱,锁定任何指定程序的作用,可用在家庭中防止小孩无节制地玩游戏、上网、看录像)等具有很好的应用价值。

三、单片机看门狗工作原理

工作原理:在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清理看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。所以,在使用有看门狗的芯片时要注意清理看门狗。

硬件看门狗是利用了一个定时器,来监控主程序的运行,也就是说在主程序的运行过程中,我们要在看门狗定时器定时时间到之前对其进行复位。如果出现死循环,或者说PC指针不能回来,那么定时时间到后就会使单片机复位。

软件看门狗技术的原理和这差不多,只不过是用软件的方法实现,我们还是以51系列来讲,我们知道在51单片机中有两个定时器,我们就可以用这两个定时器来对主程序的运行进行监控。我们可以对T0设定一定的定时时间,当产生定时中断的时候对一个变量进行赋值,而这个变量在主程序运行的开始已经有了一个初值,在这里我们要设定的定时值要小于主程序的运行时间,这样在主程序的尾部对变量的值进行判断,如果值发生了预期的变化,就说明T0中断正常,如果没有发生变化则使程序复位。对于T1我们用来监控主程序的运行,我们给T1设定一定的定时时间,在主程序中对其进行复位,如果不能在一定的时间里对其进行复位,T1 的定时中断就会使单片机复位。在这里T1的定时时间要设的大于主程序的运行时间,给主程序留有一定的的裕量。而T1的中断正常与否我们再由T0定时中断子程序来监视。这样就够成了一个循环,T0监视T1,T1监视主程序,主程序又来监视T0,从而保证系统的稳定运行。

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

    关注

    6001

    文章

    43978

    浏览量

    620866
  • 看门狗
    +关注

    关注

    10

    文章

    541

    浏览量

    70257
收藏 人收藏

    评论

    相关推荐

    STM8L052看门狗在16MHz主频下意外重启是怎么回事?

    目前使用STM8L052R8做个产品,这个片子又便宜又好,该有的功能都有。软件一切功能都调试完毕,最后想启动看门狗。问题来了,主程序工作在16MHz下,外部晶振,分频系数为1,看门狗会导致不定
    发表于 04-17 07:34

    TLE9854如何禁止看门狗

    TLE9854示例代码,注释掉喂狗函数,然后重新下载,单片机未发生复位,重新上电后发生了复位,是怎么回事,如何才能关闭看门狗
    发表于 02-02 14:47

    TLEz9855如何关闭看门狗

    TLE9855的示例代码主循环里都带有WDT1_Service()这个函数,也就是喂狗,可是查看驱动设置里却没有使能看门狗,所以把WDT1_Service()这个函数注释掉,然后下载进单片机发现单片机没有发生复位,可是重新上电后
    发表于 02-02 07:27

    什么是模拟看门狗?模拟看门狗有什么用处?

    看门狗大家应该再熟悉不过了,一旦忘记喂狗就会导致单片机复位,而在大部分stm32中都存在两种类型的看门狗,Independent watchdog (IWDG)独立看门狗和Window
    的头像 发表于 11-22 09:40 903次阅读
    什么是模拟<b class='flag-5'>看门狗</b>?模拟<b class='flag-5'>看门狗</b>有什么用处?

    单片机为什么要加看门狗

    或应用程序的运行情况以保证其正常运行。本文将简单探讨看门狗工作原理,以及它在电子设备中的应用。在智能家居、智能穿戴设备、工业自动化、车载系统等应用中,这些系统具有复
    的头像 发表于 11-17 08:20 984次阅读
    <b class='flag-5'>单片机</b>为什么要加<b class='flag-5'>看门狗</b>?

    看门狗要如何使用?

    虽然知道看门狗的作用,不过还是不太明白看门狗要如何使用。 看门狗的作用是在程序跑飞的情况下让系统能够及时复位重新开始执行程序,道理很简单,但是程序如何跑飞呢? 如果是一段程序需要延时等待,这个不算跑飞吧,应该是正常执行。所以这种
    发表于 11-06 07:02

    请问STM32的独立看门狗和窗口看门狗有什么主要的区别?

    STM32的独立看门狗和窗口看门狗有什么主要的区别?
    发表于 10-15 06:44

    请问51单片机中的看门狗是干嘛的?

    51单片机中的看门狗是干嘛的?
    发表于 10-08 06:06

    单片机看门狗的分类及其工作原理

    看门狗(WDT: Watchdog Timer)是一种定期监控系统运行状态、一旦发生错误就向芯片发出重启信号的电路,在电路的中断中拥有最高的优先级。由单片机构成的电子系统容易在外界强电磁波干扰
    发表于 09-09 09:34 855次阅读
    <b class='flag-5'>单片机</b><b class='flag-5'>看门狗</b>的分类及其<b class='flag-5'>工作原理</b>

    看门狗的基本原理和RV-STAR独立看门狗(FWDGT)的使用方法

    就算主时钟失效的,它仍然能保持工作状态,这适用于需要独立环境且对计时精度要求不高的场合。 当内部向下计数器的值达到0,独立看门狗会产生一个复位。使能独立看门狗的寄存器写保护功能可以避免寄存器的值被意外
    发表于 08-16 08:13

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

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

    STM32单片机看门狗的配置方法

    SATM32单片机看门狗有独立看门狗和窗口看门狗之分,这两者的工作原理却完全不同,今天来看一下他们的具体区别和配置方法。
    的头像 发表于 06-22 09:07 2099次阅读
    STM32<b class='flag-5'>单片机</b><b class='flag-5'>看门狗</b>的配置方法

    NUC970单片机,linux系统下看门狗复位无效怎么解决?

    相同的板子,相同的程序,主板相同,原来最早的那些看门狗停止喂狗能正常复位,最近买的单片机看门狗停止喂狗以后,死在那边 有遇到过这种情况的么...
    发表于 06-14 11:59

    单片机独立看门狗和窗口看门狗的区别

    早期的MCU没有看门狗,就容易引起有些产品死机了不能重启工作。为了避免这个问题,后期的MCU在内部集成了看门狗的功能。
    发表于 06-06 09:40 425次阅读
    <b class='flag-5'>单片机</b>独立<b class='flag-5'>看门狗</b>和窗口<b class='flag-5'>看门狗</b>的区别

    基于51单片机的内部看门狗实验例程源代码

    基于51单片机的内部看门狗实验例程源代码
    发表于 05-12 16:22 0次下载