超低功耗MCU如何降低功耗

宇芯電子發表於2020-11-12

低功耗是MCU的一項非常重要的指標,比如某些可穿戴的裝置,其攜帶的電量有限,如果整個電路消耗的電量特別大就會經常出現電量不足的情況。
 
平時我們在做產品的時候,基本的功能實現很簡單,但只要涉及到關於低功耗的問題就比較棘手了,比如某些可以低到微安級的MCU微控制器,而自己設計的低功耗怎麼測都是毫安級的,電流竟然能夠高出標準幾百到上千倍,遇到這種情況幹萬不要怕,只要認真你就贏了。接著仔細分析一下這其中的原因。
 
(1)掐斷外設命脈,關閉外設時鐘。
先說最直觀的,也是工程師都比較注意的方面,就是關閉
微控制器的外設時鐘,對於現在市面上出現的大多數的MCU微控制器,其外設模組都對應著一個時鐘開關。只需要開啟這個外設的時鐘,就可以正常的使用這個外設了,當然此外設也就會產生相應的功耗;如果想要讓這個外設不產生功耗的話,只需要關閉它的時鐘就可以了。
 
( 2)讓工作節奏慢下來,時鐘不要倍頻。除了外設模組功率消耗之外,還有一個功耗大戶需要注意一下,這就是PLL和 FLL模組。PLL和FLL主要是用來對原始的時鐘訊號進行倍頻操作,從而提高系統的整體時鐘,其功耗也會被提上去。所以在進入低功耗之前,需要切換時種模式,旁路掉PLL和 FLL模組,從而儘可能的降低MCU的功耗,等到MCU喚醒之後再把時鐘切換回去。
 
( 3)圍堵涓涓細流,注意IO口的電平狀態。如果認為只要關閉外設時鐘就能夠保證外設不再耗電,那麼你就太天真了。如果 IO口沒有做好處理的話,它就會在暗地裡偷走功耗,而你卻渾然不知。具體原因是這樣的,一般的IO的內部或者外部都會有上下拉電阻,假如某個IO口有個10K 的上拉電阻,把引腳拉到3.3 V,然而當MCU進入低功耗模式的時候,此IO口被設定成輸出低電平,根據歐姆定律,此引腳就會消耗3.3 V/10 K = 0.33 mA的電流,假如有四、五個這樣的IO口,那麼幾個mA就貼進去了。所以在進入低功耗之前,請逐個檢查IO口的狀態。
如果此IO口帶下拉,請設定為低電平輸出或者高阻態輸入。不要把上好的電流浪費在產生熱量的功能上。
 
(4)睦鄰友好的合作,要注意1O 與外設IC的統籌。
IO口的上下拉電阻消耗電流這一因素相對比較明顯,下邊我們來說一個不明顯的因素:IO口與外部IC相連時的電流消耗。假如某個IO口自帶上拉,而此與IO相連的IC引腳偏偏是自帶下拉的,那麼無論這個引腳處於什麼樣的電平輸出,都不可避免的產生一定的電流消耗。所以凡是遇見這-類的情況,首先需要閱讀外設IC的手冊,確定好此引腳的的狀態,做到心中有數;然後在控制
MCU睡眠之前,設定好MCU的IO口的上下拉模式及輸入輸出狀態,要保證一絲兒電流都不要被它消耗掉。
 
( 5)斷開偵錯程式連線,不要被假象所迷惑。還有一類比較奇特,檢測出來的電流消耗很大,可實際結果是自己杞人憂天,原因是因為在測試功耗的時候MCU還連線著偵錯程式。這時候大部分電流就會被偵錯程式給擄走,平白無故的讓工程師產生極度鬱悶的心情。所以在測低功耗的時候,一定不要連線偵錯程式,更不能邊除錯邊測電流。
 
MCU的低功耗設計是一個細緻活,要養成良好的習慣,做到每新增一個功能都要重新驗證一下低功耗是否符合要求,這樣就可以隨時隨地減少損耗功率的因素。如果把所有功能都設計好了才去考慮低功耗的問題,一個不小心就可能要更改程式的架構,即便如此也不一定能把功耗給徹底降下去。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69975830/viewspace-2733757/,如需轉載,請註明出處,否則將追究法律責任。

相關文章