女人被狂躁到高潮视频免费无遮挡,内射人妻骚骚骚,免费人成小说在线观看网站,九九影院午夜理论片少妇,免费av永久免费网址

當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]本文主要解讀STM32低功耗模式的機制,并不側(cè)重STM32低功耗的程序?qū)崿F(xiàn),而且借助STM32固件庫實現(xiàn)STM32低功耗會變的非常簡單。一、STM32芯片性能使用芯片型號:stm32f030f4,CORTEX-M0.封裝TSSOP20.運行模式:內(nèi)部時鐘(

本文主要解讀STM32低功耗模式的機制,并不側(cè)重STM32低功耗的程序?qū)崿F(xiàn),而且借助STM32固件庫實現(xiàn)STM32低功耗會變的非常簡單。

一、STM32芯片性能

使用芯片型號:stm32f030f4,CORTEX-M0.封裝TSSOP20.

運行模式:內(nèi)部時鐘(HSI),系統(tǒng)時鐘頻率采用48MHZ。

工作電壓:3.3V

芯片具體參數(shù)如下:



二、芯片功耗

功耗:



芯片工作模式:

工作模式:外設(shè)正常運行,內(nèi)核CPU及SRAM供電,未使用外設(shè)的時鐘默認(rèn)關(guān)閉。

睡眠模式:只有CPU停止工作,各個外設(shè)正常工作,依靠任何中斷/事件喚醒。

停機模式:1.8V供電區(qū)域時鐘被停止,內(nèi)部HSI,PLL,外部時鐘HSE均關(guān)閉,同時電壓檢測器也可進入低功耗模式,但SRAM和寄存器不斷電,此時只能依靠外部中斷(EXTI)和RTC時鐘才能喚醒。

待機模式:1.8V供電區(qū)域被時鐘停止,內(nèi)部HSI,PLL,外部時鐘HSE均關(guān)閉,同時電壓檢測器也可進入低功耗模式,SRAM和不屬于待機電路的寄存器也被斷電關(guān)閉,此時即使是外部中斷(EXTI)也不能將其喚醒,只能通過復(fù)位(外部復(fù)位,看門狗復(fù)位)、喚醒引腳、RTC時鐘來喚醒。

注意:無論是在停止模式還是待機模式下,RTC和IWDG及其時鐘源不會被關(guān)閉。

各個模式功耗:

功耗計算方式:功耗=工作電壓*工作電流。





I/O模塊損耗:

靜態(tài)損耗:

內(nèi)部上下拉電阻損耗:這部分損耗主要取決于內(nèi)部電阻的大小,一般為了降低內(nèi)部電阻損耗常常需要降低電阻兩端電壓,若引腳為低電壓則采用下拉電阻,若引腳為高電壓則采用上拉電阻。

I/O額外損耗:當(dāng)引腳設(shè)為輸入I/O時,用來區(qū)分電壓高低的斯密特觸發(fā)器電路會產(chǎn)生一部分消耗,為此可將引腳設(shè)為模擬輸入模式。

動態(tài)損耗:對于懸浮的引腳,由于其電壓不穩(wěn)定會產(chǎn)生外部電磁干擾和損耗,因此必須把懸浮引腳設(shè)為模擬模式或輸出模式,引腳電壓的切換會對外部和內(nèi)部電容負(fù)載產(chǎn)生動態(tài)損耗,其損耗與電壓切換頻率和負(fù)載電容有關(guān)。具體損耗值如下:


三、CORTEX-M0低功耗功能、指令、相關(guān)寄存器

CORREX內(nèi)核支持低功耗模式有2種:

睡眠模式:CPU時鐘停止,對應(yīng)stm32睡眠模式

深度睡眠模式:系統(tǒng)時鐘停止,PLL,FLASH關(guān)閉,對應(yīng)stm32停機模式。

進入睡眠模式:

當(dāng)CPU處理完中斷后軟件必須能使其進入睡眠模式,當(dāng)CPU執(zhí)行WFI指令,其將會立即進入睡眠模式,當(dāng)異常產(chǎn)生或中斷被掛起時,其立即被喚醒。

當(dāng)CPU執(zhí)行WFE指令時,它首先會檢查對應(yīng)的事件標(biāo)志位,當(dāng)事件標(biāo)志寄存器為0時進入睡眠模式,否則將寄存器事件標(biāo)志清0并繼續(xù)執(zhí)行程序。事件標(biāo)志可由外部事件標(biāo)志或SEV指令產(chǎn)生。

返回方式:通過設(shè)置內(nèi)核SCB寄存器的Sleep-on-exit位,可以選擇系統(tǒng)被喚醒執(zhí)行完中斷服務(wù)程序后進入主線程模式后是否立即進入睡眠模式。

