節能微控制器設計可延長(cháng)電池壽命
在設計電池供電產(chǎn)品時(shí),人們顯然希望電池壽命盡可能長(cháng)些。能源敏感的產(chǎn)品應用大致分為能源計量系統、家庭與樓宇自動(dòng)化、安全和醫療系統(圖1)。這些產(chǎn)品通常會(huì )圍繞一個(gè)微控制器(MCU),必須用單個(gè)原電池工作很長(cháng)時(shí)間。在某些應用中,更換電池很困難甚至是不可能的,即使在其它普通應用中,用戶(hù)也不大愿意支付更換電池的成本。
這類(lèi)應用中采用的是在極低占空比下工作的微處理器,它在“深度睡眠”狀態(tài)下的時(shí)間可能占了99%甚至更高(達到99.9%也不罕見(jiàn))。微處理器在一個(gè)周期循環(huán)或在回應某些刺激時(shí)被“喚醒”來(lái)執行操作,并返回到睡眠狀態(tài)中。由于它們花了如此多時(shí)間在睡眠狀態(tài),很明顯,獲得更長(cháng)電池壽命的關(guān)鍵是在掉電狀態(tài)下的電流消耗。不過(guò),同一節電池的使用壽命為3或4年與超過(guò)10年、延至20年甚至更長(cháng)之間的區別在于,要密切注意這個(gè)任務(wù)如何使用MCU資源的各個(gè)方面,以及MCU本身是如何設計成以各種方式減少能耗的。
一節單電池可用20年
CR2032紐扣電池廣泛用于小型MCU(如遠程環(huán)境傳感器)中,這是一種鋰/二氧化錳3V原電池。典型的供應商,如柯達(參考文獻1)將其容量*為230mAh到2V的終點(diǎn)電壓能力為5.6k? (約為0.5mA)。如果是那樣的話(huà),電池壽命將為400小時(shí),相比之下,能源敏感的應用可使使用壽命達到20萬(wàn)小時(shí)。
圖1:人們期望新一代的計量產(chǎn)品能在二十年里工作無(wú)人看管。
這種特殊的電池具有很好的使用壽命或自放電率,數據表顯示10年之后其容量仍達90%。非常相似的是,這相當于連續充電約0.25 ?A,如果能夠達到10到20年的電池壽命,那么它可以滿(mǎn)足應用的一般要求。
伴隨電池壽命的是有限的電荷數,設計者必須在MCU運行的所有階段減少產(chǎn)品的電流和運行時(shí)間,不僅要減少每微安數,還要減少每個(gè)動(dòng)作花費的每個(gè)微秒。
為減小深度睡眠模式下消耗的電流,在能源敏感應用的MCU中采用8位(或16位)內核已經(jīng)非常普遍。其理由是,8位內核(即使是在這類(lèi)設計中經(jīng)常采用的最新版本中)很小,門(mén)控相對較少,靜電電流或漏電流較低。但是,現在的許多應用都需要比8位內核所能提供的更大的處理能力。在其它MCU應用領(lǐng)域,用戶(hù)往往選擇從8位升級到一個(gè)32位環(huán)境。在低功耗的情況下,人們一直先入為主地認為32位內核在其掉電模式狀態(tài)下使用的電流一定高得令人無(wú)法接受。隨著(zhù)全套低功耗設計技術(shù)的出現,今天的IC設計工程師已經(jīng)可以用一個(gè)32位ARM內核提供各種低功耗模式,效果與8位產(chǎn)品一樣甚至更好,而且還能實(shí)現快速喚醒。 32位處理器更高的處理性能也使MCU可以更快完成任務(wù),從而能夠有更多時(shí)間處于這些低功耗模式下,這可以進(jìn)一步降低平均功耗。
低功耗外圍設備功能
為實(shí)現盡可能低的功耗,優(yōu)化MCU睡眠狀態(tài)功耗需要整體的設計方法。除了內核,MCU中的其它模塊在待機設備、穩壓器、偏置電流發(fā)生器,欠壓檢測比較儀、上電復位電路中會(huì )繼續消耗電流。幾乎在任何情況下,一個(gè)簡(jiǎn)單的折衷法則是:掉電狀態(tài)越久,就有越多外圍設備的功能被完全關(guān)斷,芯片準備好實(shí)現處理任務(wù)的喚醒時(shí)間就越長(cháng)。由于應用之間差別很大,MCU設計工程師提供一種靈活的斷電狀態(tài)下的擴展套件就顯得很重要了,這樣產(chǎn)品設計人員就可以很好地為其項目進(jìn)行待機功率和響應能力的折衷。
設計一個(gè)在nanoamp區獲得最深度睡眠狀態(tài)電流水平的ARM內核只是低能源戰略的一個(gè)步驟。能夠獲得32位內核的處理能力為管理能源的利用開(kāi)辟了新途徑。在任何時(shí)候,它是MCU供電圖下面的區域,隨著(zhù)時(shí)間的推移,它表示從電池里取走的電荷(圖2)。
圖2:節能MCU內核通過(guò)完整的喚醒/工作/回到睡眠周期在多個(gè)不同區域節省能源。
灰色區域表示相比8位內核,一個(gè)性能更強大的32位內核在更短周期內完成任務(wù)所節省的能量。
就是這樣,在具體配置中電流消耗的數字越大,設計人員就必須更密切注意要最大限度地延長(cháng)電池的使用壽命。在EFM32微控制器的開(kāi)發(fā)工具包中,這種測量是很清楚的,這個(gè)工具包的基本功能部分是先進(jìn)能源.(圖3)。該設備不斷測量給MCU內核供電的電壓軌下的電流。用一個(gè)從模數轉換器(ADC)通過(guò)電阻器采集電壓,而開(kāi)發(fā)工具包軟件集成其讀數來(lái)精確測量不同時(shí)間的功率。
圖3:Energy MICRO的先進(jìn)能源.。
相比性能更低的MCU,一個(gè)32位的內核將花更少的時(shí)間去主動(dòng)完成一項相同的任務(wù),同時(shí),該內核在運行時(shí)消耗的功率也應盡可能低。專(zhuān)注于低功耗的IC設計工程師能夠獲得許多設計細節來(lái)實(shí)現其目標。這樣的例子包括針對所有芯片同步邏輯優(yōu)化時(shí)鐘門(mén)控結構,以及組織總線(xiàn)系統和內存(SRAM和閃存)以在任何特定處理中盡可能減少位跳變。采用全套低功耗設計方法會(huì )在閃存中產(chǎn)生一個(gè)運行典型代碼的ARM Cortex-M3內核,而僅需用到低至180μA/MHz的能量。小心使用這些相同的技術(shù)可以確保其數字測量準確,獲得低時(shí)鐘速率,而不僅僅是一個(gè)最佳性能數字。
一旦MCU被喚醒并執行應用代碼,M3內核使用Thumb2指令集也有助于減少“活躍時(shí)間”。利用這樣的緊湊型16位指令的雙取指令功能,Thumb2ISA的效率非常高。
在減少電流×微秒(current-times-MICROseconds)產(chǎn)品時(shí),MCU設計工程師需要部署更多策略。其中一個(gè)是不僅減少內核在實(shí)際處理應用代碼時(shí)所花的時(shí)間,而且還要縮短喚醒刺激之間的創(chuàng )建(ramp-up)時(shí)間(無(wú)論是定時(shí)生成或事件驅動(dòng)),并且CPU正在準備做“真正的工作”。一種途徑是最大限度地減少與內核時(shí)鐘信號供應相關(guān)的啟動(dòng)時(shí)間。眾所周知,當一個(gè)晶體振蕩器從關(guān)閉狀態(tài)中啟動(dòng)時(shí),在作為一個(gè)系統時(shí)鐘使用之前,它需要一些時(shí)間來(lái)穩定其輸出。相反,一個(gè)RC振蕩器作為MCU必須完成的所有任務(wù)的時(shí)基可能不夠準確,但它會(huì )在開(kāi)機后的幾乎一瞬間產(chǎn)生有規則的輸出。部分解決方案是縮短同時(shí)提供信號的時(shí)間。CPU在開(kāi)機上電的同時(shí)就開(kāi)始運行,由RC振蕩器進(jìn)行計時(shí),而小型控制電路一旦穩定下來(lái)就將時(shí)鐘源傳到一個(gè)晶體振蕩器上。RC振蕩器輸出中任何頻率精度不夠都不重要,因為使用它的周期相對較短。
簡(jiǎn)單任務(wù)無(wú)需MCU內核
盡管設計工程師非常小心地為一個(gè)高性能處理內核提供電源,并且在盡可能短的時(shí)間內實(shí)現了這個(gè)目標,但芯片設計師或系統設計師有必要問(wèn)問(wèn)給定任務(wù)是否需要這樣的內核,即如果喚醒它只是執行簡(jiǎn)單任務(wù)的話(huà),即使是最節能的內核也會(huì )浪費電池的電荷。我們再用環(huán)境傳感器的應用作個(gè)例子,它可能需要定期測量,但只需在不頻繁的時(shí)間間隔內將測量結果報告到中央數據記錄器中。運行通信接口的軟件堆棧一定會(huì )要求喚醒MCU內核,但這會(huì )更頻繁地打開(kāi)模數轉換器,指揮A/D轉換,并以低功耗內存積累結果。如果只要求外圍設備設置在互連矩陣(圖4)控制下自主運行的話(huà),消耗的功率會(huì )更少。由于應用的差別很大,能夠靈活地選擇哪些功能模塊來(lái)供電以及它們如何通信對充分利用這一概念非常重要。
圖4:使用一個(gè)互連矩陣或“外圍設備反射系統”可以執行簡(jiǎn)單的任務(wù)。
在電源預算中加密
眾所周知,在現代CMOS半導體工藝中,為硬連接塊IC增加功能的硅區成本相對較低。這產(chǎn)生了與直覺(jué)略微不一致的結果,為了把功耗降到最低,最有效的選擇往往是增加門(mén)控數。利用先進(jìn)的時(shí)鐘樹(shù)設計、時(shí)鐘門(mén)控和片上電源開(kāi)關(guān)等技術(shù),IC設計工程師可以隨時(shí)輕松地完全關(guān)斷不需要的功能。這種方法的一個(gè)突出功能就是加密。即使是看似平常的數據現在也通過(guò)例行的加密來(lái)保證安全,通常采用被稱(chēng)為AES的算法。這對一個(gè)32位MCU內核而言不是一項具有挑戰性的任務(wù),但它確實(shí)占用了大量的處理器周期,延長(cháng)了總的微安×微秒(MICROamps-times-MICROseconds)。這些周期中的大多數花在了執行算法中的一些內部循環(huán)計算上,增加一個(gè)AES加速器硬件模塊可使MCU停止AES算法,轉向專(zhuān)用硬件,MCU繼續進(jìn)行其他處理,并以更少的周期得到加密(或解密)結果。
迅速擴展的能源敏感應用類(lèi)別(由少數高端類(lèi)別如智能電能計量領(lǐng)導)重新定義了用電池驅動(dòng)一個(gè)產(chǎn)品的意義。這些產(chǎn)品必須在單電池的驅動(dòng)下提供服務(wù),這一時(shí)間與電池本身的有效期一致,并與電池制造商規定的最大時(shí)間間隔(長(cháng)達甚至超過(guò)20年)一致。只有一個(gè)高度集成的單芯片微控制器能為這樣的設計提供一個(gè)現實(shí)的解決辦法。
IC設計工程師十分注重低功耗芯片設計的每個(gè)方面,這樣的IC架構現在可以提供現代、功能強大的32位處理器內核給產(chǎn)品設計工程師,同時(shí)盡可能地降低了功率要求。
評論