江協科技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
英文地址,請注明出處:http://en.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實例 - 權限提升攻擊 - 橫向移動攻擊 - 敏感信息泄露代碼執行風險: - 惡意腳本注入 - 構建腳本篡改 - 插件漏洞利用 - 遠程代碼執行數據安全風險: …