3、硬件看门狗设计:外部看门狗芯片选型、复位电路设计、喂狗信号完整性分析
各位做医疗嵌入式的朋友,咱们接着聊。上一章讲了内部看门狗,说白了就是MCU自带的那个。但说实话,在医疗设备里,我个人的习惯是——必须上外部看门狗。为什么?因为内部看门狗一旦MCU挂了,它自己也跟着完蛋。你想想看,这就像让病人自己给自己把脉,万一晕过去了,谁救你?
3.1 外部看门狗芯片选型:别只看价格
选型这事儿,我踩过不少坑。最早做一款输液泵,图便宜选了颗几毛钱的通用看门狗。结果呢?在EMC测试时频繁误复位。后来换了带抗干扰能力的专用芯片,问题才解决。
选型时,我建议重点关注这几个参数:
- 超时时间范围:医疗设备通常需要1.6秒到几十秒不等。别选太短的,否则喂狗窗口太窄,容易误触发。
- 喂狗窗口精度:有些芯片允许±15%的误差,有些能做到±5%。我一般选±10%以内的,太松了不安全,太紧了难伺候。
- 复位输出类型:推挽输出还是开漏输出?这直接影响你的复位电路设计。我个人偏爱开漏,方便做多源复位。
- 工作电压范围:医疗设备常用3.3V和5V系统。注意看芯片的VCC范围是否覆盖你的电源波动区间。
- 抗干扰能力:这个最容易被忽略。我曾在项目中遇到过,静电放电时看门狗自己先复位了——这哪行?
| 参数 | 推荐范围 | 我的经验值 |
|---|---|---|
| 超时时间 | 1.6s ~ 60s | 输液泵用3.2s,监护仪用1.6s |
| 喂狗窗口精度 | ±5% ~ ±15% | 选±10%以内,别太纠结 |
| 工作电压 | 2.7V ~ 5.5V | 3.3V系统选2.7V~5.5V的 |
| 复位输出 | 开漏或推挽 | 开漏更灵活,可接多个复位源 |
3.2 复位电路设计:别让看门狗变成捣蛋鬼
复位电路看着简单,其实门道不少。我记得有一次,一个同事设计的复位电路,看门狗复位信号和手动复位按钮直接连在一起。结果呢?按复位按钮时,看门狗也复位了,然后看门狗又开始计时,MCU还没跑起来又被复位了——死循环!
设计时,我一般遵循这几个原则:
- 复位信号要干净:加一个10kΩ上拉电阻到VCC,再加一个0.1μF电容到GND。这能滤掉大部分毛刺。
- 多源复位要隔离:如果同时有看门狗复位、手动复位、电源监控复位,用二极管隔离。每个复位源串一个1N4148,防止互相干扰。
- 复位时间要够长:看门狗输出的复位脉冲通常只有几百毫秒。但有些MCU需要更长的复位时间。我习惯在复位线上加一个RC延时,确保MCU能完全复位。
- 注意上电顺序:有些MCU要求复位信号在电源稳定后再释放。看门狗芯片一般自带这个功能,但如果你自己搭电路,别忘了加一个电源监控。
3.3 喂狗信号完整性分析:别让信号死在路上
喂狗信号,说白了就是MCU定期给看门狗芯片发一个脉冲。但就是这个简单的脉冲,经常出问题。
为什么会这样?因为喂狗信号通常是从MCU的GPIO口出来的,经过PCB走线,再到看门狗芯片的WDI引脚。这段路上,什么妖蛾子都可能发生。
我遇到过最典型的问题:
- 信号反射:走线太长,阻抗不匹配,导致脉冲变形。看门狗芯片收不到有效的喂狗信号,直接复位。
- 串扰:喂狗信号线旁边跑着高频时钟或PWM信号,耦合过来的噪声让看门狗误判。
- 地弹:大电流切换时,地电位瞬间抬高,喂狗信号被淹没在噪声里。
怎么解决?我分享几个实战经验:
- 走线要短:喂狗信号线尽量控制在5cm以内。如果实在绕不开,加一个33Ω的串联电阻,抑制过冲。
- 包地处理:在喂狗信号线两侧各加一条地线,间距至少3倍线宽。这能有效降低串扰。
- 加滤波电容:在看门狗芯片的VCC引脚和GND之间,放一个0.1μF的陶瓷电容,位置越近越好。这能稳定供电,减少地弹影响。
- 用示波器看波形:这个最重要。我每次打样回来,第一件事就是拿示波器看喂狗信号的波形。看它的上升沿、下降沿、幅度、毛刺。如果波形不干净,赶紧改。
喂狗信号完整性检查清单:
- ✅ 脉冲宽度是否在芯片要求的范围内?(通常100ns~几ms)
- ✅ 脉冲幅度是否达到芯片的VIH/VIL要求?
- ✅ 上升/下降时间是否小于芯片规定的最大值?
- ✅ 信号线上是否有超过VCC+0.3V的过冲?
- ✅ 喂狗间隔是否稳定,没有抖动?
嗯,说到喂狗间隔,这里有个容易犯的错。有些工程师在中断里喂狗,觉得这样最及时。但你想过没有,如果主程序死循环了,中断还在跑,看门狗照样被喂得饱饱的——这等于白装了。
我个人的做法是:在主循环的多个关键节点喂狗。比如,在读取传感器数据后、在更新显示后、在发送通信数据后,各喂一次。这样,任何一个环节卡住,看门狗都能及时发现。
最后,说一个很多人忽略的点:看门狗芯片本身也会坏。虽然概率很低,但在医疗设备里,我们不能赌。我建议在设计中加入看门狗健康监测机制。比如,用一个独立的定时器定期检查看门狗是否还在工作。如果发现看门狗失效,立即进入安全状态。
好了,这一章就聊到这儿。外部看门狗设计,说白了就是三个字:稳、准、狠。选型要稳,电路要准,喂狗要狠。下一章我们聊聊软件看门狗和硬件看门狗怎么配合,那才是真正的双保险。