今天的教程講下MSPM0L系列的運(yùn)行模式。
首先把MCU的內(nèi)部電源域理清一下,MCU內(nèi)部的功能模塊使用的電源域分為兩個(gè),PD1和PD0,在MSPM0L1306的參考手冊(cè)中可以找到框圖,圖中黃色和綠色的功能模塊是屬于PD1,藍(lán)色的屬于PD0,橙色的模塊是PD0和PD1都可以使用。
MSPM0L系列的運(yùn)行模式分為運(yùn)行(RUN),休眠(SLEEP),待機(jī)(STANDBY),以及關(guān)機(jī)(SHUTDOWN)。
下圖可以看到
RUN模式:CPU和PD1,PD0的電源都打開(kāi);
SLEEP模式:CPU關(guān)閉,PD1,PD0打開(kāi);
STOP模式:CPU和PD1關(guān)閉,PD0打開(kāi),只剩4MHz時(shí)鐘;
STANBY模式:CPU和PD1關(guān)閉,PD0打開(kāi),只剩32.768KHz時(shí)鐘;
SHUTDOWN模式:時(shí)鐘和電源都關(guān)閉了;
其中RUN和SLEEP,STOP模式細(xì)分為0,1,2三檔,STANBY模式也有0,1兩檔,為的是更加極致的功耗,可以在參考指南中查到對(duì)應(yīng)模式下的時(shí)鐘運(yùn)行情況和模塊電源工作情況。
對(duì)應(yīng)的驅(qū)動(dòng)庫(kù)中,也提供了API函數(shù)方便的設(shè)置這些策略模式。
在程序里使用了相應(yīng)的函數(shù)之后,使用WFI指令就可以進(jìn)入對(duì)應(yīng)的低功耗模式。
例如下面這個(gè)函數(shù)會(huì)在WFI指令后悔進(jìn)入SLEEP0模式
然后可以在中斷函數(shù)中
DL_SYSCTL_disableSleepOnExit()
退出低功耗模式。
下面是一些低功耗模式下的要點(diǎn):
1.在STOP和STANBY模式下,雖然PD1已經(jīng)關(guān)閉,但是CPU寄存器,外設(shè)寄存器和SRAM的數(shù)據(jù)都可以保留。
2. 在STOP和STANDBY模式下,MCLK和ULPCLK會(huì)變成4MHz和32KHz,如果你的外設(shè)對(duì)時(shí)鐘頻率比較敏感,例如UART,定時(shí)器這些外設(shè),這個(gè)時(shí)候MFCLK這個(gè)時(shí)鐘就可以派上用場(chǎng),MFCLK是固定的4MHz時(shí)鐘,可以工作到STOP1模式。
3. 在進(jìn)入低功耗模式前,把SYSOSC設(shè)置為32MHz會(huì)減少恢復(fù)到RUN模式的延遲。
4. 在低功耗模式恢復(fù)到RUN模式的時(shí)候,可以先使用低頻32.768KHz的LFOSC來(lái)作為CPU時(shí)鐘,或者使用4MHz的SYSOSC,然后再恢復(fù)到32MHz的SYSOSC,這樣可以減少峰值電流,其實(shí)就是低功耗恢復(fù)的時(shí)候,做一個(gè)消耗的緩沖,對(duì)一些不能提供足夠瞬間電流的場(chǎng)合有幫助。
審核編輯:湯梓紅
-
電源
+關(guān)注
關(guān)注
184文章
17718瀏覽量
250147 -
mcu
+關(guān)注
關(guān)注
146文章
17148瀏覽量
351185 -
時(shí)鐘
+關(guān)注
關(guān)注
10文章
1733瀏覽量
131479 -
開(kāi)發(fā)板
+關(guān)注
關(guān)注
25文章
5050瀏覽量
97456 -
運(yùn)行模式
+關(guān)注
關(guān)注
0文章
3瀏覽量
848
原文標(biāo)題:MSPM0L1306開(kāi)發(fā)板教程5 - 運(yùn)行模式
文章出處:【微信號(hào):創(chuàng)易棧,微信公眾號(hào):創(chuàng)易?!繗g迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論