在一些复杂的环境中,例如车间或工厂,尤其是在存在大型机电设备的环境中,我们的电源信号和通信信号很可能会受到干扰。
因此,在这种情况下,我们需要在软件和硬件方面都采取一些预防措施。
除了需要外接复位集成电路(IC),为了确保系统能够稳定长时间运行,我们可能还需要添加看门狗(watchdog)。
本文将重点介绍复位IC和看门狗的相关内容。
为什么在STM32中需要外接复位芯片?
STM32系列微控制器都有一个最低工作电压(例如1.8V)。当电源电压降至低于微控制器所要求的最低工作电压时,微控制器的工作可能会变得混乱,导致程序运行错误,甚至引起整个系统死机或误动作等现象。为了防止这种情况的发生,外接复位芯片在STM32中是必要的。
使用复位IC的原理是通过确定的电压值(阈值)启动复位操作,同时排除瞬间干扰的影响,又有防止MCU在电源启动和关闭期间的误操作,保证数据安全。
STM32看门狗设计和复位
STM32具有IWDG独立看门狗、WWDG窗口看门狗两种类型的看门狗。
独立看门狗由****专用的低速时钟(LSI)驱动,即使主时钟发生故障它也仍然有效。而窗口看门狗由从APB1时钟分频后得到的时钟驱动,通过可配置的时间窗口来检测应用程序非正常的过迟或过早的操作。
看门狗复位就是超过一定时间没有喂狗,看门狗就会发出一个复位信号。
看门狗和复位IC同时存在的注意事项
之前有工程师遇到一个问题:STM32外接了复位IC,发现自己的看门狗不起作用,也就是说****看门狗不能复位。
这个问题可能很少有人遇到过,我这里就先给大家讲讲原因,避免以后你以后入坑。
想要明白这里面原因,就需要对复位电路结构和原理做一定的了解。
STM32复位
STM32的复位主要分为三类:系统复位、电源复位和后备域复位。
系统复位:
\1. NRST引脚上的低电平(外部复位)
\2. 窗口看门狗计数终止(WWDG复位)
\3. 独立看门狗计数终止(IWDG复位)
\4. 软件复位(SW复位)
\5. 低功耗管理复位
电源复位:
\1. 上电/掉电复位(POR/PDR复位)
\2. 从待机模式中返回
备份区域复位:
\1. 软件复位,备份区域复位可由设置备份域控制寄存器(RCC_BDCR)中的BDRST位产生。
\2. 在VDD和VBAT两者掉电的前提下, VDD或VBAT上电将引发备份区域复位。
可以参看文章:STM32复位来源,Cotrex-M系统与内核复位区别
STM32复位内部结构图
出现问题的电路图如下:
如果外接了复位IC,这里就需要大家认真看上面两图。
一个重要的信息:外接复位IC驱动类型为 CMOS 推拉型驱动。
相信大家看到这里已经明白了为什么。其实,解决办法就是:将电路中0Ω电阻改为 1K 电阻。
本文就讲到这里,希望你以后遇到类似问题,不会再犯这种低级的错误。
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !