当前位置: 首页 > news >正文

STM32复位电路解析

前言

今天讲讲STM32的复位电路。单片机基本都有复位功能,做开发板的厂商都需要做复位电路来确保复位功能可用,我写这篇文章主要有两个原因😎

  1. 因为这个复位电路其实是很简单的,所以中文互联网下关于复位电路的解析太少
  2. 大多数教程都不讲人话,对不懂电路设计的新手很难看懂
    所以我结合了以往的经验,用最简单的方式实现讲讲复位电路的原理

解析

可以看这张图,是一个经典的复位电路设计,我截取了正点原子的stm32精英开发板的设计,这里先说结论,你先记住:这个电路是采取低电平复位的
他一共只会有两种状态

  1. 上电复位
  2. 手动按下按键进行复位

在这里插入图片描述

功能一:上电复位 (Power-On Reset)

这个功能,就好比给MCU一个“开机启动流程”,确保它在刚通电的时候,能在一个稳定、可预测的状态下“醒来”,而不是迷迷糊糊地乱跑。

  1. 通电瞬间 (t=0)——“电容还没睡醒”:我们先把复位按键那一路就擦掉,先不看,可以看到,VCC3.3经过R2电阻后,一条前往了RESET通往stm32芯片内部,一条前往了C10电容接地,当VCC3.3V电源刚接通的那一刹那,电容器C10两端的电压可不能“突变”(这里电容的一个非常重要的特性)!因为它还没来得及充电呢,所以电压还是0V

在这里插入图片描述

  1. 芯片进入复位状态:由于 C10 连接在 RESET 引脚和 GND 之间,根据并联电路电压相等的规律,所以 RESET 引脚在通电瞬间的电压也为 0V(低电平)。STM32 芯片检测到 RESET 引脚为低电平,就会进入并保持在复位状态
  2. RC充电延时:紧接着,电流从 VCC3.3 通过上拉电阻 R2 开始向电容 C10 充电。RESET 引脚上的电压(即C10两端的电压)会按照 RC 充电曲线逐渐上升。
  3. 芯片解除复位:当 RESET 引脚的电压上升到超过 STM32 芯片的复位阈值电压(一个特定的电压值,例如 1.8V)时,芯片的复位逻辑便会释放,CPU 开始从启动地址执行程序。

这个延时的意义是什么? 它确保了在 CPU 开始工作之前,系统的电源(VCC3.3)已经完全稳定下来,避免了因电源不稳而导致的程序启动异常。这个延时的时间由 R2 和 C10 的值决定,不过鉴于是新手向,这里我们不深入探讨这两个值与延时时间的关系

功能二:手动复位 (Manual Reset)

这个功能就更直接了,它允许咱们用户或者外部设备,随时随地都能强制STM32“重启”一次。

  1. 正常工作时:按键没有被按下。C10 已经充满电,如下图所示,我们可以直接认为电容那一路是断路,说人话就是电流不会从C10电容那一路通过,VCC3.3经过R2电阻与``RESET相连,RESET` 引脚被 R2 稳定地保持在 3.3V 高电平,MCU 正常运行。

在这里插入图片描述

  1. 按下按键时:当按下按键,开关闭合,它会立即将 RESET 引脚直接连接到 GND

这里我懒得P图了,你就脑部一下按键是按下的状态吧😋

在这里插入图片描述

  1. 芯片进入复位状态:还是根据电路的并联电压相等规律,VCC3.3V被直接接到了GND,RESET 引脚的电平瞬间被拉低到 0V。同时,电容 C10 通过这个闭合的开关被快速放电。芯片检测到低电平后,立即进入复位状态。

  2. 松开按键时:当用户松开按键,开关断开。此时的情况就和“上电复位”完全一样了:RESET 引脚为 0V,R2 再次开始对 C10 充电,直到电压超过复位阈值,芯片才会重新启动。

附加功能:滤波抗干扰

电容 C10 的存在,使得 RESET 引脚对电源或空间中的一些微小、快速的噪声脉冲不那么敏感。一个短暂的负向毛刺信号可能没有足够的能量将 C10 的电压拉到复位阈值以下,从而避免了意外的复位,增强了系统的稳定性。

总结

其实这个不单止是stm32的复位电路解析,基本上在思路上,所有单片机都是复位电路都是适用的,只要你明白了其中的原理,就能快速判断出这个单片机是低电平复位还是高电平复位

http://www.dtcms.com/a/312569.html

相关文章:

  • Java常用英语单词
  • adb 与pad 交互方法
  • PPT自动化 python-pptx - 9: 图表(chart)
  • 服务器中切换盘的操作指南
  • Jetson Orin NX/NANO+ubuntu22.04+humble+MAVROS2安装教程
  • Kafka——常见工具脚本大汇总
  • /usr/bin/ld: 找不到 -lev
  • stm32f103重新上电后前面的打印内容无法打印出来的原因
  • Springboot 04 starter
  • 分布式文件系统05-生产级中间件的Java网络通信技术深度优化
  • ClickHouse Windows迁移方案与测试
  • HiveMQ 2024.9 设计与开发文档
  • 知识随记-----MySQL 连接池健康检测与 RAII 资源管理技术
  • Timer串口常用库函数(STC8系列)
  • Docker--解决x509: certificate signed by unknown authority
  • 系统学习算法:专题十六 字符串
  • 基于SpringBoot+MyBatis+MySQL+VUE实现的电商平台管理系统(附源码+数据库+毕业论文+部署教程+配套软件)
  • WSUS服务器数据库维护与性能优化技术白皮书
  • Leetcode 12 java
  • CSS 预处理器(Preprocessor)和后处理器(Postprocessor)
  • python工具方法51 视频数据的扩充(翻转、resize、crop、re_fps)
  • 01.MySQL 安装
  • 仓库管理系统-15-前端之管理员管理和用户管理
  • 01数据结构-时间复杂度和空间复杂度
  • 每日五个pyecharts可视化图表-bars(2)
  • HCIP笔记(第四章)
  • Flutter各大主流状态管理框架技术选型分析及具体使用步骤
  • 网络原理 - TCP/IP
  • 计算机网络(TCP篇)
  • PPT自动化 python-pptx - 10 : 表格(tables)