[其它应用] 单片机的看门狗,你的产品中有用到吗

[复制链接]
2697|9
 楼主| 观海 发表于 2025-5-7 22:57 | 显示全部楼层 |阅读模式
单片机的看门狗(Watchdog Timer)是一种硬件电路,用于监控单片机的运行状态,确保系统的稳定性和可靠性。当单片机由于软件或硬件故障导致程序运行异常或停滞时,看门狗能够检测到这种情况,并采取措施使系统复位,从而恢复正常运行。看门狗的主要工作原理如下:

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

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

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

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

IWDT的功能框图如下:



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

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

WWDT的功能框图如下



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

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/2302_81038468/article/details/141713629

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
OceanGaze 发表于 2025-5-8 09:19 | 显示全部楼层
看门狗还是需要使用的。毕竟 我的软件水平在那里,宕机是很正常的事情嘛
huquanz711 发表于 2025-5-17 15:10 来自手机 | 显示全部楼层
如果我了节省BOM成本,一般就是用的内部看门狗。
作业粉碎机 发表于 2025-5-17 19:36 | 显示全部楼层
看门狗在嵌入式系统中非常关键,我们的产品中确实用到了。它帮助我们确保了系统的稳定性,特别是在长时间运行的设备中。
zhouyong77 发表于 2025-5-21 07:39 来自手机 | 显示全部楼层
一般都是用的外部看门狗,没有用内部的。
复古留声机 发表于 2025-5-23 16:11 | 显示全部楼层
我们的工业控制系统中确实用到了看门狗,它帮助我们确保了系统的稳定性,特别是在长时间运行时,看门狗能够防止程序死锁。
不想起床喵星人 发表于 2025-5-24 12:07 | 显示全部楼层
看门狗确实是个好东西,我们的产品中就用到了IWDT,对于防止程序死锁非常有效。
迷雾隐者 发表于 2025-5-25 12:39 | 显示全部楼层
看门狗在嵌入式系统中确实非常重要,我们的产品中也用到了。它能够防止程序跑飞,确保系统的稳定性。
老橘树下的桥头 发表于 2025-7-19 15:08 | 显示全部楼层
需要用。看门狗可监控程序运行,当程序异常(如跑飞、死循环)时强制复位,保障系统稳定性和可靠性。
一点点晚风 发表于 2025-9-25 17:16 | 显示全部楼层
在我参与的产品中,看门狗是常用的关键组件。例如在工业控制产品中,由于现场环境复杂,电磁干扰等因素易导致程序跑飞,看门狗可在程序异常时自动复位,确保系统稳定运行。我们通常会根据具体需求选择合适的看门狗类型,如独立看门狗或窗口看门狗,并合理配置其参数。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

147

主题

4359

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部