国产在线丝袜-国产在线丝袜精品一区免费-国产在线一二三区-国产在线永久视频-亚洲福利视频一区二区三区-亚洲福利视频一区二区

新聞中心???News
聯系我們???Contact
你的位置:首頁 > 新聞中心 > 行業新聞

微控制處理器各種低功耗模式實際運行功耗

2024-12-24 15:03:45??????點擊:
低功耗模式實驗

探索低功耗模式的最佳方法是選擇一個微控制器并以各種低功耗模式實際運行該處理器。本文中,我決定翻出積塵已久的NXP Kinetis-L Freedom電路板,我曾經不僅用它進行過實驗,而且還應用于許多產品、應用和課程。無論對錯,我決定不僅要測量微控制器的能耗,還要測量整個開發板的能耗。MCU通常是電路板上的耗能大戶之一,但測量整個系統的電流經常提醒我它并不是電路板上唯一的耗電器件。微控制器的優化長路迢迢,但其實它并不是唯一需要優化能耗的器件。

從基線測量開始

每當我努力優化一個產品的能耗時,我首先會從基線能量測量開始。通常我會通過分析幾秒或幾分鐘內設備的電流消耗來了解應該從哪里開始。在我的開發板實驗中,將Kinetis-L置于運行模式,無睡眠模式,所有外設均運行并設置電路板定期切換LED。通過采用IAR嵌入式工作臺的I-Jet調試器以及I-Scope,我可以為該電路板配置一個簡單基線,即LED關閉時電流消耗大約為16.9mA,LED打開時大約為18.0mA,如圖1所示。顯然,從哪里開始進行測量很重要,否則分析結果可能明顯偏離。

采用等待模式和深度睡眠模式優化能耗

節省能耗最快的方法是執行等待或深度睡眠模式。研究Kinetis-L處理器的數據表可以得出,等待模式的能耗在3伏電壓下的電流介于3.7和5.0mA之間。在此模式下,CPU和外設時鐘被禁用,而閃存處于休眠模式,此時允許處理器在中斷時間范圍內(12-15個時鐘周期)仍然可以被喚醒。等待模式易于實現,設置進入等待模式的代碼如下所示:

void Sleep_Wait(void)


{


SCB_SCR &=~ SCB_SCR_SLEEPDEEP_MASK;


asm(“WFI”);


}


只需這兩行代碼,開發板的電流消耗就從18.0mA降至15.9mA。電流消耗減少了11.6%!如果電路板由680mA電池供電,則該設備的電池壽命將從37.8小時變為42.8小時!兩行代碼就可以將電池壽命延長五小時!


這些高級電源模式的好處在于我們可以輕松地再向前邁一步。我們可以使用以下代碼將處理器置于深度睡眠等待模式,而不僅僅是等待模式:


void Sleep_Deep(void)


{


SCB_SCR |= SCB_SCR_SLEEPDEEP_MASK;


asm(“WFI”);


}


我們所做的僅僅是調整了SCB_SCR寄存器中的一位,就已經將最初的18mA電流消耗減少為14.8mA。電流消耗減少了17.8%!同樣,假設電路板由680mA電池供電,電池壽命現在已經從37.8小時增長為46小時!只需幾行代碼就可以節省大量能耗,而這只是冰山一角!

利用Stop模式和VLLS模式實現微安級電流消耗

采用停止模式可以禁用內核和系統時鐘,這有可能將MCU電流消耗再進一步降低兩毫安。你會發現,功耗模式越低,實現它所需的代碼就越多,而喚醒系統恢復工作的代碼就越復雜。令Kinetis-L進入停止模式的代碼如下所示:


void Sleep_Stop(void)


{


volatile unsigned int dummyread = 0;


SMC_PMCTRL &=~ SMC_PMCTRL_STOPM_MASK;


SMC_PMCTRL |= SMC_PMCTRL_STOPM(0);


dummyread = SMC_PMCTRL;


Sleep_Deep();


}


請注意,停止模式通過電源管理控制寄存器控制,一旦狀態被設置,就會調用Sleep_Deep函數來完成電源模式的設置并執行WFI。


到目前為止,我們一直在談論1~2mA的MCU能耗。現代微控制器將提供僅消耗微安甚至毫微安的電源模式!Kinetis-L處理器于2013年左右首次亮相,其超低漏電停止(VLLS)模式僅耗能135至496微安!初始化此電源模式的代碼如下所示:


void Sleep_VLLS1(void)


{


volatile unsigned int dummyread = 0;


SMC_PMCTRL &=~ SMC_PMCTRL_STOPM_MASK;


SMC_PMCTRL |= SMC_PMCTRL_STOPM(0x4);


SMC_VLLSTRL = SMC_VLLSCTRL_LLSM(1);


dummyread = VLLS_CTRL;


Sleep_Deep();


}


講到這里,你會發現微控制器已經幾乎不消耗任何能量了!

低功耗模式對喚醒延遲的影響

正如我們目前所看到的那樣,將處理器設置為越來越低的電源模式是節省能源的好方法,但這是需要付出代價的。處理器的能量狀態越低,喚醒處理器恢復工作所需的時間就越長。例如,如果我使用標準停止模式,則處理器被喚醒并再次開始執行代碼需要2μs加上中斷延遲,這還可以接受。但是,如果在Kinetis-L上設置了其中一種VLLS模式,將需要啟動處理器的喚醒延遲再加上額外的53到115微秒!有些應用可能無法接受這種狀況。圖2顯示了Kinetis-L從低功耗模式到運行狀態的各種轉換。

結論

Arm微控制器都具有標準的低功耗模式,但每個芯片廠商都會定制開發人員可用的更多低功耗模式。正如我們所看到的,芯片供應商通常會提供幾種容易實現的模式,對喚醒延遲的影響最小。他們還會提供幾種超低功耗模式,幾乎可以關閉處理器并且僅消耗幾百微安或更少能量!開發人員通常需要在能耗和系統被喚醒需要的時長以及響應事件的速度之間進行權衡。而權衡一定是基于應用的,所以不要指望能夠在每個產品和應用上都執行最低功耗模式。
主站蜘蛛池模板: 视频在线观看91 | 亚洲精品综合久久 | 国产麻豆网 | 在线观看亚洲一区二区 | 久久福利青草狠狠午夜 | 精品国产一区二区三区在线观看 | 日韩午夜精品 | 国产成人综合在线观看网站 | 伊人网狠狠干 | 国产高清国产专区国产精品 | 久久全国免费久久青青小草 | 国产福利在线91 | 婷婷激情亚洲 | 影音先锋国产系列精品 | 国产日产欧产精品推荐推荐 | 中文字幕精品1在线 | 91专区在线观看 | 伊人激情久久综合中文字幕 | 黄网在线免费观看 | 久久久久国产 | 国产大臿蕉香蕉大视频女 | 国产真实伦在线视频免费观看 | 久久精品国产99久久无毒不卡 | 国产成人亚洲精品乱码在线观看 | 亚洲第一视频网 | 欧美日韩国产在线观看一区二区三区 | 色久在线 | 色就色综合| 国产永久免费视频 | 精品视频久久久 | 91精品在线免费观看 | 亚洲一区二区三区免费视频 | 午夜欧美在线 | 免费看一级做a爰片久久 | 国产在线观看一区二区三区四区 | 国产成人免费 | 六月丁香婷婷综合 | 一级做a爰片欧美aaaa | 91在线精品麻豆欧美在线 | 韩国女主播一区二区视频 | 91午夜精品午夜剧场 |