平常咱們在做產品的時分,根本的功用完成很簡單,但只需涉及到關于低功耗的問題就比較扎手了,比方某些可以低到微安級的MCU微操控器,而自己規劃的低功耗怎樣測都是毫安級的,電流居然可以高出規范幾百到上千倍,遇到這種狀況干萬不要怕,只需仔細你就贏了。接著仔細分析一下這其間的原因。
(1)掐斷外設命脈,封閉外設時鐘。
先說最直觀的,也是工程師都比較留意的方面,便是封閉超低功耗MCU微操控器的外設時鐘,關于現在市面上呈現的大多數的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的低功耗規劃是一個詳盡活,要養成杰出的習氣,做到每增加一個功用都要從頭驗證一下低功耗MCU是否符合要求,這樣就可以隨時隨地削減損耗功率的要素。假設把一切功用都規劃好了才去考慮低功耗的問題,一個不小心就可能要更改程序的架構,即便如此也不必定能把功耗給完全降下去。