從睡眠中喚醒:

WFI喚醒或sleep-on-exit:

一般來說,使能的異??梢詥拘褍?nèi)核。對于一些系統(tǒng),在喚醒后執(zhí)行中斷處理程序前需要先執(zhí)行重新恢復(fù)的任務(wù),則首先需要屏蔽所有中斷(PRIMASK=1),中斷發(fā)生后內(nèi)核被喚醒但不執(zhí)行中斷處理,待執(zhí)行完恢復(fù)任務(wù)后再將PRIMASK設(shè)為0,此后執(zhí)行中斷處理任務(wù)。

WFE喚醒:

使能異??梢詥拘褍?nèi)核。外部事件或SEV指令發(fā)送的事件也可喚醒內(nèi)核。

注意:當(dāng)SCR的SEVONPEND設(shè)置為1時,任何使能/非使能中斷或事件都可喚醒內(nèi)核。

中斷喚醒控制器(WIC):

WIC只有在SCR寄存器DEEPSLEEP位設(shè)為1時才能使能,WIC不可編程也沒有相關(guān)的控制寄存器,它僅與硬件信號有關(guān),當(dāng)進入深睡眠時內(nèi)核大部分模塊被關(guān)閉,系統(tǒng)計數(shù)器也被關(guān)閉,因此當(dāng)內(nèi)核被喚醒時需要較多的時間恢復(fù)到睡眠前的狀態(tài)并處理中斷。

外部事件輸入:可在WFE模式下喚醒內(nèi)核。

相關(guān)指令:

WFE等待事件,若無事件則睡眠,中斷、事件喚醒

WFI等待中斷,立即進入睡眠,中斷喚醒

SEV軟件發(fā)送一個事件,在核系統(tǒng)中可喚醒另一個內(nèi)核。

微控制器軟件接口標(biāo)準(zhǔn):

由指令對應(yīng)的C語言接口:

//core_cmInstr.h

void__WFE(void)//WaitforEvent

void__WFI(void)//WaitforInterrupt

void__SEV(void)//SendEvent

相關(guān)寄存器:

SCR寄存器:



SEVONPEND:

0:只有使能的中斷或事件才能喚醒內(nèi)核。

1:任何中斷和事件都可以喚醒內(nèi)核。

SLEEPDEEP:

0:低功耗模式為睡眠模式。

1:進入低功耗時為深度睡眠模式。

SLEEPONEXIT:

0:被喚醒進入線程模式后不再進入睡眠模式。

1:被喚醒后執(zhí)行完相應(yīng)的中斷處理函數(shù)后進入睡眠模式。

四、STM32時鐘管理

運行模式下可通過關(guān)閉和降低相關(guān)外設(shè)的時鐘頻率來減少功耗。

APB外設(shè)時鐘和DMA時鐘可用軟件禁止。

睡眠模式停止CPU時鐘。在CPU睡眠中存儲器接口時鐘(Flash和RAM接口)可被停止。當(dāng)連接到APB所有外設(shè)的時鐘禁止后,當(dāng)進入睡眠期間AHB到APB橋時鐘由CPU的硬件關(guān)閉。

CPU進入停止模式時停止V18域、PLL、HSI、HSI14和HSE振蕩器的時鐘。

HDMICEC,USART1和I2C1即使在MCU進入停止模式下仍有能力打開HIS振蕩器(假如HIS被選為這些外設(shè)的時鐘)。

在LSE振蕩器已使能的情況下,HDMICEC和USART1當(dāng)在系統(tǒng)進入停止模式下也可由LSE振蕩器驅(qū)動(假如LSE被選為這些外設(shè)時鐘)。但是這些外設(shè)沒有打開LSE振蕩器的能力。

CPU進入待機模式時停止V18域、PLL、HSI、HSI14和HSE振蕩器的時鐘。

當(dāng)設(shè)置DBGMCU_CR寄存器中的DBG_STOP或DBG_STANDBY位,那么CPU在相應(yīng)的深度睡眠模式下也可以具有調(diào)試功能。

當(dāng)系統(tǒng)由中斷(停止模式)或復(fù)位(待機模式)喚醒后,HSI振蕩器被選為系統(tǒng)時鐘(不管進入停止模式或待機模式前選用的是何種時鐘)。

假如當(dāng)前正在進行閃存編程,只有在閃存編程全部完成之后才會進入深度睡眠模式(深度睡眠延后)。若當(dāng)前正在使用APB域,那么只有全部完成APB域的操作后才進入深度睡眠模式。

五、STM32低功耗設(shè)置



STM32工作模式主要有運行、睡眠、停止、待機4種模式,前面已介紹過。詳細(xì)見第二節(jié)。

供電框圖

