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

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

3天内不再提示

单片机的看门狗,你的产品中有用到吗?

CW32生态社区 来源:CW32生态社区 作者:CW32生态社区 2024-08-30 18:59 次阅读

单片机看门狗(Watchdog Timer)是一种硬件电路,用于监控单片机的运行状态,确保系统的稳定性和可靠性。当单片机由于软件或硬件故障导致程序运行异常或停滞时,看门狗能够检测到这种情况,并采取措施使系统复位,从而恢复正常运行。看门狗的主要工作原理如下:

定时器看门狗通常包含一个定时器,这个定时器会在单片机正常工作时被周期性地重置。如果单片机在设定的时间内没有重置看门狗定时器,那么看门狗会认为单片机出现了异常。

超时复位:一旦看门狗定时器超时,它将触发一个复位信号,将单片机复位到初始状态,从而允许系统重新启动并尝试恢复正常操作。

中断或处理程序:在某些设计中,看门狗超时可以触发一个中断,允许执行特定的错误处理程序,而不是立即复位。这样可以在系统复位前进行一些日志记录或清理操作。看门狗在那些对安全性和稳定性要求较高的应用中特别重要,如工业控制汽车电子、医疗设备和航空航天等领域。通过使用看门狗,可以大大减少系统因软件故障而导致的长时间不可用或错误操作的风险。CW32单片机有两个看门狗:独立看门狗IWDT和窗口看门狗WWDT。

独立看门狗IWDT:独立看门狗定时器 (IWDT),使用专门的内部 RC 时钟源 RC10K,可避免运行时受到外部因素影响。一旦启动 IWDT,用户需要在规定时间间隔内对 IWDT 的计数器进行重载,否则计数器溢出会触发复位或产生中断信号。IWDT 启动后,可停止计数。可选择在深度休眠模式下 IWDT 保持运行或暂停计数。

IWDT的功能框图如下:

wKgaombRpiuAAtQWAAAbpLU1ov082.webp

IWDT 由一个 12 位可重载的向下计数器实现,其计数时钟源为内部专用低速 RC 振荡器 RC10K,通过控制寄存器IWDT_CR 的 PRS 位域可对其时钟源 RC10K 信号进行 4 ~ 512 的预分频。IWDT 计数器发生溢出时可选择产生中断和复位信号。

窗口看门狗WWDT:窗口看门狗定时器 (WWDT),用户需要在设定的时间窗口内进行刷新,否则将触发系统复位。WWDT 通常被用来监测有严格时间要求的程序执行流程,防止由外部干扰或未知条件造成应用程序的执行异常, 导致发生系统故障。

WWDT的功能框图如下

wKgZombRpiuAYGzUAAAb0BJa-XI08.webp

WWDT 内含一个 7 位递减计数器,计数时钟源为内部系统时钟 PCLK,通过控制寄存器 WWDT_CR1 的 PRS 位域 可对其时钟源 PCLK 进行分频,分频后得到计数时钟 WWDTCLK 用来驱动计数器计数。WWDT 在深度休眠模式下将停止计数,CPU 被唤醒后恢复正常工作。独立看门狗更注重在极端情况下的系统恢复能力,而窗口看门狗则提供了更灵活的时间窗口管理,以便更精确地监控程序的执行。开发者需要根据具体的应用需求选择合适的看门狗类型。

审核编辑 黄宇

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

    关注

    10

    文章

    565

    浏览量

    70827
  • 单片机
    +关注

    关注

    0

    文章

    216

    浏览量

    16658
