嵌入式開發之STM32學習筆記day20

STM32F103C8T6? PWR電源控制

1 PWR簡介

????????PWR(Power Control)電源控制單元是STM32微控制器中一個重要的組成部分,它負責管理系統的電源管理功能,以優化功耗并提高效率。PWR負責管理STM32內部的電源供電部分,可以實現可編程電壓監測器低功耗模式的功能。以下是PWR電源控制單元的主要功能說明:

???1. 可編程電壓監測器(PVD)

  • 該功能允許微控制器實時監控VDD(主電源)的電壓水平。
  • 當VDD電壓下降至預設的閾值以下或超過閾值以上時,PVD監測器會觸發中斷,使系統能夠執行必要的緊急處理措施,如數據保存或系統關閉。

? ?2. 低功耗模式
? ?STM32提供多種低功耗模式,以適應不同的應用場景和節能需求。

  • 睡眠模式(Sleep Mode):CPU停止工作,但外設和中斷仍可響應,功耗大幅降低。
  • 停機模式(Stop Mode):所有時鐘停止,包括CPU和外設,但SRAM內容保持不變,功耗進一步降低。
  • 待機模式(Standby Mode):系統進入最低功耗狀態,僅RTC和備份寄存器保持運行,適用于需要保持時間信息的場合。

2 電源框圖

?????????這張圖展示了STM32微控制器的電源框架圖,其中VDDA和VSSA分別連接到VDD和VSS,為微控制器的不同供電區域提供電源。VDDA供電區域包括A/D轉換器、溫度傳感器、復位模塊和PLL等,VDD供電區域包括I/O電路、待機電路(含喚醒邏輯和IWDG)、電壓調節器等,而1.8V供電區域則為CPU核心、存儲器和內置數字外設提供電力。此外,還有從VBAT供電的后備供電區域,包括LSE 32K晶體振蕩器、后備寄存器、RCC BDCR寄存器和RTC,用于在主電源斷電時維持基本功能。

3?上電復位和掉電復位

????????圖5展示了微控制器上電復位(POR,Power-On Reset)和掉電復位(PDR,Power-Down Reset)的電壓波形圖。圖中顯示,當電源電壓VDD/VDDA從0上升到超過POR閾值時,微控制器觸發上電復位過程,復位信號Reset變高,維持一段時間以確保系統穩定啟動,然后Reset信號變低,系統開始正常運行;當電源電壓從高電平下降至低于PDR值時,觸發掉電復位過程,Reset信號再次變高,以確保在電源恢復前系統處于已知狀態。圖中還標注了40mV的遲滯(hysteresis),這是為了避免電源電壓的小幅波動導致系統不穩定的復位操作,以及標注了滯后時間(tRSTTEMPO),表示復位信號保持高電平的時間長度,確保系統完成必要的初始化過程。?

4 可編程電壓監測器

????????圖6描述了微控制器中可編程電壓檢測器(PVD)的門限特性,其中VDD/VDDA代表電源電壓,圖中顯示了PVD閾值,當電源電壓超過此閾值時PVD觸發,輸出信號從高電平變為低電平以指示電壓過高,圖中還標示了100毫伏的遲滯范圍,確保電源電壓變化必須超過閾值并保持一段時間才能觸發PVD,避免因電源電壓小幅波動而產生誤觸發PVD輸出信號可用于觸發中斷或喚醒微控制器,執行緊急處理措施,以保護系統免受電壓異常影響,確保系統的穩定性和可靠性。

5 低功耗模式

????????表8概述了STM32微控制器的低功耗模式,包括睡眠(SLEEP-NOW或SLEEP-ON-EXIT)和停機(Stop)模式在睡眠模式下,可以通過WFI(等待中斷)或WFE(等待喚醒事件)進入,喚醒方式可以是任一中斷或喚醒事件。在停機模式下,通過設置PDDS和LPDS位以及SLEEPDEEP位進入,喚醒方式包括任一外部中斷、WKUP引腳的上升沿、RTC鬧鐘事件、NRST引腳上的外部復位或IWDG復位。在睡眠模式下,CPU時鐘關閉,但對1.8V區域時鐘和其他時鐘和ADC時鐘無影響,而在停機模式下,關閉所有1.8V區域的時鐘,對VDD區域時鐘的影響取決于電源控制寄存器(PWR_CR)的設置,電壓調節器在這兩種模式下均開啟或關閉。

6 模式選擇

????????執行WFI(Wait For Interrupt)或者WFEWait For Event)指令后,STM32進入低功耗模式:

?6.1 睡眠模式

  • 執行完WFI/WFE指令后,STM32進入睡眠模式,程序暫停運行,喚醒后程序從暫停的地方繼續運行
  • SLEEPONEXIT位決定STM32執行完WFIWFE后,是立刻進入睡眠,還是等STM32從最低優先級的中斷處理程序中退出時進入睡眠
  • 在睡眠模式下,所有的I/O引腳都保持它們在運行模式時的狀態
  • WFI指令進入睡眠模式,可被任意一個NVIC響應的中斷喚醒
  • WFE指令進入睡眠模式,可被喚醒事件喚醒

