2、硬件看门狗选型:MAX6369、TPS3431等常用芯片对比,WDI引脚时序要求,以及我在心电监护仪项目中踩过的复位电平坑。
看门狗选型这事儿,说简单也简单,说坑也真坑。我这些年经手过好几个医疗项目,从血氧仪到心电监护仪,几乎每个产品都离不开看门狗。今天咱们就聊聊硬件看门狗芯片怎么选,重点拿MAX6369和TPS3431这两款常用芯片做个对比,再讲讲WDI引脚的时序要求——嗯,这部分最容易出问题。
2.1 为什么硬件看门狗比软件看门狗更可靠?
你可能会问:我软件里写个定时器不也能喂狗吗?为什么非要加个硬件芯片?
我个人习惯是:只要产品要通过医疗认证(比如IEC 60601),硬件看门狗几乎是必选项。软件看门狗有个致命问题——如果MCU跑飞了,中断都进不去,你的喂狗代码根本执行不了。说白了,软件看门狗防的是“轻度异常”,硬件看门狗防的是“系统彻底崩了”。
我在项目中遇到过一种情况:MCU因为电源纹波导致PC指针跳到了随机地址,软件看门狗完全失效,最后还是靠硬件看门狗拉了一手复位才救回来。
2.2 MAX6369 vs TPS3431:核心参数对比
这两款芯片是我在医疗项目里用得最多的。先看一张对比表:
| 参数 | MAX6369 | TPS3431 |
|---|---|---|
| 供电电压 | 1.6V ~ 5.5V | 1.8V ~ 6.5V |
| 超时周期 | 1.6s(固定) | 可编程(1.6s / 3.2s / 6.4s) |
| 复位输出 | 低电平有效,推挽输出 | 低电平有效,开漏输出 |
| WDI输入阈值 | 0.3×VCC ~ 0.7×VCC | 0.3×VCC ~ 0.7×VCC |
| 工作温度 | -40°C ~ +85°C | -40°C ~ +125°C |
| 封装 | SOT-23-5 | SOT-23-6 |
从表格能看出来,MAX6369更简单,适合固定超时场景;TPS3431更灵活,超时时间可调。但我要提醒你一点:TPS3431的开漏输出需要外部上拉电阻,很多人第一次用的时候会忽略这个细节。
2.3 WDI引脚时序要求——最容易踩的坑
WDI(Watchdog Input)引脚是看门狗芯片的“喂狗口”。它的时序要求其实很明确:
- 喂狗脉冲宽度:通常要求 ≥ 100ns(MAX6369)或 ≥ 50ns(TPS3431)
- 喂狗间隔:必须在超时周期内完成一次喂狗
- 脉冲电平:必须从低到高再回到低,或者从高到低再回到高
这里有个关键点:喂狗脉冲不能太窄,也不能太宽。太窄了芯片检测不到,太宽了可能被误判为“持续高电平”或“持续低电平”,导致看门狗误复位。
重要提醒:WDI引脚在芯片内部通常有施密特触发器,输入阈值是VCC的30%~70%。如果你的MCU是3.3V供电,WDI的高电平必须大于2.31V,低电平必须小于0.99V。这个范围看起来宽松,但实际项目中因为走线过长或电平转换问题,很容易踩线。
我曾经在一个项目中,MCU的GPIO输出高电平只有2.8V(因为驱动能力不足),而看门狗芯片的VCC是5V,导致WDI高电平只有2.8V,低于0.7×5V=3.5V的阈值。结果看门狗一直认为没喂到狗,每隔1.6s就复位一次。查了整整两天才找到原因。
2.4 我在心电监护仪项目中踩过的复位电平坑
这个坑我印象特别深。当时做一款便携式心电监护仪,主控用的是STM32F4,看门狗选的是MAX6369。原理图设计时,我把看门狗的复位输出直接连到了MCU的NRST引脚。
问题来了:MAX6369的复位输出是推挽输出,低电平有效。而STM32的NRST引脚内部已经有一个上拉电阻(约40kΩ到VCC)。当看门狗输出低电平时,两个驱动源同时拉低,没问题。但当看门狗释放复位时,它的推挽输出会主动拉高到VCC,而MCU的NRST引脚也被上拉到VCC——看起来没问题对吧?
但实际测试时发现:系统偶尔会莫名其妙地反复复位。用示波器一抓,发现NRST引脚上有毛刺。原因在于:MAX6369的推挽输出和MCU内部上拉电阻之间存在短暂的“竞争”,导致复位电平在释放瞬间出现抖动。
避坑指南:我曾经因为这个坑,在产线上报废了200多块板子。后来总结出三条经验:
- 如果看门狗是推挽输出,MCU的NRST引脚上不要再加外部上拉电阻
- 如果看门狗是开漏输出,必须加外部上拉电阻,阻值建议4.7kΩ~10kΩ
- 在NRST引脚上加一个100nF的电容到地,可以有效滤除毛刺
2.5 选型建议
说了这么多,到底怎么选?我个人的经验是:
- 项目简单、成本敏感:选MAX6369,固定1.6s超时,SOT-23-5封装,外围电路极简
- 需要灵活配置:选TPS3431,超时时间可调,工作温度范围更宽
- 高可靠性场景:可以考虑带窗口看门狗功能的芯片,比如MAX6368(超时窗口可调)
最后说一句:看门狗芯片的选型,不要只看数据手册上的参数,一定要结合你的MCU复位电路一起分析。复位电平的匹配问题,说白了就是电平驱动能力和上拉/下拉电阻的配合。你想想看,一个毛刺就能让整个系统反复重启,这种问题在医疗设备里是绝对不允许的。
小技巧:在原理图设计阶段,就把看门狗芯片的复位输出和MCU的复位输入用示波器仿真一下。我习惯在NRST引脚上预留一个测试点,方便调试时抓波形。这个习惯帮我省了不少事。