江协科技STM32学习笔记补充之003 :STM32复位电路的详细分析

电路作用与每个器件

  • R1(10 kΩ,上拉到 3V3)
    让 NRST 在无外力时保持高电平=不复位;同时与电容形成 RC,决定上电复位延时。阻值不能太小(否则调试器或芯片复位驱动下拉电流太大),10 kΩ是通用值。

  • K1(按键到 GND)
    人工复位。按下立即把 NRST 拉低=异步复位;松开后靠 R1 把 NRST 拉高,电容让上升沿变缓,起到去抖与延时作用。

  • C3(0.1 µF 到 GND)
    提供 上电/松手后的延时与抗干扰。抑制尖峰与毛刺,避免误复位;也能在电源很慢爬升时,保证“电源稳定后再释放复位”。

多数 STM32 的 NRST 口内置一只约 40–50 kΩ 的弱上拉;外接 10 kΩ 后并联等效约 8 kΩ,有利于抗干扰但不会过载拉低驱动。

上电与松手时序(为啥能“稳”)

上电或松开按键后,NRST 电压按 RC 充电关系上升:

$$
V_{NRST}(t) = V_{DD}\big(1-e^{-t/RC}\big), \quad R\approx 10\,\text{k}\Omega,\ C=0.1\,\mu\text{F}
$$

  • RC = 10k × 0.1µF = 1 ms

  • 当 NRST 的上升阈值取不同比例时,释放复位的近似时间:

    • $$0.5·VDD:t≈0.693 RC≈0.69t \approx 0.693\,RC \approx 0.69t≈0.693RC≈0.69 ms$$

    • $$0.7·VDD:t≈1.20 RC≈1.2t \approx 1.20\,RC \approx 1.2t≈1.20RC≈1.2 ms$$

    • $$0.8·VDD:t≈1.61 RC≈1.6t \approx 1.61\,RC \approx 1.6t≈1.61RC≈1.6 ms$$

这 1~2 ms 的延时确保:

  1. 上电后 等电源稳定再起跑

  2. 按键松开回弹的抖动被 RC 滤掉,不会刚松手就误判为已高电平。

传统“复位按键抖动”主要发生在松开瞬间,RC 能把高沿拉得更迟缓、更干净。

为何外部 RC 仍然必要(芯片已带 POR/BOR)

STM32 确有 上电复位 POR / 检测 PDR / 掉电复位 BOR,但外部 RC 仍然能提供:

  • 慢爬升电源噪声/浪涌更强的免疫力;

  • 配合 BOOT0(在 NRST 上升沿锁存)保证其电平已稳定;

  • 可靠的人工复位调试器控制(ST-Link 的 NRST 为开漏下拉,10 kΩ 不会影响)。

参数怎么选

  • 想更长的上电延时:把 C3 改为 1 µF(得 ~10 ms)、或 R1 改为 47 kΩ(得 ~4.7 ms)。

  • 干扰环境很重(电机、继电器旁):可把 C3 提到 220 nF~1 µF;或在 NRST 与芯片脚之间串 100–220 Ω 小电阻以限流、抑制快沿。(多数场景不必加)

  • 按键去抖:RC 已基本够用;若仍不稳,检查按键到地的走线与 ESD 路径。

布局布线建议

  • R1 与 C3 紧贴 MCU 的 NRST 脚放置,回地要短直;避免 NRST 线路穿越强噪声区;必要时用地铜“围一圈”。

  • 复位按键尽量靠近 MCU 一侧,长线可并联 小电容(几 pF~几十 pF) 或增加串阻,避免外界耦合。

  • 调试接口(SWD)到 NRST 的线也要短,避免形成天线引入毛刺。

常见问题与诊断

  • 无缘无故复位:多半是 NRST 进了毛刺或 VDD 掉电触发 BOR;示波看 NRST 是否出现短暂低脉冲,必要时增大 C3。

  • 复位牵连调试异常:R 太小或 C 太大都会让调试器拉不动或复位释放太慢;通常 10 kΩ + 100 nF 最稳妥。

  • 上电跑飞:电源爬升慢或 BOOT0 未稳,适当提高 RC 延时,或检查 BOOT0 的下拉是否足够(典型 10 kΩ→GND)。


结论
这套 10 kΩ 上拉 + 0.1 µF 到地 + 复位按键 的 NRST 电路,是 STM32 的经典、可靠做法。它在上电、人工复位与抗干扰方面提供恰到好处的延时与滤波,既不影响调试器拉低,也能保证系统在电源稳定后再释放复位。若现场环境更严苛,只需按需微调 R 或 C 即可。

如何理解,当按下按键后松开。这个时候电容相当于短路状态。当电容充满电后,电容相当于断路状态

“电容相当于短路 / 断路”的理解,来源于电容在不同工作阶段的等效电路模型,是一个很重要的电路分析思路

1. 电容的本质