6.2 停機模式

  • 執行完WFI/WFE指令后,STM32進入停止模式,程序暫停運行,喚醒后程序從暫停的地方繼續運行
  • 1.8V供電區域的所有時鐘都被停止,PLLHSIHSE被禁止,SRAM和寄存器內容被保留下來
  • 在停止模式下,所有的I/O引腳都保持它們在運行模式時的狀態
  • 當一個中斷或喚醒事件導致退出停止模式時,HSI被選為系統時鐘
  • 當電壓調節器處于低功耗模式下,系統從停止模式退出時,會有一段額外的啟動延時
  • WFI指令進入停止模式,可被任意一個EXTI中斷喚醒
  • WFE指令進入停止模式,可被任意一個EXTI事件喚醒

6.3 待機模式

  • 執行完WFI/WFE指令后,STM32進入待機模式,喚醒后程序從頭開始運行
  • 整個1.8V供電區域被斷電,PLLHSIHSE也被斷電,SRAM和寄存器內容丟失,只有備份的寄存器和待機電路維持供電
  • 在待機模式下,所有的I/O引腳變為高阻態(浮空輸入)
  • WKUP引腳的上升沿、RTC鬧鐘事件的上升沿、NRST引腳上外部復位、IWDG復位退出待機模式

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/85861.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/85861.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/85861.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Spring AI(10)——STUDIO傳輸的MCP服務端

Spring AI MCP(模型上下文協議)服務器Starters提供了在 Spring Boot 應用程序中設置 MCP 服務器的自動配置。它支持將 MCP 服務器功能與 Spring Boot 的自動配置系統無縫集成。 本文主要演示支持STDIO傳輸的MCP服務器 僅支持STDIO傳輸的MCP服務器 導入j…

Java八股文——集合「Set篇」

Set集合有什么特點?如何實現key無重復的? 面試官您好,Set 集合是 Java 集合框架中的一個重要接口,它繼承自 Collection 接口,其最顯著的特點和設計目標就是存儲一組不重復的元素。 一、Set集合的主要特點&#xff1a…

「數據分析 - NumPy 函數與方法全集」【數據分析全棧攻略:爬蟲+處理+可視化+報告】

- 第 104 篇 - Date: 2025 - 06 - 05 Author: 鄭龍浩/仟墨 NumPy 函數與方法全集 文章目錄 NumPy 函數與方法全集1. 數組創建與初始化基礎創建序列生成特殊數組 2. 數組操作形狀操作合并與分割 3. 數學運算基礎運算統計運算 4. 隨機數生成基礎隨機分布函數 5. 文件IO文件讀寫 …

報表/報告組件(二)-實例與實現解釋

上篇《報表/報告組件(一)-指標/屬性組件設計》介紹了組件核心指標/屬性設計,本文以實例介紹各個特性的實現和效果,實例是多個報告融合,顯示所有的特性。 設計 指標/屬性組件是報告/報表關鍵部分,上篇已介紹過,本節回顧…

Flutter嵌入式開發實戰 ——從樹莓派到智能家居控制面板,打造工業級交互終端

一、為何選擇Flutter開發嵌入式設備&#xff1f; 1. 跨平臺能力降維打擊 特性傳統方案Flutter方案開發效率需分別開發Android/Linux一套代碼多端部署內存占用200MB (QtWeb引擎)<80MB (Release模式)熱重載支持不支持支持 2. 工業級硬件支持實測 樹莓派4B&#xff1a;1080…

[藍橋杯]機器人塔

題目描述 X 星球的機器人表演拉拉隊有兩種服裝&#xff0c;A 和 B。 他們這次表演的是搭機器人塔。 類似&#xff1a; A B B A B A A A B B B B B A B A B A B B A 隊內的組塔規則是&#xff1a; A 只能站在 AA 或 BB 的肩上。 B 只能站在 AB 或 BA 的肩上。 你的…

語雀文檔保存失敗URI malformed

原因 原因未知&#xff0c;我用deekseek將回答的答案復制到語雀文檔時出現了這個異常&#xff0c;在知識庫里面一直保存失敗 語雀文檔保存失敗URI malformed 解決方案 使用小記&#xff0c;將里面的內容轉移到小記里&#xff0c;將小記移到知識庫中即可

小明的Java面試奇遇之互聯網保險系統架構與性能優化

一、文章標題 小明的Java面試奇遇之互聯網保險系統架構與性能優化&#x1f680; 二、文章標簽 Java,Spring Boot,MyBatis,Redis,Kafka,JVM,多線程,互聯網保險,系統架構,性能優化 三、文章概述 本文模擬了程序員小明在應聘互聯網保險系統開發崗位時&#xff0c;參與的一場深…

從零開始的嵌入式學習day33

