管理多種低功耗操作模式
優化資源有助于節約電池電量。我們可通過以下五個步驟來適當采用不同的功率操作模式,從而實現功耗的最小化。本文中,我們將以使用壽命長達十年的煙霧探測器為例來逐步進行說明。我們用光學煙箱(optical smoke chamber)來實施煙霧檢測。我們在煙箱中特意內置了彼此隔離的IR發射器和IR接收機。如果出現了火情,煙霧顆粒會進入煙箱,并反射IR傳輸,以便IR接收機接收IR傳輸器的信號。接收到的IR接收機信號極其微小,在20nA到200nA之間。我們用比較器和運算放大器進行信號檢測。比較器用于比較來自IR接收機的信號和參考電壓,從而確定煙箱中是否存在煙霧。運算放大器會將IR接收機的信號放大到107倍。煙霧探測器每五秒鐘工作一次,檢查是否發生火情。一旦檢測到火情,LED指示燈就會發亮,有的煙霧探測器會拉響警報,不過此類案例不在本文考慮之列。圖1顯示了本系統的結構圖。
圖1 煙霧探測電路
確定最大平均電流消耗
確定應用功耗預算的最簡單方法就是明確電池的最大平均電流消耗。這里的計算取決于電池使用壽命以及選擇何種類型的電池。本例選擇的是廉價的220mAh CR2032鋰電池。對于工作年限長達10年的電池而言,CR2032的平均電流消耗為:220mAh x(1000uA/mA)/(10年)/(8760小時/年)=2.5uA
首先關注待機工作模式
許多電池供電的應用在99%以上的時間中均處于睡眠或不工作狀態。應用在睡眠狀態下,中央處理器(CPU)不工作。在睡眠模式中,應用會采用內部定時器運行實時時鐘操作,不過時鐘系統也可能會完全關閉,等待外部事件的發生。為了節約功耗,我們選擇的微控制器(MCU)應確保在系統睡眠狀態下具有極低的功耗,這點尤其重要。睡眠模式的電流消耗會對平均電流消耗造成極大影響。例如,煙霧探測器應每五秒鐘工作一次,檢測火情,也就是說,應用在睡眠狀態下也要進行實時時鐘操作。考慮到睡眠模式電流消耗極低的要求,我們選擇MSP430F2011作為首選MCU。這款MCU可在8位或16位的MCU空間中實現最低的待機電流消耗。在電壓為3V的待機模式下,最高耗電為1.2uA,其中包括用32kHz晶振提供掉電復位保護(BOR)的耗電。我們可用功耗極低的振蕩器(VLO)來進一步降低電流消耗。VLO是一種內置振蕩器,無需外部組件。VLO運行頻率為12kHz,其典型電流消耗不足500nA。在本例中,我們將采用外部晶振。MSP430F2011帶有2KB閃存、128BRAM、帶有兩個捕獲及比較寄存器的定時器,以及10個通用I/O(GPIO)和一個多路復用比較器,能滿足應用系統的最低要求。
為實現最高集成度制定計劃
利用寄存器而非較慢的串行通信端口可以提高集成度,從而加快通信速度,并更好地控制模擬外設。只要不增加外部組件,我們就能盡量減小漏電流。我們為煙霧探測器采用內部比較器;此外還需要采用外部運算放大器。
在待機狀態下關斷外部模擬組件
如果組件消耗的靜態電流較低,那么對節電非常有益,因為組件“總是”通電的,不存在建立時間。對于便攜式應用而言,由于待機時間很長,因而建立時間的問題可以忽略。我們可以考慮采用具備電源關斷功能的外部組件。如果組件不具備關斷引腳,那么我們可嘗試直接從GPIO為組件本身加電,不過條件是組件吸收的電流不超過端口引腳規范。對數字信號處理器(DSP)等組件而言,即便關斷模式也會消耗較大量的電流。對這種組件來說,我們可考慮采用外部開關。MCU采用GPIO控制該開關,在不使用該組件的時候就將其禁用,以使其斷電。在本例中,考慮到IR接收機的電壓在10nV至200nV之間變化,我們需要采用運算放大器。鑒于TLV2760具備關斷模式,因此我們選擇了該器件。這款運算放大器的建立時間為13.5uS,幾乎可以忽略不計。
在工作模式下最小化功耗
待機電流會對平均電流消耗造成極大影響,不過盡可能減小工作狀態下的功耗也非常重要。為了降低功耗,不妨考慮以下建議:
最小化消耗大部分電流的組件的工作時間。
盡可能多地關閉PU。在許多情況下,CPU要等待外設或外部組件完成任務后才能進行進一步的處理。我們應選用在CPU關閉狀態下仍能操作外設的MCU。請確保CPU能迅速喚醒,這樣才能避免浪費時間及電池使用壽命。
避免探詢PIO和外設。在工作模式下,如果因為用戶互動檢查GPIO,就會占用CPU,浪費時間。我們可考慮采用中斷(空間)驅動的架構,如果出現用戶輸入或發生需立即響應的關鍵事件,那么就向CPU發出中斷。
圖1顯示了CPU和外部組件在煙霧探測器工作狀態下功耗情況的粗略估計。請注意,在比較器和運算放大器趨于穩定時,我們要有目的地關閉CPU。IR發射器的功耗最高。因此,我們要高效地打開及關閉IR發射器,盡可能減少其工作時間。待機和工作狀態下總的平均電流消耗為1.38uA,非常接近最大待機電流消耗,即1.2uA。對壽命長達十年的煙霧探測器而言,最大平均電流消耗為2.5uA,而總的平均電流消耗為1.38uA,因此我們能夠實現功耗目標。
電源設計
延長便攜式應用電池使用壽命的另一方面就是要做好電源系統的設計工作,其中包括電池與穩壓器的選用。我們在以下部分將針對延長電池使用壽命給出一些設計小竅門,以提高設計工作的效率。
使用單個電壓源
若采用多個電壓源,對系統來說即耗電又昂貴。此外,多個電壓源還需要增加穩壓器,由于這些穩壓器會不斷吸收電流,因而會大幅縮短電池的使用壽命。添加額外的電壓源會相應提高成本,因為設計中必然會涉及電平轉換器與穩壓器。便攜式應用通常采用3V電源,這是因為目前大多數組件都處于這一電壓范圍內,而且能以足夠的電壓范圍實現高效的模擬性能。
盡可能采用鋰電池
與其它電池技術相比,鋰電池的電壓源輸出最穩定,這有助于延長電池的使用壽命。商用鋰電池的不足之處在于其峰值電流容量較低。如果需要較長的峰值電流,堿性電池更適合。
采用工作電壓范圍寬泛的組件
為了盡可能延長電池使用壽命,我們應采用可支持寬泛工作電壓范圍的組件。不管采用何種電池技術,一段時間之后電壓總會下降;例如,堿性電池會呈線性下降。可支持寬泛電壓范圍的組件將有助于延長電池使用壽命。比較支持2.2V電壓范圍和2.7V電壓范圍的情況,對兩節AA電池而言,使用時間相差一倍。
多個電壓源的電源管理
在有些情況下,我們確實需要多個電壓源。我們不妨以一款DSP系統或32位MCU為例來說明這一問題。這類系統通常具有極高的待機電流消耗,并且還有多個可支持輸入-輸出(I/O)以及核心CPU的電壓軌,如3.0V和1.8V。如果添加低成本的小型MCU,就能在不使用電壓軌時將其關閉。
組件選擇
目前市面上可供選擇的組件有許多種。組件選擇對延長電池使用壽命至關重要。
明確下列問題對您選擇不同的MCU很有幫助:
對待機操作模式產生影響的問題:
應用中最長見待機模式的最大電流消耗是多少?
掉電復位(BOR)保護功能的最大電流消耗是多少?
最大引腳泄漏電流是多少?
影響工作模式的問題:
MCU喚醒時間以及提供快速穩定的內部振蕩器能有多快?
MCU避免探詢的中斷能力如何?
能否對外設進行預配置,以及外設可否由外部事件驅動以便能在不使用CPU時關閉CPU?
回答下列問題將有助于評判不同的模擬組件:
組件是否具備關斷選項?
組件的穩定時間有多快?
能否將相關功能集成至MCU中?
上述有關管理多種低功耗模式、電源設計和組件選擇的步驟并不能確保您的設計無往不勝,不過我們希望這些介紹會對您有所裨益,能為您今后延長便攜式應用的電池使用壽命提供一些參考信息。
評論