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多块板子。后来总结出三条经验:

  1. 如果看门狗是推挽输出,MCU的NRST引脚上不要再加外部上拉电阻
  2. 如果看门狗是开漏输出,必须加外部上拉电阻,阻值建议4.7kΩ~10kΩ
  3. 在NRST引脚上加一个100nF的电容到地,可以有效滤除毛刺

2.5 选型建议

说了这么多,到底怎么选?我个人的经验是:

  • 项目简单、成本敏感:选MAX6369,固定1.6s超时,SOT-23-5封装,外围电路极简
  • 需要灵活配置:选TPS3431,超时时间可调,工作温度范围更宽
  • 高可靠性场景:可以考虑带窗口看门狗功能的芯片,比如MAX6368(超时窗口可调)

最后说一句:看门狗芯片的选型,不要只看数据手册上的参数,一定要结合你的MCU复位电路一起分析。复位电平的匹配问题,说白了就是电平驱动能力和上拉/下拉电阻的配合。你想想看,一个毛刺就能让整个系统反复重启,这种问题在医疗设备里是绝对不允许的。

小技巧:在原理图设计阶段,就把看门狗芯片的复位输出和MCU的复位输入用示波器仿真一下。我习惯在NRST引脚上预留一个测试点,方便调试时抓波形。这个习惯帮我省了不少事。