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