近年來,可攜式電池供電應用的日益普及促使設計人員致力於將更多功能整合至更小的?品中。這些增添的功能,尤其是無線通訊功能,對系統電源提出了更高要求。如何在實現所需系統功能的同時又能延長電池的壽命成?設計人員需要解?的一大挑戰。隨著包含各種整合式特性及週邊設備的微控制器功能的最新發展,嵌入式設計電源管理的實現變得更加簡單靈活。同時,這些MCU也促進了設計技術的進步。
更低的功耗實現更多功能
也許你不曾注意到,我們周遭的一切似乎變得越來越智慧,並且彼此間互相連結。你的鞋子現在有了感測器,可以藉由顯示在你智慧型手機上的你的速度資料告訴你如何改善你的跑步時間。體重計不僅可以將你的體重資料自動儲存到雲端追蹤應用程式,還可以透過你的智慧型手機發送提醒,告訴你,?什?你吃的最後一個甜甜圈並不是一個好主意。多虧設置在熱水器旁的小型無線感測器,你的居家保全系統就可以在車庫出現漏水時用手機簡訊通知你。
隨著技術的不斷進步,可攜式電池供電應用的普及程度迅速提高。工程師一直被要求讓每個?品都能在升級換代時增加更多的功能並同時縮小整體尺寸。然而,這些新增的性能對系統電源提出了更高的要求。如何在更小的空間內添加這些新功能並延長電池的壽命,給設計人員出了個難題。
用於電池供電應用設計的傳統方法就是盡量讓許多模組長時間保持在低功耗狀態,偶爾需要執行任務時才被喚醒,任務完成後又再返回到休眠模式。在一個包含多個MCU/MPU和元件的複雜設計中,低接腳數的8位元控制器經常被使用在系統監控功能,依據需要來執行一些類似開機關機模組之類的管理任務,將功效最大化。
然而,大多數的設計仍然只有一個主要的微控制器,再搭配許多整合式的週邊設備來實現所需的系統功能。因此,這個主要的微控制器的功耗就成?關鍵的參數。然而,並非所有微控制器都具有良好的低功耗性能。在這一方面,許多應用中8位元微控制器比32位元裝置更勝一籌。有些8位元微控制器在最低功耗設置時電流消耗可低至20 nA,但32位元元件的電流消耗在最好的情況下也會高出10到20倍左右。
要將微控制器從休眠狀態中喚醒的方法有很多種。一種常見的做法是使用微控制器內部的計時器定期喚醒系統。這個計時器經過配置可以在溢位時發生時引發中斷。一個附有1:8預除器的16位計時器,外加一個獨立運行的內建低功耗31 kHz振盪器(或者帶一個外部晶振)可以讓裝置休眠17秒左右。
另一種做法就是使用MCU本身的監視計時器(WDT),理想條件下其待機時間最長可達256秒,期間消耗的電流約?440 nA。(同樣的,一個帶有WDT功能的32位元MCU一般情?下的消耗電流至少是一個8位元MCU的3倍。)
以不需要被時常喚醒的應用?例,像是環境監測器,它大約每四小時被喚醒一次以讀取濕度感測器的資料然後再返回休眠狀態。這是不是意味著由於內部計時器的限制,我們不得不需要進行更頻繁的喚醒運作呢?不一定。其中的一個選擇就是在需要時使用即時計時器(RTC)和晶振來提供以小時、天、月甚至年?單位的精確計時。當然,往往因?成本原因並非所有的微控制器都會提供整合式的RTC和晶振,這時我們可以考慮使用獨立式RTC。
核心獨立的週邊設備
另一個不需要任何附加元件且不會有功率耗損就可以延長待機時間的選擇就是使用在一些新一代8位元微控制器所內建的獨特週邊設備。舉例來說,設計人員可以將這些MCU的一個可配置邏輯元件(CLC)和它的數值控制振盪器(NCO)連接到16位元計時器,進而將待機時間從17秒延長至205天,這之後才會觸發中斷喚醒MCU(見圖1)。當然,很少會有應用需要這麼長時間的待機,但是這個功能在需要時是可以使用的。而如果使用一個外部晶振來代替MCU內建的31 kHz振盪器的話,功耗甚至可以?少50%,達到2.3 μA左右。
圖一 : 使用一個8位元微控制器的核心獨立週邊設備可將待機時間延長至205天,不需任何附加元件且不會有功率損耗。 |
|
我們也可以使用像是開關或感測器等外部中斷來源喚醒微控制器。一些較大的MCU/MPU有多個優先等級的中斷,但是這些性能通常是市場上現有的大部分低接腳數MCU所不具備的。還記得上個例子中我們用來延長計時器週期的可配置邏輯元件嗎?事實上,CLC不僅可在MCU只有一個系統INT時創建額外的中斷來源,它還允許設計人員?增加條件式或連續式邏輯到喚醒程序中,使他更智慧而且還不會?生額外的電流消耗。
如果系統需要用多個訊號以代表一個特定狀態以喚醒CPU去確認狀況的話,往往CPU是在其他訊號還未發生時就被第一個訊號的改變所喚醒了。現在我們可以配置和組合CLC現有的邏輯功能和狀態機,甚至多個CLC模組,來建立特定的喚醒條件,避免出現頻繁的誤觸和不必要的功率損失。
雖然我們希望能在休眠模式下執行所有任務,但是某些任務必須是在主動模式下執行的,這個時候相對於所有其他模組,MCU核心的功耗是最高的。這樣情?就有點棘手了。圖二是系統在一段時間內?生電流消耗的簡化圖示。電流消耗線下的圖形面積代表一段時間內所有的放電量,以庫侖(Coulomb)?單位。如果休眠模式周期內所有面積的總和比工作模式大得多,那?休眠電流值就更關鍵,因?大部分的能源消耗都發生在低功耗模式下。反之亦然,如果主動模式周期內的面積總和明顯更高,那?休眠電流值和休眠模式下花費的時間就變得無關緊要了。
使用像是Wi-Fi或Bluetooth LE等無線通訊的應用更特別是降低系統功耗的一大挑戰。這些系統的設計人員必須要考慮發送或接收的資料量,因?這將會直接影響總體電流消耗。此類無線模組可設?「信標」模式(Beacon Mode),以便周期性的喚醒和搜索訊號;或者可以在不使用時進入待機模式。
類比感測器需要搭配使用MCU的晶片上ADC模組。一般情?下, ADC採樣所需的時間比轉換時間長得多。在主動模式下的時間越長,電流消耗就越多。但是,一些搭載ADC模組的MCU可以在休眠模式下進行轉換,這就最大程度的?少了在主動模式下所需花費的時間進而降低功耗。
有些MCU整合了多種低功耗主動模式。這些模式提供了可以關閉或降低核心處理器速度的選擇,同時,針對晶片週邊設備選擇性地讓系統時鐘保持在主動模式。
我們經常聽到這樣一種說法,「核心的性能越高,執行任務的速度就越快,那?它就能越早回到休眠模式。」雖然在某些情?下可能確實如此,但是這個邏輯是存在缺陷的。我們要記得核心的功耗比MCU中任何一個其他模組都高。另外,無論速度如何,所有需要核心的任務都必須連續執行(FIFO)。因此,在最後一項任務完成之前核心是不可以被關閉的。當微處理器可以借助無需核心即可運作的整合是週邊設備來平行執行所需任務時,核心的速度就毫不相干了,並且整體功耗也會大幅降低。畢竟,這些新的週邊設被大多數都可以在MCU核心處於休眠模式時正常運作。
由於電池供電應用功能的增多,其設計也越來越複雜。工程師應該研究分析並充分瞭解每個元件在不同功耗和動作模式下的電流消耗概?,以實現最高的電池使用效率。新一代8位元微控制器的全新的週邊設備組合讓工程師可以不用犧牲系統性能就可以進行創造性的設計。
(本文作者為Microchip 亞太區事業開發經理)
**刊頭圖 (Source:sureuniversal)