电容的电流、电压关系是:

$$
i = C \dfrac{dv}{dt}
$$

意思是:电容上的电压不能突变,电容两端电压的变化速度决定了电流大小。


2. 按键按下(NRST 拉到 GND)

  • 这时电容一端被拉到 GND,另一端直接和按键相连,所以电容被迅速放电,电容两端电压接近 0。

  • 在电路角度:电容放电时瞬间电流较大,可以等效为短路,即电容就像一根导线,快速把残余电荷释放掉。


3. 松开按键(NRST 松开,上拉电阻+电容)

  • 松开后,R1 将电容上端拉向 3.3V

  • 电容两端电压从 0 V 开始充电,上升是一个指数曲线:

    $$
    V(t) = V_{DD}\left(1 - e^{-t/RC}\right)
    $$
  • 在刚开始时,电容电压为 0 V,相当于电容“还没充电”,此时它阻止电压突然跳变 → 等效为短路。

  • 随着电容逐渐充满电,电流越来越小,最终趋近于 0,相当于断路(开路),电容两端电压稳定在 VDD。


4. 总结直观理解

  • 刚接通电源或松开按键瞬间:电容两端电压不能立刻上升 → 电容就像短路,强行“拖住”节点电压不上升。

  • 电容充电完成后:电流停止流动 → 电容就像开路,不再影响电路。


👉 所以电容在瞬态过程中就是一个“短路到开路的过渡元件”:

  • 瞬态时短路(抑制电压突变,提供延时),

  • 稳态时开路(不影响直流工作点)。

画出了一个 等效电路状态图,更直观地展示了电容在 STM32 复位电路中,按键松开后从 短路 → 电阻状 → 开路 的演变过程:


阶段 1:松手瞬间(电容≈短路)

  • 电容两端电压 = 0 V

  • 电容强行“拖住”NRST 节点不让它马上升高 → 等效短路

  • MCU 保持在复位状态


阶段 2:充电过程(电容=电阻状)

  • 电容开始充电,电压逐渐上升

  • 电容阻抗介于 0 ~ ∞ 之间 → 等效成“电阻”

  • NRST 电压逐渐爬升,接近阈值(如 0.7·VDD)时,MCU 开始退出复位


阶段 3:稳态(电容≈开路)

  • 电容充满电,电流≈0

  • 电容相当于开路,不再影响电路

  • 此时 NRST 高电平稳定,由上拉电阻维持


📌 这样你可以很清楚地看到:电容就是通过“先短路、后逐渐放开、最后开路”的方式,保证复位信号有 稳定的低电平保持 + 平滑的释放上升沿

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/921378.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/921378.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot HTTP状态码详解

Spring Boot HTTP状态码完全指南:从入门到精通 前言 在RESTful API开发中,HTTP状态码是与客户端通信的重要桥梁。Spring Boot通过HttpStatus枚举提供了完整的HTTP状态码支持。本文将深入解析这些状态码的含义、使用场景以及在Spring Boot中的最佳实践。 …

怎样让外网计算机访问局域网计算机?通过公网地址访问不同内网服务的设置方法

局域网服务器提供公网访问,或指定某些端口应用资源给外地访问,都是常见跨网通信需求。在一些场景下,内部网络中的服务器需要通过公网地址进行访问,尤其是在没有固定公网IP或需要在外部访问时。为了解决这一问题,可以使…

Spring Boot启动失败从循环依赖到懒加载配置的深度排查指南

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 持续学习,不断…

从零开始学大模型之大语言模型

大语言模型 4.1 什么是 LLM 在前三章,我们从 NLP 的定义与主要任务出发,介绍了引发 NLP 领域重大变革的核心思想——注意力机制与 Transformer 架构。随着 Transformer 架构的横空出世,NLP 领域逐步进入预训练-微调范式,以 Tran…

如何将视频从 iPhone 转移到 Mac

将视频从 iPhone 转移到 Mac 是许多用户常见的需求。无论你是想备份重要的视频,还是希望在更大的屏幕上观看,以下方法都能帮助你轻松完成。方法一:使用 iReaShare iPhone ManageriReaShare iPhone Manager 是一款功能强大的工具,可…

五、Docker 核心技术:容器数据持久化之数据卷

Docker 容器本身是无状态且生命周期短暂的。当一个容器被删除时,它在可写层产生的所有数据都会随之消失。这对于需要持久化存储数据的应用 (如数据库、日志系统、用户上传内容) 来说是不可接受的。为了解决这个问题,Docker 提供了多种数据持久化方案&…

前端视觉交互设计全解析:从悬停高亮到多维交互体系(含代码 + 图表)

在前端用户体验领域,视觉交互是连接用户与产品的 “隐形桥梁”—— 它通过可视化信号传递操作意图、反馈系统状态,直接决定用户对产品的感知。很多开发者对视觉交互的认知停留在 “鼠标悬停高亮”,但实际上,视觉交互是一个覆盖 “…