由上圖可以看到整個stm32芯片的供電圖,模擬電路部分采用VDDA獨立供電,各個部分可以獨立被關(guān)斷或開啟。備份電路部分由電池供電,主要有RTC時鐘及相關(guān)的備份寄存器,VDD掉電后可由電池供電,對于沒有VBAT引腳的芯片,其電源直接與VDD相連。核心部分分為1.8V工作域和VDD工作域,1.8V工作域主要有內(nèi)核、存儲、外設(shè)部分,VDD供電域主要有I/O、待機電路(喚醒電路,獨立看門狗)、電壓調(diào)節(jié)器(VoltageRegulator)。

電壓調(diào)節(jié)器

器件復(fù)位后電壓調(diào)節(jié)器總是打開著的,其根據(jù)應(yīng)用模式有三種不同的工作模式。

運行模式:調(diào)節(jié)器以全功耗模式為域(內(nèi)核,內(nèi)存和數(shù)字外設(shè))提供1.8V電源。

停止模式:調(diào)節(jié)器以低功耗模式為保持寄存器及SRAM數(shù)據(jù)部分域提供1.8V的電源。

待機模式:調(diào)節(jié)器斷電,除了待機電路及備份域電路外,寄存器和SRAM的內(nèi)容全部丟失。

相關(guān)寄存器介紹:

1,cortex-mo中的SCR寄存器

SEVONPEND:

0:只有使能的中斷或事件才能喚醒內(nèi)核。

1:任何中斷和事件都可以喚醒內(nèi)核。

SLEEPDEEP:

0:低功耗模式為睡眠模式。

1:進入低功耗時為深度睡眠模式。

SLEEPONEXIT:

0:被喚醒進入線程模式后不再進入睡眠模式。

1:被喚醒后執(zhí)行完相應(yīng)的中斷處理函數(shù)后進入睡眠模式。

2,電源控制寄存器PWR_CR



其中與低功耗有關(guān)的控制位:

CSBF:清除待機標(biāo)志,該位始終讀出為0,寫1清除待機標(biāo)志。

CWUF:清除喚醒標(biāo)志,該位始終讀出為0。寫1清除喚醒標(biāo)志。

PDDS:掉電深睡眠

0:當(dāng)CPU進入深睡眠時進入停機模式,調(diào)壓器的狀態(tài)由LPDS位控制。

1:當(dāng)CPU進入深睡眠時進入待機模式。

LPDS:深睡眠下的低功耗

0:在停機模式下電壓調(diào)節(jié)器開啟

1:在停機模式下電壓調(diào)節(jié)器處于低功耗模式

3,電源控制/狀態(tài)寄存器(PWR_CSR)



EWUP2/EWUP1:使能WKUP2或EWUP1引腳。

0:WKUP1/2引腳作為通用IO口。WKUP1引腳上的事件不能將CPU從待機模式喚醒。

1:WKUP1/2引腳用于將CPU從待機模式喚醒,WKUP1引腳被強置為輸入下拉的配置(WKUP1引腳上的上升沿將系統(tǒng)從待機模式喚醒)。

SBF:待機標(biāo)志

該位由硬件設(shè)置,只能設(shè)置電源控制寄存器PWR_CR的CSBF位清除。

0:系統(tǒng)不在待機模式

1:系統(tǒng)進入待機模式

WUF:喚醒標(biāo)志

由硬件設(shè)置,只能設(shè)置電源控制寄存器PWR_CR的CWUF位清除。

0:沒有喚醒事件發(fā)生

1:從WKUP或RTC鬧鐘產(chǎn)生一個喚醒事件

注意:當(dāng)WKUP引腳已經(jīng)是高電平時,在(通過設(shè)置EWUP位)使能WKUP引腳時,會檢測到一個額外喚醒的事件。

低功耗模式的進入與退出問題

1、睡眠模式

進入睡眠模式:

當(dāng)STM32在運行狀態(tài)時,執(zhí)行WFI或WFE指令可進入睡眠模式。

條件:SLEEPDEEP=0,設(shè)為睡眠模式。此時CPU時鐘被停止。

若令被喚醒的STM32執(zhí)行完中斷處理任務(wù)后進入睡眠模式,則可將SLEEPONEXIT設(shè)為1.

退出睡眠模式:

執(zhí)行WFI指令進入睡眠,可通過使能中斷喚醒。執(zhí)行WFE指令進入睡眠可由事件喚醒,CPU時鐘打開。產(chǎn)生事件的兩種方式:

配置一個外部或內(nèi)部EXTI線做為事件模式。

使能

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

