0 卖盘信息
BOM询价
您现在的位置: 首页 > 电子资讯 >基础知识 > ARM开发中,WatchDog看门狗的介绍

ARM开发中,WatchDog看门狗的介绍

来源: elecfans
2020-09-02
类别:基础知识
eye 77
文章创建人 拍明

原标题:ARM开发中,WatchDog看门狗的介绍

在 ARM 开发中,看门狗(WatchDog Timer, WDT) 是一种关键的硬件或软件机制,用于监控系统运行状态,防止因软件故障(如死循环、无限阻塞、非法指令等)导致系统失控。其核心作用是通过 定时检测 和 强制复位 确保系统在异常时自动恢复,提升嵌入式系统的可靠性。以下是 ARM 开发中看门狗的核心要点:


一、看门狗的核心作用

  1. 故障检测
    通过计数器监控系统运行状态,若未在规定时间内收到“喂狗”信号,则判定系统异常。

  2. 自动恢复
    触发复位或中断,强制重启系统或进入安全模式,避免持续故障。

  3. 容错设计
    适用于无人值守、高可靠性场景(如工业控制、汽车电子、医疗设备)。


二、ARM 看门狗的分类

1. 独立硬件看门狗

  • 特点

    • 由独立时钟源(如低速内部振荡器 LSI)驱动,与主系统时钟解耦,即使 CPU 挂死仍可工作。

    • 复位信号直接连接到芯片复位引脚,强制重启系统。

    • 配置简单,但灵活性较低(通常仅支持超时时间配置)。

  • 典型应用
    STM32(IWDG)、NXP Kinetis(WWDT)、TI AM335x(ARM Cortex-A 系列)等芯片的独立看门狗模块。

2. 软件模拟看门狗

  • 特点

    • 通过系统定时器(如 SysTick)或通用定时器(TIM)模拟计数器。

    • 需手动实现喂狗逻辑和超时处理(如触发中断或软件复位)。

    • 灵活性高,但依赖主系统时钟,可靠性低于硬件看门狗。

  • 适用场景
    无硬件看门狗或需更复杂控制逻辑的场景(如动态调整喂狗间隔)。

3. 窗口看门狗(Window Watchdog, WWDG)

  • 特点

    • 增加喂狗时间窗口限制:必须在 特定时间范围内 喂狗(过早或过晚均触发复位)。

    • 防止程序因逻辑错误提前喂狗(如未完成关键任务)或延迟喂狗(如陷入死循环)。

  • 典型应用
    对实时性要求高的场景(如电机控制、通信协议栈)。


三、看门狗的关键配置

  1. 超时时间

    • 根据主程序最长执行时间设定,需预留安全余量(如主任务最长耗时 500ms,超时时间可设为 1s)。

    • 硬件看门狗通常通过预分频和重装载值配置;软件看门狗通过定时器周期调整。

  2. 喂狗策略

    • 定期喂狗:在主循环或关键任务中周期性喂狗。

    • 任务完成触发:在关键任务执行完毕后喂狗(需确保任务不会超时)。

    • 优先级控制:高优先级任务不应被喂狗操作阻塞(如通过中断上下文喂狗)。

  3. 复位处理

    • 硬件看门狗复位后,系统从初始状态重新运行。

    • 软件看门狗可记录复位原因(如通过全局变量或 EEPROM),便于故障诊断。


四、看门狗的注意事项

QQ_1751440954519.png


  1. 避免误触发

    • 超时时间需大于主程序最长执行时间,且考虑中断延迟、任务调度等影响因素。

    • 窗口看门狗需精确控制喂狗时间窗口,避免因时钟漂移导致误复位。

  2. 多任务系统设计

    • 在 RTOS 中,需确保所有关键任务均能按时喂狗(如通过看门狗任务或任务间同步机制)。

    • 避免因低优先级任务阻塞导致喂狗失败。

  3. 低功耗模式兼容性

    • 在休眠模式下,需调整看门狗时钟源或暂停计数(如使用低功耗定时器)。

    • 唤醒后需重新初始化看门狗或恢复计数。

  4. 安全关键场景

    • 对安全性要求高的系统(如航空航天、核电控制),需采用 双看门狗(硬件+软件)或 冗余设计


五、看门狗的优化实践

  1. 动态调整超时时间

    • 根据系统负载或任务优先级动态调整喂狗间隔(如空闲时延长超时时间)。

  2. 看门狗与心跳机制结合

    • 通过看门狗监控关键模块的心跳信号(如通信链路、传感器数据),超时后触发降级处理。

  3. 故障日志记录

    • 在复位前记录系统状态(如寄存器值、任务栈信息),便于后续分析。

  4. 测试验证

    • 通过故障注入测试(如强制不喂狗、模拟死循环)验证看门狗的可靠性。


六、总结

  • 硬件看门狗:简单可靠,适用于大多数 ARM 嵌入式系统,优先选择独立时钟源的模块。

  • 软件看门狗:灵活但依赖主系统,需谨慎设计以避免自身故障。

  • 窗口看门狗:适合对实时性要求高的场景,需精确控制喂狗时机。

  • 核心原则:看门狗是系统安全的最后一道防线,需结合具体场景合理设计,避免“形同虚设”或“过度敏感”。


责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

上一篇: 已是第一篇
标签: ARM 看门狗

相关资讯

资讯推荐
云母电容公司_云母电容生产厂商

云母电容公司_云母电容生产厂商

开关三极管13007的规格参数、引脚图、开关电源电路图?三极管13007可以用什么型号替代?

开关三极管13007的规格参数、引脚图、开关电源电路图?三极管13007可以用什么型号替代?

74ls74中文资料汇总(74ls74引脚图及功能_内部结构及应用电路)

74ls74中文资料汇总(74ls74引脚图及功能_内部结构及应用电路)

芯片lm2596s开关电压调节器的中文资料_引脚图及功能_内部结构及原理图_电路图及封装

芯片lm2596s开关电压调节器的中文资料_引脚图及功能_内部结构及原理图_电路图及封装

芯片UA741运算放大器的资料及参数_引脚图及功能_电路原理图?ua741运算放大器的替代型号有哪些?

芯片UA741运算放大器的资料及参数_引脚图及功能_电路原理图?ua741运算放大器的替代型号有哪些?

28nm光刻机卡住“02专项”——对于督工部分观点的批判(睡前消息353期)

28nm光刻机卡住“02专项”——对于督工部分观点的批判(睡前消息353期)

拍明芯城微信图标

各大手机应用商城搜索“拍明芯城”

下载客户端,随时随地买卖元器件!

拍明芯城公众号
拍明芯城抖音
拍明芯城b站
拍明芯城头条
拍明芯城微博
拍明芯城视频号
拍明
广告
恒捷广告
广告
深亚广告
广告
原厂直供
广告