優化面向超低功耗設計的微控制器功效
不論是消費、工業還是醫療應用,功耗優化一般都是通過縮短有效處理時間以及延長處理器睡眠模式時間來實現的。不過,隨著超低功率應用的出現,這種方法已然無法滿足要求。單電池工作、接近電池閾值的充放電,電機和/或高亮LED的控制需求,以及減小器件外形尺寸并降低成本,種種趨勢已經改變了開發人員的功耗優化方式。
對于電動牙刷、PMP、遙控器、無線傳感器以及其它便攜和手持式設備來說,必須將功率管理貫穿于系統的各個層面。通過高效單電池電壓轉換優化功耗、利用多種電流模式、引入智能電池管理、在應用級采用節能技術,便可以在整個系統范圍實現功耗調節。
高效的電壓轉換
許多超低功率應用都在向單電池架構方向發展,以降低器件成本,減小尺寸和重量。這三個要素也是決定電池供電便攜式應用產品成功與否的關鍵。很多時候,電池甚至比其它所有元器件加上PCB還要重。此外,標準AA或AAA電池通常是PCB上最大的組件。將電源精簡為單個電池的方案頗具吸引力,因為其能夠簡化電池座設計,并使產品的整體結構變得更輕巧。
不過,單電池電源的設計也給設計人員帶來了各種新的挑戰。雖然當完全充滿電后,單電池的電壓范圍通常在1.2V-1.5V,但實際上即便電池電壓降至1V以下,仍有相當多的能量可供使用。電源電壓為1.8V的MCU需要至少兩個電池串聯工作。而有些應用,比如利用很大的正向電壓驅動高亮度LED,更是需要4個電池之多。為了通過單電池來驅動電機、LED甚至是處理器本身,必須利用一個調節器,把現有電壓提升到合適的水平。然而升壓調節器的成本幾乎就相當于一個MCU,而且還需要占用很多PCB空間。此外,有些調節器還必須通過MCU來控制,從而進一步增加了設計的復雜性。
MCU內的集成自管理升壓調節器的無縫工作,不僅可以避免由外部調節器帶來的大多數成本和空間問題,而且相比采用外部DC-DC轉換器,其MCU還能提供更高的功效。例如,集成式調節器ATtiny43U(見圖1)就能夠提升低至0.7V的電壓,較之由其它類型實現方案支持的技術更能在接近電池儲量的極限下放電。一個集成式調節器還可實現相當小的無功電流(ATtiny43U的典型值是1uA),而且一旦有足夠電壓,就能夠自動啟動(1.2V表示滿電池或接近充電完成)。
圖1. 集成一個升壓調節器使ATtiny43U能夠在電壓低至0.7 V的單電池下工作,有效驅動高達10mA的負載電流。而且,相比其它類型的實現方案,它更允許放電更接近電池儲量的極限。
除此之外,這種調節器還支持所有的電池技術,賦予設計人員充分自由來選擇針對某種特定應用的最佳電池。電池電壓范圍為0.7V-1.8V,開發人員可以使用1.6V堿性電池或氧化銀電池、1.5V鋰電池、1.4V鋅空氣電池(Zinc-Air),以及1.2V鎳氫和鎳鎘電池等。
升壓及低電流模式
對許多應用而言,無外部驅動電路的大電流能力也十分重要。ATtiny43U的升壓調節器具有高達30mA的電流驅動能力,能夠直接控制高亮LED和小型電機。由于該調節器是MCU的一個集成部分,所以可針對架構進行優化,最大限度提高效率。例如,圖2就顯示了ATtiny43U對基于剩余電荷的特定負載電流的轉換效率。
圖2. 一個集成式升壓調節器針對其MCU架構而優化,使不同負載和電源電壓下的轉換效率最大化。由于無需外部調節器,集成式調節器還能減小板上空間要求,降低總體系統成本。
如圖所示,相比電流較小的工作,大電流工作的效率更低。不過,大部分大電流應用并不需要在大電流模式下連續工作。譬如,電動牙刷或相機只是偶爾才啟動電機工作。如果其架構被鎖定在大電流模式,即使在只需要很小耗電量的情況下,這些設備的工作效率也很低;這就是說,調節器將以大電流工作條件下的低效率特性來提供低電流。
要維持效率的話,MCU便必須能夠支持多種工作模式。于是,當設備需要大電流和嚴格調節的Vcc時,MCU和調節器便會在調節模式(Regulated Mode)下工作。另一方面,當電機或其它外設閑置,且負載電流降至0.6mA以下時,調節器則自動切換到低電流模式(Low Current Mode),更有效地調節功耗。
圖3. 本圖所示為一個升壓轉換器在不同負載下的典型輸出電壓曲線。在輕載或空載時(綠色曲線),測得的轉換時間(上升電壓)為數百微秒,而閑置時間(下降電壓)為數秒。要注意的是這種變化是發生在MCU處于省電模式或功耗極小時。在主要工作模式,即有源調節模式下,輸出電壓仍保持穩定(3V +/- 100mV)(紅色曲線)。
此外,在輕載或空載時,調節模式下的轉換器將周期性達到它的占空比低限。通過自動切換到低電流模式,轉換器便停止轉換,耗電量被降至最小,但同時仍然保持有源狀態(見圖3)。當MCU處于斷電或功耗極小時,輸出電壓便會出現這種變化。而在主要工作模式,即有源調節模式(Active Regulated Mode)下,輸出電壓仍保持穩定(3V +/- 100mV)。另外需注意的是,典型轉換電壓會隨電池能量的消耗而變化(見圖4)。調節器是一個獨立的子系統,無需MCU的主動管理。不過,對于那些需要更直接地控制升壓調節器的設計人員而言,某些特性可利用軟件來加以控制。
由于實際效率取決于應用,故集成所有與功率調節相關的無源器件毫無意義。例如,成本是某些市場的主導因素,而在另一些市場,最重要的推動力卻可能是使用壽命。與其被迫采用針對其它市場而優化的無源器件,或所有應用都還算滿意但非最佳的產品,開發人員還不如選擇能夠給自己的應用提供最佳平衡的的無源元件。而這只需區區幾個元件就可以做到(即一個電感、兩個旁路電容和一個肖特基二極管)。
智能電池管理
準確估算剩余能量,是最大化電視電量使用率的重要因素。譬如,充電電池需要在設置范圍內進行嚴密監控和充電控制,以確保電池的安全使用,并獲得盡可能長的使用壽命。剩余電荷的估算越準確,電池就越能夠接近極限容量來安全充放電,而不必擔心因充放電過度對電池造成損害。
雖然更精密的電池充放電控制意味著電池有更多可用能量,從而使用時間更長,但這種控制方式缺乏靈活性,而且可能嚴重限制處理器能夠支持的電池技術。例如,不同化學性質的電池具有不同的安全充放電電壓閾值,如果MCU有固定閾值或在閾值配置方式上有所限制,那么其就會成為MCU有效管理的電池技術方面的障礙。因此,開發人員可能會被迫根據所選用的MCU來使用特定電池,而不是選擇最適合的電池技術。
對于必須替換電池的應用,支持充電電池的靈活性至關重要。充電電池的閾值相比一次性電池大為不同,如果消耗過度,可能會損害其總體充電容量。由此造成的使用時間縮短,極可能被歸類為設備故障而不是電池故障。ATtiny43U的固件能夠利用內建ADC來監控電池電壓,并決定什么時候讓設備進入停機模式(Stop Mode),從而徹底消耗一次性電池的電量,同時確保充電電池在多個充電周期上都能夠獲得最長的使用時間。
雖然自動關斷處理器可以保護充電電池,但是從應用的角度來看,突然斷電可能是不可接受的。例如,突然關斷相機會致使鏡頭暴露在外,令鏡頭容易受損。因此,設計人員可以通過一個重要的功率管理元件來準確估算剩余的能量。比如,利用ATtiny43U的10位ADC每隔一定時間對電池電壓進行測量,就可以達到前述目的。采用這種方法,就有機會在設備關斷之前,讓各個器件進入安全配置。
在應用級實現高功效
許多應用都會加入一個MCU作為主機處理器的輔助處理器,用于卸載顯示器刷新、鍵盤監控、小型電機工作以及智能電池管理等任務。采用輔助處理器的優勢在于,MCU能夠以高于應用處理器的功效來執行這些功能。譬如,一個監控鍵盤的應用處理器必須被頻繁喚醒來執行任務。而因為MCU在工作模式下的功耗小于應用處理器,所以采用MCU來監控鍵盤及更新顯示器便可以使應用處理器更長時間地連續處于睡眠狀態,從而節省可觀的能量。
當然,處理效率也對功效有重大影響,因為MCU每個周期能執行的工作越多,它進入睡眠模式的速度也就越快。而提高時鐘頻率會增加功耗,故效率更高的MCU架構能夠支持在單個周期內一個動態工作頻率和執行指令,并執行外設自動化管理。
超低功耗MCU還需要多種睡眠模式。例如,一個傳感器應用可以監控溫度,直到它超過閾值。如果在監控期間整個MCU處于工作模式的話,所消耗的能量會比實際需要的更多。支持不同的睡眠模式,允許開發人員關斷設備的不同部分,實現更佳的節能效果(見表1)。
表1. 超低功耗MCU具有多種睡眠模式,因此在僅需有限功能而無需整個MCU以大功率工作模式工作的時候,開發人員可在不同的低功耗閑置模式下配置一個超低功耗MCU。
ATtiny43U架構中有數種架構創新技術,可供開發人員用于提高工作模式和睡眠模式下的功效:
精確的電源電壓:雖然MCU可以接受單電壓電源,但在架構上它可能有多個不同的內部電壓。這樣的設計方法帶來了低功效,因為動態功率高于預期。若所有模擬外設、閃存、EEPROM及RAM都工作在同一個電壓下時,設備的總體功耗便會降低。
泄漏電流最小化:溫度、電源電壓和工藝技術都會影響泄漏電流。超低功耗MCU不是對現有架構進行修改,使其能夠在更低電壓之下工作,而是必須以功效為理念從頭開始設計,而愛特梅爾的picoPower AVR微控制器系列就是一個示例。
低功率欠壓檢測(Brown-Out Detection, BOD):雖然零功率欠壓檢測器不會消耗功率,但它們的響應速度也很慢,可能需要足足一毫秒的時間來檢測閾值以下的電壓,這就給MCU帶來了風險。相反地,“睡眠BOD”卻能夠在2微秒內檢測出欠壓情況,而耗電量只有20uA。由于MCU在深睡眠模式下無需欠壓保護,這時可關斷睡眠BOD,并達致零功耗。采用這種方法,開發人員便能夠同時實現低功耗和快速響應。
數字輸入中斷寄存器(DIDR): 外設(比如ADC)的多路輸入,可以提高小引腳數目器件的設計靈活性。不過,在加載Vcc/2范圍內的電壓時,含有輸入緩沖器的晶體管將出現電流泄漏。這時,若使用專門的輸入中斷寄存器,在每一個模擬輸入中加入一個禁止位,開發人員便可以單獨禁止輸入緩沖器,避免泄漏的發生。
時鐘門控:時鐘門控技術可以降低任何時鐘域的切換頻率。任何沒有使用的時鐘都可以進行門控,從而避免無謂的功耗。
省電寄存器:雖然多種睡眠模式可簡化功率管理,但它們往往只能夠啟動或關斷整個外設部分。這樣,即使只使用一個外設,其它的外設也必須處于工作狀態下。省電寄存器(Power Reduction Register)可讓開發人員能夠完全單獨控制各個外設模塊的開關。在工作模式下禁用某個外設模塊可以降低5-10%的總功耗;在閑置模式下則可節省10-20%。
閃存采樣:傳統的閃存設計是要在工作模式下維持激活狀態。然而,在時鐘速率較低時,閃存讀取時間將小于時鐘周期。閃存采樣技術就是讓閃存以10ns數量級的速度對陣列內容進行采樣,然后立即禁用,從而降低平均功耗。
快速喚醒:如果系統被喚醒速度很慢,就不得不以更長時間處于工作模式下,以適應更長的延時,防止實時事件處理的中斷。換言之,MCU被喚醒的速度越快,它停留在睡眠模式下的時間就越長。
如何選擇超低功耗/超低電壓MCU
在評估不同的超低功率MCU規格時,開發人員必須頭腦清醒,從而確保等效測量結果的比較。例如,應該考慮到:
? 某個范圍內的效率:效率規格通常是根據MCU的最佳測量(最佳點)結果而不是負載電流電壓上的結果給出。某個應用的典型工作范圍可能使其位于較低效率的曲線上。此外,效率必須在電池的整個電壓降范圍上進行估算。
? 電池的安全工作范圍:雖然MCU的耗電量也許相當小,但如果無法足夠精確地測量電壓和溫度,那么電池限值就可能被超過,導致電池受損及使用時間縮短。在確定設備可安全使用的電池能量時,精度是一個關鍵因素。
? 調節器低效:無升壓調節器的MCU有更高的效率規格,因為轉換損耗隱藏在外部調節器中。此外,在單電池設計中,如果MCU沒有集成調節器,切記把外部升壓調節器的成本和設計復雜性考慮在內。
? 設備整個使用范圍內的效率:在驅動大電流時,MCU的效率可能很高,但除非它有多個工作模式,否則在驅動低電流時,它的效率會很低。因此,如果應用并非經常需要大電流能力,總體效率便會降低。
? 規格是利用單個還是多個電池測得:某些MCU規格會隨著所用電池的數量而改變。例如,如果有多個電池,便可以避過使用內部升壓調節器,從而提高效率。反之,在只使用單個電池時,利用多個電池獲得的各種規格(比如喚醒時間)可能會降低。
? 開發環境的成熟度:實現超低功率需要架構層的創新。基于全新架構的超低功率MCU常常最多只能提供仍在開發中的有限設計工具。由于軟件開發是最重要的成本因素之一,設計工具的穩定性、完整性和功能性,在幫助開發人員有效地管理功耗,以及快速把產品推向市場時發揮了舉足輕重的作用。
圖5. 利用STK600和ATtinyx3U頂層模塊等演示工具套件,開發人員可測量實際工作條件下的功效。這些工具套件讓開發人員能夠全面使用ATtiny43U的功能和Ateml豐富成熟的開發工具套件來測試單電池工作,獲得高亮度LED的功率曲線,調節功率閾值,從而在安全范圍內充分利用電池的最大容量。
確定MCU功耗如何“超低”的方法之一,是自己對其進行測量。演示工具套件(Demo Kits)為測試MCU在實際工作條件下的效率以及利用其功能集提供了行之有效的手段。例如,只要把ATtinyx3U頂層模塊(top module) 連接在STK600開發板上,開發人員便能夠全面使用ATtiny43U的功能和Atmel全面的開發工具套件(見圖5)。利用該模塊,開發人員可以測試單電池工作的限值,在直接驅動高亮LED的同時設定功耗輪廓,以及驅動集成式升壓調節器的自動關斷和上電功能,以調節功率閾值,在安全范圍內充分利用電池的最大容量。
小結
單電池設計無需備用電池載荷,而備用電池往往正是超低功率系統中最重和體積最大的組件。集成了片上調節器并具有可配置模式的MCU ,可以有效彌補MCU的極小電源電壓和標準單電池技術的典型輸出電壓之間的差距,使開發人員得以把已有負載條件及電池電壓下的功耗降至最小。只需一個電池,無需外部調節器,憑借低至0.7V的電池耗電能力,以及用于LED和小型電機的大電流能力,設計人員便能夠以最低的成本、絕對超低的功耗設計出緊湊型的電池供電設備。
?
評論
查看更多