从零开始的stm32最小系统板——(2)复位电路

一、复位电路

        首先明白复位是什么意思,在stm32中,复位就是将stm32的硬件和软件恢复到最初的原始状态。

        复位的目的是清除当前的程序运行状态,包括寄存器的值、内存的内容以及外设的配置,从而使控制器能够重新开始执行程序。举个例子来说,你做一个实验,验证GPIO的输出,你点了一个灯,控制着亮3秒就灭,然后启动程序,但是程序启动后你手机电话响了,你去接电话,从而导致你没有看到实验现象,你就可以按一下复位电路从而使程序重新执行一次。

        好的弄清楚了复位是个什么东西了,那么我们如何做到复位呢?stm32的复位方式有很多种,包括:

      外部复位、窗口看门狗计数终止、独立看门狗计数终止、软件复位、低功耗复位。

        这么多种复位是不是很恶心,别怕,对于硬件电路的设计,我们只需要外部复位就OK。

什么是外部复位?

 

通过翻阅手册我们可以知道,外部复位就是NRST引脚上的低电平,因此我们只需要给NRST引脚置一个低电平,也就是接地被呗。 对于这个低电平,其实还有特殊的要求,就是:要最小20us,这个是手册上说明的。

二、电路设计

了解了这么多,如何设计一个复位电路呢?不妨这样设计,NRST正常情况下引脚接一个高电平,就是3.3V,同时通过一个按动开关接地,当我们不需要复位时候,引脚始终是高电平,当我们需要复位时候,按动开关,就复位了。这个设计很棒。我们将其画出来: 

 

但是对于这个电路来说,存在一定的漏洞,NRST直接接3.3V,相当于与3.3短路,此时按下按键,可能会造成电源短路的现象。因此我们需要改进。

我们的改进方法是:NRST引脚通过一个10K的上拉电阻接到3.3V,同样按键和一个10uf的电容并联接地,如图:

这么做的好处是:

【1】通过10k的上拉电阻,避免了NRST引脚悬空的时候电平不稳定的状态,同时配合stm32内部的上拉电阻,使得复位更精确。 

【2】这里的C1电容很巧妙,首先能够消除按键按下的按键抖动现象,其次可以平滑电源电压,使得NRST引脚电平更稳定。

【3】这个电路可以做到上电自动复位,就是通电瞬间可以自己复位。电容和上拉电阻共同作用,一起构成一个简单的RC延时电路。当电源上电时,电容需要一定的时间来充电,从而使得NRST引脚在上电瞬间被拉低,完成复位操作。或者可以理解为电容充电的时候相当于短路,充满电才短路,刚上电的时候电容短路,引脚被拉低,就复位了。

        由此,我们得到了stm32最小系统的一个复位电路,从而实现按键复位和上电复位的功能。 

 

         

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值