MCU电路为什么要使用复位芯片?

2019-04-15 13:22发布

640?wx_fmt=jpeg前不久有朋友大概问了这么一个问题:博主,在复杂的环境下,干扰有点大,有必要外接一个复位IC吗?

1写在前面

我们都知道在复杂环境,比如一些工厂,特别是在有大型机电设备的环境下,我们的电源信号、通信信号都有可能受到干扰。
那么,在这种情况下,我们软件和硬件都有必要做一定预防处理。
除了需要外接复位IC,同时,为了系统能稳定长期的工作,我们可能还有必要添加看门狗
本文就围绕复位IC、看门狗展开相关内容的讲解。

2MCU电路为什么要使用复位芯片?STM32都有一个最低工作电压(比如1.8V),当电源电压跌落到低于MCU所要求的最低值时,MCU工作可能发生混乱,造成程序跑飞,引起整机死机、误动作等现象。
使用复位IC的原理是通过确定的电压值(阈值)启动复位操作,同时排除瞬间干扰的影响,又有防止MCU在电源启动和关闭期间的误操作,保证数据安全。

3看门狗设计和复位STM32具有IWDG独立看门狗、WWDG窗口看门狗两种类型的看门狗。
独立看门狗由专用的低速时钟(LSI)驱动,即使主时钟发生故障它也仍然有效。而窗口看门狗由从APB1时钟分频后得到的时钟驱动,通过可配置的时间窗口来检测应用程序非正常的过迟或过早的操作。
看门狗复位就是超过一定时间没有喂狗,看门狗就会发出一个复位信号。

4看门狗和复位IC同时存在的注意事项之前有工程师遇到一个问题:STM32外接了复位IC,发现自己的看门狗不起作用,也就是说看门狗不能复位
这个问题可能很少有人遇到过,我这里就先给大家讲讲原因,避免以后你以后入坑。
想要明白这里面原因,就需要对复位电路结构和原理做一定的了解。
1.STM32复位1. NRST引脚上的低电平(外部复位)2. 窗口看门狗计数终止(WWDG复位)3. 独立看门狗计数终止(IWDG复位)4. 软件复位(SW复位)5. 低功耗管理复位
STM32复位内部结构图
640?wx_fmt=png
出现问题的电路图如下:640?wx_fmt=png
如果外界了复位IC,这里就需要大家认真看上面两图。
一个重要的信息:外接复位IC驱动类型为 CMOS 推拉型驱动
相信大家看到这里已经明白了为什么。其实,解决办法就是:将电路中0Ω电阻改为 1K 电阻。
本文就讲到这里,希望你以后遇到类似问题,不再有犯这种低级的错误。

推荐阅读与复位相关的文章:
1.STM32片上外设时钟使能、失能和复位的区别
2.STM32复位类型/来源
3.有一种修饰符能使变量在处理器复位而不被初始化
4.STM32内核复位与系统复位区别及应用640?
1.10年,嵌入式系统联谊会感恩有你!2.e络盟《嵌入式系统访谈》电子书可以下载啦!
3.嵌入式软件开发编程规范很重要,很重要,很重要!4.编程语言 11 月排行:万年不变的前三,Go终于进前十
5.Arm中国“周易”人工智能平台可以降低算力成本!6.微软“黑历史”:一个活了 45 年的愚蠢 Bug!640?wx_fmt=gif本文来自个人微信公众号「ID:strongerHuang」,经原作者授权发布。原文公众号由嵌入式工程师「strongerHuang」在精心整理并维护。专注分享的内容包含:Keil、IAR、STM8、STM32、μC/OS、FreeRTOS、CANOpen、ModBus...