網絡編程及相關概念 UDP網絡通信程序 UDP網絡通信操作 一、網絡編程及相關概念 1. 網絡編程概念&#xff1a; 指通過計算機網絡實現程序間通信的技術&#xff0c;涉及協議、套接字、數據傳輸等核心概念。常見的應用場景包括客戶端-服務器模型、分布式系統、實時通信等。…

Kotlin 1. 搭建Kotlin開發環境

本實戰概述旨在指導用戶搭建Kotlin開發環境&#xff0c;并進行簡單的編程實踐。首先&#xff0c;用戶需安裝IntelliJ IDEA&#xff0c;并進行基本設置&#xff0c;如選擇主題、調整字體和安裝插件等。接著&#xff0c;創建Kotlin項目&#xff0c;設置項目名稱、位置和JDK版本&a…

Mysql的B-樹和B+樹的區別總結

B 樹也稱 B- 樹&#xff0c;全稱為 多路平衡查找樹&#xff0c;B 樹是 B 樹的一種變體。B 樹和 B 樹中的 B 是 Balanced&#xff08;平衡&#xff09;的意思。 目前大部分數據庫系統及文件系統都采用 B-Tree 或其變種 BTree 作為索引結構。 B 樹& B 樹兩者有何異同呢&…

COMSOL學習筆記-靜電場仿真

最近在學習COMSOL&#xff0c;做了一個靜電場仿真的例子&#xff0c;分享一下。 參考了下面的官方案例 計算電容 電容式位置傳感器的邊界元建模 三維模型 首先對靜電測試儀進行三維建模。 Comsol靜電場仿真 使用comsol進行靜電場仿真&#xff0c;控制方程為泊松方程&#…

JavaScript 循環方法對比指南

JavaScript 循環方法對比指南 1. 標準 for 循環 語法&#xff1a; for (let i 0; i < arr.length; i) {console.log(arr[i]); }優點 ? 完全控制索引&#xff0c;適合需要精確控制遍歷順序或步長的場景。 ? 性能最優&#xff0c;在超大規模數據遍歷時比高階方法&#x…

【快餐點餐簡易軟件】佳易王快餐店點餐系統軟件功能及操作教程

一、軟件概述與核心優勢 &#xff08;一&#xff09;試用版獲取方式 資源下載路徑&#xff1a;進入博主頭像主頁第一篇文章末尾&#xff0c;點擊卡片按鈕&#xff1b;或訪問左上角博客主頁&#xff0c;通過右側按鈕獲取詳細資料。 說明&#xff1a;下載文件為壓縮包&#xff…

智慧園區數字孿生全鏈交付方案:降本增效30%,多案例實踐驅動全周期交付

在智慧園區建設浪潮中&#xff0c;數字孿生技術正成為破解傳統園區管理難題的核心引擎。通過構建與物理園區1:1映射的數字模型&#xff0c;實現數據集成、狀態同步與智能決策&#xff0c;智慧園區數字孿生全鏈交付方案已在多個項目中驗證其降本增效價值——某物流園區通過該方案…

從0開始學vue:Element Plus詳解

一、核心架構解析二、技術實現指南三、高級特性實現四、性能優化方案五、生態擴展方案六、調試與測試七、版本演進路線 Element Plus 是專為 Vue 3 設計的桌面端 UI 組件庫&#xff0c;基于 Vue 3 的 Composition API 重構&#xff0c;在保持與 Element UI 兼容性的同時&#x…

Ubuntu系統配置C++的boost庫(含filesystem模塊)的方法

本文介紹在具有sudo權限的Ubuntu操作系統中&#xff0c;配置C 的boost庫的方法。 boost庫是一個廣受歡迎的C 庫集合&#xff0c;提供了許多強大的功能擴展——例如其中的filesystem模塊&#xff0c;可簡化文件和目錄操作&#xff0c;讓開發者可以輕松處理跨平臺的文件系統任務。…

Java集合中Stream流的使用

前言 Java 8 引入了 Stream API&#xff0c;它是一種用于處理集合&#xff08;Collection&#xff09;數據的強大工具。Stream 不是數據結構&#xff0c;而是對數據源進行操作的一種方式&#xff0c;支持聲明式、函數式的操作&#xff0c;如過濾、映射、排序等。 Stream 操作…

.Net Framework 4/C# 屬性和方法

一、屬性的概述 屬性是對實體特征的抽象&#xff0c;用于提供對類或對象的訪問&#xff0c;C# 中的屬性具有訪問器&#xff0c;這些訪問器指定在它們的值被讀取或寫入時需要執行的語句&#xff0c;因此屬性提供了一種機制&#xff0c;用于把讀取和寫入對象的某些特征與一些操作…

asp.net mvc如何簡化控制器邏輯

在ASP.NET MVC中&#xff0c;可以通過以下方法簡化控制器邏輯&#xff1a; ASP.NET——MVC編程_aspnet mvc-CSDN博客 .NET/ASP.NET MVC Controller 控制器&#xff08;IController控制器的創建過程&#xff09; https://cloud.tencent.com/developer/article/1015115 【轉載…