低功耗是mcu
的一項非常重要的指標,比如某些可穿戴的裝置,其攜帶的電量有限,如果整個電路消耗的電量特別大的話,就會經常出現電量不足的情況,影響使用者體驗。
平時我們在做產品的時候,基本的功能實現很簡單,但只要涉及低功耗
的問題就比較棘手了,比如某些可以低到微安級的mcu
,而自己設計的低功耗
怎麼測都是毫安級的,電流竟然能夠高出標準幾百到上千倍,遇到這種情況千萬不要怕,只要認真你就贏了。下邊咱們仔細分析一下這其中的原因。
第一條:掐斷外設命脈——關閉外設時鐘
先說最直觀的,也是工程師都比較注意的方面,就是關閉mcu
的外設時鐘,對於現在市面上出現的大多數的mcu,其外設模組都對應著乙個時鐘開關。只需要開啟這個外設的時鐘,就可以正常的使用這個外設了,當然,此外設也就會產生相應的功耗;反之,如果想要讓這個外設不產生功耗,只需關閉它的時鐘即可。
第二條:讓工作節奏慢下來——時鐘不要倍頻
除了外設模組功率消耗之外,還有乙個功耗大戶需要注意一下,這就是pll和fll模組。pll和fll主要是用來對原始的時鐘訊號進行倍頻操作,從而提高系統的整體時鐘,相應的,其功耗也會被提上去。所以在進入低功耗之前,需要切換是種模式,旁路掉pll和fll模組,從而盡可能的降低mcu的功耗,等到mcu喚醒之後再把時鐘切換回去。
第三條:圍堵涓涓細流——注意i/o口的電平狀態
如果認為只要關閉外設時鐘就能夠保證外設不再耗電,那麼你就太天真了。如果io口沒有做好處理的話,它就會在暗地裡偷走功耗,而你卻渾然不知。具體原因是這樣的,一般的io的內部或者外部都會有上下拉電阻,舉個例子,如下圖所示,假如某個io口有個10kω的上拉電阻,把引腳拉到3.3v,然而當mcu進入低功耗模式的時候,此io口被設定成輸出低電平,根據歐姆定律,此引腳就會消耗3.3v/10k=0.33ma的電流,假如有
四、五個這樣的io口,那麼幾個ma就貼進去了,太可惜了。所以在進入低功耗之前,請逐個檢查io口的狀態:
如果此io口帶上拉,請設定為高電平輸出或者高阻態輸入;
如果此io口帶下拉,請設定為低電平輸出或者高阻態輸入;
總之一句話,不要把上好的電流浪費在產生熱量的功能上,咱可不靠這點溫度去暖手。
第四條:睦鄰友好合作——注意i/o與外設ic的統籌
io口的上下拉電阻消耗電流這一因素相對比較明顯,下邊咱來說乙個不明顯的因素:io口與外部ic相連時的電流消耗。假如某個io口自帶上拉,而此與io相連的ic引腳偏偏是自帶下拉的,那麼無論這個引腳處於什麼樣的電平輸出,都不可避免的產生一定的電流消耗。所以凡是遇見這一類的情況,首先需要閱讀外設ic的手冊,確定好此引腳的的狀態,做到心中有數;然後在控制mcu睡眠之前,設定好mcu的io口的上下拉模式及輸入輸出狀態,要保證一絲兒電流都不要被它消耗掉。
第五條:斷開偵錯程式連線,不要被假象所迷惑
還有一模擬較奇特,檢測出來的電流消耗很大,可實際結果是自己杞人憂天,什麼原因呢?是因為在測試功耗的時候mcu還連線著偵錯程式呢!這時候大部分電流就會被偵錯程式給擄走,平白無故的讓工程師產生極度鬱悶的心情。所以在測低功耗的時候,一定不要連線偵錯程式,更不能邊除錯邊測電流。
超低功耗MCU如何降低功耗
低功耗是mcu的一項非常重要的指標,比如某些可穿戴的裝置,其攜帶的電量有限,如果整個電路消耗的電量特別大就會經常出現電量不足的情況。平時我們在做產品的時候,基本的功能實現很簡單,但只要涉及到關於低功耗的問題就比較棘手了,比如某些可以低到微安級的mcu微控制器,而自己設計的低功耗怎麼測都是毫安級的,電...
MCU低功耗設計(一)理論
現代的mcu一般使用cmos技術,耗能包括2方面 靜態消耗 主要是電晶體消耗能量 動態消耗 公式 c v2 f,其中c是cmos的負載電容,v是供電電壓,f是時鐘頻率 總電能消耗是靜態消耗和動態消耗之和,即 idd f idynamicrun ua mhz istatic ua 因此,電能消耗依賴於...
低功耗MCU系統軟硬體設計考慮
電子產品的低功耗問題經常讓產品設計者頭痛而又不得不面對。以微控制器 mcu 為核心的系統,其功耗主要由微控制器功耗和微控制器外圍電路功耗組成。要降低微控制器系統的功耗,需要從硬體和軟體兩方面入手。硬體設計考慮因素 要滿足微控制器系統的低功耗要求,選用具有低功耗特性的微控制器可以很容易實現。因為具有低...