看门狗定时器与系统可靠性设计¶
难度:🟡 中级 | 领域:系统可靠性 | 关键词:WDT, 窗口看门狗, 复位 | 阅读时间:约 16 分钟
日常类比¶
宿舍宿管定时查房:太久没应答就断电重启电脑。看门狗定时器(Watchdog Timer, WDT)在软件卡死时强制复位,是嵌入式可靠性底线[1][2]。
摘要¶
区分独立/窗口看门狗、喂狗策略、复位原因记录与物联网(IoT)现场排障。错误喂狗模式会掩盖死锁或引入误复位[2]。
1. 类型¶
| 类型 | 特点 |
|---|---|
| 标准 WDT | 超时未喂狗则复位 |
| 窗口 WDT | 太早/太晚喂狗都复位 |
| 外部 WDT | 独立芯片,抗同芯片故障 |
| 任务级监控 | RTOS 钩子检测任务饿死 |
2. 设计实践¶
| 做法 | 理由 |
|---|---|
| 主循环多条件满足再喂狗 | 避免中断里盲目喂狗 |
| 记录复位原因 | RCC/标志位帮助诊断 |
| 启动宽限 | 允许初始化 |
| 关键任务心跳 | 窗口或软件看门狗 |
| 反模式 | 后果 |
|---|---|
| 仅在 ISR 喂狗 | 主逻辑死了仍“健康” |
| 超时过短 | 正常抖动误复位 |
| 超时过长 | 故障恢复慢 |
| 关 WDT 调试遗留量产 | 现场失控 |
3. 局限、挑战与可改进方向¶
1. 同芯片共因失效¶
局限:MCU 时钟域全挂,片内 WDT 也可能失效。 改进:外部 WDT;电源监控[3]。
2. 误复位难复现¶
局限:现场偶发。 改进:面包屑日志、复位计数、保留 RAM 标记[2]。
3. 安全与看门狗交互¶
局限:安全状态被复位打断。 改进:按功能安全策略定义复位后安全输出[4]。
4. 多核/无线核¶
局限:应用核喂狗但协议栈死。 改进:多源健康聚合再喂狗[1]。
总结¶
看门狗是最后一道保险,不是调试替代品。用正确喂狗语义、复位取证与必要时外部监督,才能提升真实可用性。
参考文献¶
[1] MCU 看门狗应用笔记(ST/NXP 等). [2] 嵌入式可靠性与复位策略实践. [3] 外部看门狗芯片数据手册. [4] IEC 61508 语境下的监控与复位讨论. [5] 窗口看门狗时序说明. [6] RTOS 任务监控与软件看门狗. [7] 复位原因寄存器解读. [8] 电源监控(brown-out)与 WDT 配合. [9] 现场故障日志设计模式. [10] 汽车电子看门狗要求概述(对照). [11] 多核健康管理案例. [12] 调试时 WDT 处理与量产检查清单.