收藏 人收藏

    评论

    相关推荐

    安利给工程师!看门狗相关知识

    看门狗能够及时检测并采取相应措施,从而避免系统长时间处于故障状态。本文将详细介绍看门狗的工作原理及其正确使用方法。 同时通过具体示例解析,教你如何在一个简单的LuatOS项目中集成看门狗定时器,设置
    的头像 发表于 12-31 14:29 89次阅读
    安利给工程师!<b class='flag-5'>看门狗</b>相关知识

    抄作业!看门狗定时器必备知识

    Air201在模组内部集成了硬件看门狗,今天就一起来聊聊~ 本文将带你了解看门狗的工作原理、应用架构、定时时间设置、软硬件看门狗的区别,以及看门狗定时器的典型应用场景及关键设计因素等内
    的头像 发表于 12-30 14:44 121次阅读
    抄作业!<b class='flag-5'>看门狗</b>定时器必备知识

    一文详解看门狗/电压监控芯片规格书

    是连接到单片机看门狗的功能是在给定的时间周期内,如果没有收到来自MCU的喂狗信号,则会给MCU发送复位信号。2.为什么MCU需要看门狗?随着信息技术的飞速发展,
    的头像 发表于 12-26 17:18 173次阅读
    一文详解<b class='flag-5'>看门狗</b>/电压监控芯片规格书

    常用硬件看门狗电路

    硬件看门狗电路分享
    的头像 发表于 12-18 14:09 467次阅读
    常用硬件<b class='flag-5'>看门狗</b>电路

    看门狗定时器的工作原理

    看门狗定时器是一种独立的计时器硬件模块,其核心功能是倒计时。如果系统软件在计时器超时前没有对其进行复位操作(即“喂狗”),看门狗将触发一个预定义的动作,通常是系统复位或中断。
    的头像 发表于 10-21 14:18 473次阅读
    <b class='flag-5'>看门狗</b>定时器的工作原理

    单片机开发:使用内部看门狗定时器(WDT)还是外挂看门狗芯片?

    故障。此外,如果系统时钟发生故障,与单片机共享相同系统时钟的内部WDT更有可能发生故障。 在关键任务应用中,使用内部看门狗定时器总是比较安全的,会发现使用少量组件的成本仍然比停滞的系统所造成
    发表于 09-25 13:46

    采用低成本MSP430单片机的外部可编程看门狗定时器监控系统

    电子发烧友网站提供《采用低成本MSP430单片机的外部可编程看门狗定时器监控系统.pdf》资料免费下载
    发表于 09-13 09:54 0次下载
    采用低成本MSP430<b class='flag-5'>单片机</b>的外部可编程<b class='flag-5'>看门狗</b>定时器监控系统

    Sitara AM6442 RTI看门狗调试

    电子发烧友网站提供《Sitara AM6442 RTI看门狗调试.pdf》资料免费下载
    发表于 08-27 11:26 0次下载
    Sitara AM6442 RTI<b class='flag-5'>看门狗</b>调试

    【GD32H757Z海棠派开发板使用手册】第七讲 FWDG-看门狗实验

    通过本实验主要学习以下内容: 独立看门狗的原理 独立看门狗功能介绍 实现独立看门狗功能
    的头像 发表于 05-10 09:37 792次阅读
    【GD32H757Z海棠派开发板使用手册】第七讲 FWDG-<b class='flag-5'>看门狗</b>实验

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

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

    软件看门狗和硬件看门狗的区别

    软件看门狗和硬件看门狗都是用于监控系统崩溃的工具,它们的作用是在系统出现故障或异常情况时自动恢复系统。  软件看门狗是一种程序,运行在操作系统中,通过定时检测系统是否正常运行来判断系统是否崩溃。如果
    的头像 发表于 04-16 15:10 1112次阅读

    TLF35584中集成的看门狗工作应用案例

    看门狗输入引脚 WDI 具有集成的下拉电流 IWDI 。看门狗输入 WDI 可以在“Closed Window”内或随后的“Open Window”期间转换为高电平。
    发表于 03-18 11:27 3919次阅读
    TLF35584中集成的<b class='flag-5'>看门狗</b>工作应用案例

    调试模式下如何调试看门狗

    大家在调试GD32 MCU系统的时候,若开了看门狗外设,是否会碰到进入调试模式看门狗就会咬造成无法调试的问题?
    的头像 发表于 02-23 09:30 1284次阅读
    调试模式下如何调试<b class='flag-5'>看门狗</b>?

    TLE9854如何禁止看门狗

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

    TLEz9855如何关闭看门狗

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