从零打造商业级LLMOps平台:开源项目LMForge详解,助力多模型AI Agent开发!

最近,我发现了一个超级实用的开源项目——LMForge-End-to-End-LLMOps-Platform-for-Multi-Model-Agents(以下简称LMForge)。这个项目是一个端到端的LLMOps(Large Language Model Operations)平台,专为多模型…

【C++练习】06.输出100以内的所有素数

目录输出100以内的所有素数方法1:基础判断法方法2:埃拉托斯特尼筛法(效率更高)方法3:优化版筛法(只考虑奇数)方法4:使用STL算法方法5:递归实现总结: 输出100以…

在开发中使用git rebase的场景

rebase介绍 一、背景 远程仓库有oh4w-dev和oh4k-dev两个分支,oh4k-dev是基于oh4w-dev开发到80%的代码新拉的分支;此后两条分支同步开发,当oh4k-dev开发完成,oh4w-dev还在开发阶段,oh4k-dev需要拉取到oh4w-dev自分出o…

TDengine 时序函数 NOW() 用户手册

TDengine NOW() 函数用户使用手册 目录 功能概述函数语法返回值说明技术特性使用场景及示例时间运算操作注意事项常见问题 功能概述 NOW() 函数是 TDengine 中的时间函数,用于获取客户端当前系统时间。该函数在时序数据库中特别有用,可以用于数据插入…

JavaWeb ——事务管理

文章目录事务管理事务回顾Spring事务管理事务进阶事务属性 - 回滚 rollbackFor事务属性 - 传播行为 propagationSpring框架第一大核心: IOC控制反转, 其第二大核心就是 AOP 面向切面编程 事务管理 事务回顾 Spring事务管理 # spring 事务管理日志 logging:level:org…

【跨国数仓迁移最佳实践8】MaxCompute Streaming Insert: 大数据数据流写业务迁移的实践与突破

本系列文章将围绕东南亚头部科技集团的真实迁移历程展开,逐步拆解 BigQuery 迁移至 MaxCompute 过程中的关键挑战与技术创新。本篇为第八篇,MaxCompute Streaming Insert: 大数据数据流写业务迁移的实践与突破。注:客户背景为东南…

2025-09-05 CSS4——浮动与定位

文章目录1 显示(Display)1.1 visibility:hidden1.2 display:none2 块和内联元素2.1 块元素2.2 内联元素2.3 改变元素的显示方式3 浮动(Float)3.1 float 属性3.2 clear 属性4 定位(Position)4.1 五种定位模式…

43这周打卡——生成手势图像 (可控制生成)

目录 前言 1.导入数据及数据可视化 2.构建模型 3.训练模型 4.模型分析并生成指定图像 总结 前言 🍨 本文为🔗365天深度学习训练营中的学习记录博客🍖 原作者:K同学啊 1.导入数据及数据可视化 from torchvision import data…

TDengine 时间函数 TIMEDIFF() 用户手册

TDengine TIMEDIFF() 函数详细使用手册 目录 功能概述函数语法参数说明返回值说明版本变更说明技术特性使用场景及示例时间单位处理数据类型兼容性注意事项常见问题最佳实践 功能概述 TIMEDIFF() 函数用于计算两个时间戳的差值,返回 expr1 - expr2 的结果。结果…

【2025ICCV-持续学习方向】一种用于提示持续学习(Prompt-based Continual Learning, PCL)的新方法

1. 背景与问题 (Background & Problem):​​ ​持续学习 (CL):​​ 目标是在不遗忘旧任务知识的情况下,让模型持续学习一系列新任务。主要挑战是灾难性遗忘。 ​基于提示的持续学习 (PCL):​​ 利用预训练视觉Transformer (ViT),冻结其权重,通过微调称为“提示”(prompt…

2025 年 08 月 GitHub 十大热门项目排行榜

欢迎来到 2025 年 8 月 GitHub 热门开源项目排行榜!本月榜单集中展示了来自智能体平台、AI 编程助手、多模态角色系统、本地化部署工具到可视化白板与企业协同平台的多元创新。从构建 AI 助手中枢的 Archon,到终端 AI 编码拍档 Crush,再到虚拟…

LeetCode每日一题,2025-9-4

多数元素 投票法 让你找到序列中出现超过二分之一的元素,一定要记住这个规则。 记录两个值val和cnt,刚开始val为任意数,cnt0。 如果cnt是0,就把当前val num。接下来判断,ifnum val,则cnt ,e…

第7章 安全配置

7.1 安全概述 Jenkins安全威胁 常见安全风险: 访问控制风险: - 未授权访问Jenkins实例 - 权限提升攻击 - 横向移动攻击 - 敏感信息泄露代码执行风险: - 恶意脚本注入 - 构建脚本篡改 - 插件漏洞利用 - 远程代码执行数据安全风险: …