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