MCU的复位电路

第一个blog,记录&分享

2.复位电路

定义:一般单片机里面都会有复位电路,比较熟悉的有上电复位和手动复位,具体这两个复位用下面这个电路就解决了。一般复位电平为低电平有效,高电平无效。一般对于整个系统来讲,刚开始时候也就是系统上电的情况下,整个系统是一定要进行复位的,这时候不允许其他事件的进行。整个系统工作是要一定时间的,特别是晶振起振是要时间的。那就需要系统上电复位,但当整个系统正常运转时候就可以不进行复位了。有时候在整个系统跑飞时候,可以人为的进行手动复位也是非常必要的,这时候系统就恢复到初始状态开始正常工作了。

 

 

 

 

下面对于复位电路进行分析,刚开始时候,系统一上电时,电容两端是没有电平的,也就是电平为0,而复位端一般是低电平有效,这时候整个电路上电时候就是复位的,这就是上电复位了。当电容两端充电到单片机认为的高电平时候(一般为0.7VDD),这时候复位端为高电平了,那复位端就无效,系统开始正常工作了。

这里不妨将充电到0.7VDD的时间计算下,这个时间一般单片机手册中会给,这样可以确定R和C的数值。

一般的电容充放电公式如下:

Vo为初始电压,Ve为电容充的终止电压,Vt为任意t时刻的电容上的电压。则Vt = Vo + (Ve - Vo) * (1 - e(t/RC))

换算一下电容从Vo充电到Vt的时间计算公式:t = RC* In((Ve - Vo)/(Ve - Vt))

上面原理图中的R为20K,C为0.1uF,下方的图中ST芯片手册最后一行中Reset参数给出的时间要大于1ms

t=RC*In[(3.3-0)/(3.3-2.31)]=2ms    

对于手动复位,当按下按键时候,电容短路,自身将不断放电,当放电到单片机复位端认为的低电平时候(一般为0.3VDD),单片机进行复位,这个复位时间应该来说肯定是远远大于1ms的,人为的按下按键的时间差不多至少为20ms

 

posted @   idea~  阅读(2152)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示