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

    文章

    558

    浏览量

    70691
  • 单片机
    +关注

    关注

    0

    文章

    201

    浏览量

    16658
收藏 人收藏

    评论

    相关推荐

    看门狗定时器的工作原理

    看门狗定时器是一种独立的计时器硬件模块,其核心功能是倒计时。如果系统软件在计时器超时前没有对其进行复位操作(即“喂狗”),看门狗将触发一个预定义的动作,通常是系统复位或中断。
    的头像 发表于 10-21 14:18 181次阅读
    <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>调试

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

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

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

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

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

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

    TLE9854如何禁止看门狗

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

    TLEz9855如何关闭看门狗

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

    芯知识 | 语音芯片中的声音播放提示IC内置看门狗的作用介绍

    随着科技的不断发展,语音芯片在各个领域的应用越来越广泛。其中,声音播放提示IC作为语音芯片的重要组成部分,其功能和性能的提升对于产品的用户体验和稳定性至关重要。而在声音播放提示IC中,内置看门狗
    的头像 发表于 12-20 08:40 458次阅读
    芯知识 | 语音芯片中的声音播放提示IC内置<b class='flag-5'>看门狗</b>的作用介绍

    MCU看门狗应用注意事项

    我们使用的MCU是普冉的PY32F030,这颗芯片在低功耗应用场景下,使用看门狗会有很多的问题和缺陷,需要非常注意,稍有不慎,就会出问题。
    发表于 12-02 09:47 1045次阅读
    MCU<b class='flag-5'>看门狗</b>应用注意事项

    STM32的看门狗原理和示例代码

    ):IWDG是一个定时器,其计数器在启用后开始递增。在程序中,需要定期喂狗(通过向IWDG的寄存器写入特定的值),以防止看门狗超时。否则,如果超过了预定的时间,系统
    的头像 发表于 12-01 08:00 1799次阅读
    STM32的<b class='flag-5'>看门狗</b>原理和示例代码

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

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

    单片机为什么要加看门狗

    现代电子设备越来越复杂,为了保证系统的稳定和可靠性,往往需要引入一些硬件设计来进行监控和保护。其中,看门狗(Watchdog)是一种常用且重要的功能,一般指的是电子设备或电路中,用于监控特定系统或
    的头像 发表于 11-17 08:20 1575次阅读
    <b class='flag-5'>单片机</b>为什么要加<b class='flag-5'>看门狗</b>?

    看门狗要如何使用?

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