在嵌入式開發(fā)中,STM32的時鐘系統(tǒng)因其靈活性和復(fù)雜性成為開發(fā)者關(guān)注的焦點。然而,看似簡單的時鐘配置背后,隱藏著諸多易被忽視的陷阱,輕則導(dǎo)致系統(tǒng)不穩(wěn)定,重則引發(fā)硬件損壞。本文從時鐘源選擇、PLL配置、總線時鐘分配等關(guān)鍵環(huán)...

關(guān)鍵字: STM32 時鐘系統(tǒng)

在嵌入式系統(tǒng)開發(fā)中,STM32系列微控制器的內(nèi)部溫度傳感器因其低成本、高集成度特性,廣泛應(yīng)用于設(shè)備自檢、環(huán)境監(jiān)測等場景。然而,受芯片工藝差異和電源噪聲影響,其原始數(shù)據(jù)存在±1.5℃的固有誤差。本文從硬件配置、校準(zhǔn)算法、軟...

關(guān)鍵字: STM32 溫度傳感器

在能源效率與智能化需求雙重驅(qū)動下,AC-DC轉(zhuǎn)換器的數(shù)字控制技術(shù)正經(jīng)歷從傳統(tǒng)模擬方案向全數(shù)字架構(gòu)的深刻變革?;赟TM32微控制器的PFM(脈沖頻率調(diào)制)+PWM(脈沖寬度調(diào)制)混合調(diào)制策略,結(jié)合動態(tài)電壓調(diào)整(Dynam...

關(guān)鍵字: AC-DC STM32

當(dāng)前智能家居產(chǎn)品需求不斷增長 ,在這一背景下 ,對現(xiàn)有澆花裝置缺陷進行了改進 ,設(shè)計出基于STM32單片機的全 自動家用澆花機器人。該設(shè)計主要由機械結(jié)構(gòu)和控制系統(tǒng)構(gòu)成 ,機械結(jié)構(gòu)通過麥克納姆輪底盤與噴灑裝置的結(jié)合實現(xiàn)機器...

關(guān)鍵字: STM32 麥克納姆輪 安全可靠 通過性強

用c++編程似乎是讓你的Arduino項目起步的障礙嗎?您想要一種更直觀的微控制器編程方式嗎?那你需要了解一下Visuino!這個圖形化編程平臺將復(fù)雜電子項目的創(chuàng)建變成了拖動和連接塊的簡單任務(wù)。在本文中,我們將帶您完成使...

關(guān)鍵字: Visuino Arduino ESP32 STM32

基于STM32與LoRa技術(shù)的無線傳感網(wǎng)絡(luò)憑借其低功耗、廣覆蓋、抗干擾等特性,成為環(huán)境監(jiān)測、工業(yè)自動化等場景的核心解決方案。然而,如何在復(fù)雜電磁環(huán)境中實現(xiàn)高效休眠調(diào)度與動態(tài)信道優(yōu)化,成為提升網(wǎng)絡(luò)能效與可靠性的關(guān)鍵挑戰(zhàn)。本...

關(guān)鍵字: STM32 LoRa

在實時控制系統(tǒng)、高速通信協(xié)議處理及高精度數(shù)據(jù)采集等對時間敏感的應(yīng)用場景中,中斷響應(yīng)延遲的優(yōu)化直接決定了系統(tǒng)的可靠性與性能上限。STM32系列微控制器憑借其靈活的嵌套向量中斷控制器(NVIC)、多通道直接內(nèi)存訪問(DMA)...

關(guān)鍵字: STM32 DMA

數(shù)字電源技術(shù)向高功率密度、高效率與高動態(tài)響應(yīng)方向加速演進,STM32微控制器憑借其基于DSP庫的算法加速能力與對LLC諧振變換器的精準(zhǔn)控制架構(gòu),成為優(yōu)化電源動態(tài)性能的核心平臺。相較于傳統(tǒng)模擬控制或通用型數(shù)字控制器,STM...

關(guān)鍵字: STM32 數(shù)字電源

STM32微控制器憑借其針對電機控制場景的深度優(yōu)化,成為高精度、高可靠性驅(qū)動系統(tǒng)的核心選擇。相較于通用型MCU,STM32在電機控制領(lǐng)域的核心優(yōu)勢集中體現(xiàn)在FOC(磁場定向控制)算法的硬件加速引擎與PWM死區(qū)時間的動態(tài)補...

關(guān)鍵字: STM32 電機控制

無線充電技術(shù)加速滲透消費電子與汽車電子領(lǐng)域,基于Qi協(xié)議的無線充電發(fā)射端開發(fā)成為智能設(shè)備能量補給的核心課題。傳統(tǒng)模擬控制方案存在響應(yīng)滯后、參數(shù)調(diào)整困難等問題,而基于STM32的數(shù)字PID控制結(jié)合FOD(Foreign O...

關(guān)鍵字: STM32 無線充電
關(guān)閉