在設(shè)計(jì)電池供電產(chǎn)品時(shí),人們顯然希望電池壽命應(yīng)該盡可能長(zhǎng)些。作為一個(gè)快速發(fā)展的設(shè)備種類,從單電池發(fā)展起來(lái)的應(yīng)用不僅僅停留在規(guī)格上:而是以整個(gè)產(chǎn)品的概念為中心。能源敏感的產(chǎn)品應(yīng)用大致分為能源計(jì)量系統(tǒng),、家庭與樓宇自動(dòng)化、安全和醫(yī)療系統(tǒng)(圖1),。這些產(chǎn)品通常會(huì)圍繞一個(gè)微控制器(MCU),,必須用單一的原電池運(yùn)作很長(zhǎng)時(shí)間。在某些應(yīng)用中,,要想更換電池是很難的甚至不可能的:在其它應(yīng)用中,,最終用戶不愿意支付更換電池的成本。
圖1:人們期望新一代的計(jì)量產(chǎn)品能定期報(bào)告其讀數(shù)給計(jì)費(fèi)和資源管理人員,,同時(shí)在二十年里其運(yùn)行無(wú)人看管,。
在這樣的應(yīng)用中采用的是占空比非常低的很活躍的微處理器,在“深度睡眠”狀態(tài)下時(shí)間可能占了99%- 甚至更高,,達(dá)到99.9%也不罕見,。微處理器在一個(gè)周期循環(huán)或在回應(yīng)某些刺激時(shí)被“喚醒”,執(zhí)行操作,,并返回到睡眠狀態(tài)中,。由于它們花了這么多時(shí)間去睡覺,很明顯,,獲得最長(zhǎng)電池壽命的關(guān)鍵參數(shù)是在掉電狀態(tài)下的電流消耗,。不過(guò),同一節(jié)電池的使用壽命為三或四年與超過(guò)10年,,延長(zhǎng)至20年,,甚至更長(zhǎng)時(shí)間的區(qū)別在于要密切注意這個(gè)任務(wù)如何使用MCU資源的每個(gè)方面,以及MCU本身是如何設(shè)計(jì)以各種方式減少能源消耗的,。
一節(jié)單電池用20年
CR2032紐扣電池廣泛用于小型MCU如遠(yuǎn)程環(huán)境傳感器中,,這是一種鋰/二氧化錳3V原電池。典型的供應(yīng)商- 例如,,柯達(dá)(參考1)-評(píng)定230 mAh到2V的終點(diǎn)電壓能力為5.6 kW(約有0.5 mA). 如果是那樣的話,電池壽命將為400小時(shí),,相比之下,,能源敏感的應(yīng)用能使使用壽命達(dá)到20萬(wàn)小時(shí),。這種特殊的電池具有很好的貨架壽命或自放電率,數(shù)據(jù)表顯示10年之后其容量達(dá)90%,。非常相似的是,,這相當(dāng)于連續(xù)充電約0.25 mA, 如果能夠達(dá)到10-20年的電池壽命, 應(yīng)用的一般要求就會(huì)滿足。
伴隨電池壽命的是數(shù)量有限的電荷,,設(shè)計(jì)者必須在MCU運(yùn)行的所有階段減少產(chǎn)品的電流和時(shí)間,,不僅要減少每微安的數(shù)量,也要減少每個(gè)動(dòng)作的每個(gè)微秒,。
為了減少深度睡眠模式下消耗的電流,,在能源敏感應(yīng)用的MCU中采用8位(或16位)內(nèi)核已很普遍。其理由是,,8位內(nèi)核—即使在最新版本中也常常采用這樣的設(shè)計(jì)- -很小,,門控相對(duì)較少,靜電或泄露電流低,。但是,,許多現(xiàn)在的應(yīng)用都需要比8位內(nèi)核更大的處理功率。在其它MCU應(yīng)用領(lǐng)域,,用戶往往選擇從一個(gè)8位升級(jí)到一個(gè)32位環(huán)境,。在低功耗的情況下,人們一直假定32位內(nèi)核在其掉電模式狀態(tài)時(shí)使用的電流一定是高得令人無(wú)法接受的,。隨著全套低功耗設(shè)計(jì)技術(shù)的出現(xiàn),,今天的IC設(shè)計(jì)師們已經(jīng)可能讓一個(gè)32位ARM內(nèi)核提供不同的低功耗模式了,與其8位的競(jìng)爭(zhēng)對(duì)手一樣好,,甚至更好,,而且還能實(shí)現(xiàn)快速喚醒時(shí)間。32位處理器更高的處理性能也使MCU可以更快完成任務(wù),,從而能夠在這些低功耗模式中花更多時(shí)間來(lái)進(jìn)一步降低平均功耗,。
低功耗外圍設(shè)備功能
要優(yōu)化最低耗用功率的MCU睡眠狀態(tài)功耗需要整體的設(shè)計(jì)方法。除了內(nèi)核,,MCU里的其它模塊在待機(jī)設(shè)備,、穩(wěn)壓器、偏置電流發(fā)生器,,欠壓檢測(cè)比較儀,、加電復(fù)位電路中會(huì)繼續(xù)吸引一些電流。在幾乎所有情況下,,簡(jiǎn)單的交替換位都適用; 掉電狀態(tài)越深,,就越多外圍設(shè)備的功能被完全切斷,芯片準(zhǔn)備好實(shí)施處理任務(wù)的喚醒時(shí)間越長(zhǎng),。由于應(yīng)用的差別很大,,MCU設(shè)計(jì)師提供一種靈活的斷電狀態(tài)下的擴(kuò)展套件形式就顯得很重要了,,這樣產(chǎn)品設(shè)計(jì)人員就可以很好地為他個(gè)人的項(xiàng)目進(jìn)行待機(jī)功率和響應(yīng)能力的交替換位。
設(shè)計(jì)實(shí)施ARM內(nèi)核以實(shí)現(xiàn)在nanoamp區(qū)最深睡眠狀態(tài)的電流水平只是低能源戰(zhàn)略的一個(gè)步驟,。能夠提供一個(gè)32位內(nèi)核的處理能力為控制能源使用開辟了新途徑,,在任何時(shí)候,它是MCU供電圖下面的區(qū)域,,隨著時(shí)間的推移,,它表示從電池里取走的電荷(圖2)。就是這樣,,在具體配置中電流消耗的大標(biāo)題數(shù)字越多,,設(shè)計(jì)人員就必須密切注意要最大限度地延長(zhǎng)電池的使用壽命。在EFM32微控制器的開發(fā)工具包中,,這種測(cè)量是很清楚的; 這個(gè)工具包的基本功能部分是其先進(jìn)能源監(jiān)控器(圖3),。該設(shè)施在填充MCU內(nèi)核的電流軌中不斷測(cè)量電流;一個(gè)從模擬到數(shù)字的轉(zhuǎn)換器(ADC)通過(guò)電阻器采集電壓,而開發(fā)工具包軟件集成其讀數(shù)來(lái)精確測(cè)量不同時(shí)間的功率,。
圖2:節(jié)能MCU內(nèi)核通過(guò)完整的喚醒/操作/回到睡眠周期在多個(gè)不同區(qū)域節(jié)省能源,。藍(lán)色區(qū)域表示一個(gè)更強(qiáng)大的32位內(nèi)核完成任務(wù)所節(jié)省的能量,所需的周期比一個(gè)8位內(nèi)核需要的少,,在活躍和睡眠模式下消耗的電流也較少,。
圖3先進(jìn)能源監(jiān)控跟蹤該MCU通過(guò)其嵌入代碼的完整操作周期從電池中吸收的總充電量。
一個(gè)32位的內(nèi)核比能力較小的MCU花更少的時(shí)間去積極完成一項(xiàng)相同的任務(wù):同時(shí),,該內(nèi)核在運(yùn)行時(shí)使用的功率也應(yīng)盡可能低,。集中于低功耗的IC設(shè)計(jì)師們得到了許多精致的設(shè)計(jì)來(lái)實(shí)現(xiàn)其目標(biāo)。例子包括優(yōu)化所有芯片同步邏輯的時(shí)鐘門控結(jié)構(gòu),,并組織總線系統(tǒng)和內(nèi)存–SRAM和閃存- 在任何特定處理中的最小開關(guān)-,。采用全套低功耗設(shè)計(jì)方法會(huì)在閃存中產(chǎn)生一個(gè)運(yùn)行典型代碼的ARM Cortex - M3內(nèi)核,而使用少到180μA/MHz的能量,。認(rèn)真使用這些相同的技術(shù)可以保證數(shù)字測(cè)量準(zhǔn)確,,減少到低時(shí)鐘速率,而不僅是一個(gè)最佳性能數(shù)字,。一旦MCU被喚醒并執(zhí)行應(yīng)用代碼,,M3內(nèi)核使用Thumb2指令集也有助于減少“活躍時(shí)間”。有了這樣的緊湊型16位指令的雙取指令功能,,Thumb2ISA的效率非常好,。
在減少電流乘微秒產(chǎn)品時(shí),MCU設(shè)計(jì)師有很多更好的策略要部署,。一個(gè)是不僅減少內(nèi)核在實(shí)際處理應(yīng)用代碼時(shí)所花的時(shí)間,,而且縮短喚醒刺激之間的解決時(shí)間- 無(wú)論是定時(shí)生成或事件驅(qū)動(dòng)- 并且CPU正在準(zhǔn)備做“真正的工作”。一條線路是最大限度地減少啟動(dòng)時(shí)間以及內(nèi)核的時(shí)鐘信號(hào)供應(yīng)。眾所周知,,當(dāng)一個(gè)晶體振蕩器從關(guān)閉狀態(tài)中啟動(dòng)時(shí),,在作為一個(gè)系統(tǒng)時(shí)鐘使用之前,,它需要一些時(shí)間來(lái)穩(wěn)定其輸出,。相反,一個(gè)RC振蕩器作為MCU必須完成的所有任務(wù)的時(shí)基可能不夠準(zhǔn)確,,但會(huì)在開機(jī)后的幾乎一瞬間產(chǎn)生有規(guī)則的輸出,。部分解決方案是縮短同時(shí)提供信號(hào)的時(shí)間; CPU在開機(jī)的同時(shí)就開始運(yùn)行,用RC振蕩器調(diào)整時(shí)鐘,,而一個(gè)小控制電路等它一穩(wěn)定下來(lái)就將時(shí)鐘源傳到一個(gè)晶體振蕩器上,。RC振蕩器輸出中任何頻率精度的不足都不很重要,因?yàn)槭褂盟闹芷谳^短,。
簡(jiǎn)單的任務(wù)不需要MCU內(nèi)核
盡管設(shè)計(jì)師十分注意要用一個(gè)有能力的處理內(nèi)核來(lái)提供功率,,并且在盡可能短的時(shí)間內(nèi)實(shí)現(xiàn)了這個(gè)目標(biāo),對(duì)芯片設(shè)計(jì)師和系統(tǒng)設(shè)計(jì)師有用的是要問問給定任務(wù)是否需要這樣的內(nèi)核:如果喚醒它只是執(zhí)行簡(jiǎn)單任務(wù)的話,,即使是最節(jié)能的內(nèi)核也會(huì)浪費(fèi)電池的電荷,。我們?cè)儆铆h(huán)境傳感器的應(yīng)用作個(gè)例子–它可能需要定期測(cè)量,但只需在不頻繁的時(shí)間間隔內(nèi)將測(cè)量結(jié)果報(bào)告到中央數(shù)據(jù)記錄器里,。運(yùn)行通信接口的軟件堆棧一定會(huì)要求喚醒MCU內(nèi)核,,但會(huì)更頻繁地打開模擬到數(shù)字的轉(zhuǎn)換器,指揮A / D轉(zhuǎn)換,,并以低功耗內(nèi)存積累結(jié)果,,如果只要求外圍設(shè)備設(shè)置在互連矩陣(圖4)的控制下自主運(yùn)作的話,消耗的功率會(huì)很少,。由于應(yīng)用的差別很大,,選擇哪些功能模塊來(lái)供電以及它們?nèi)绾芜B接的高度靈活性對(duì)充分利用這一概念非常重要。
圖4使用一個(gè)互連矩陣或'外圍設(shè)備反射系統(tǒng)'可以執(zhí)行簡(jiǎn)單的任務(wù)如開始數(shù)據(jù)轉(zhuǎn)換和存儲(chǔ)結(jié)果,,完全無(wú)需喚醒32位處理器內(nèi)核,。
在電源預(yù)算中加密碼
眾所周知,在現(xiàn)代CMOS半導(dǎo)體工藝中,,為硬連接塊IC增加功能的硅區(qū)成本相對(duì)較低,。這產(chǎn)生了輕微的與直覺不一致的結(jié)果,為了把功耗降到最低,,最有效的選擇往往是增加門控?cái)?shù),。有了先進(jìn)的鐘樹設(shè)計(jì)、時(shí)鐘門控和線路板電源開關(guān),,IC設(shè)計(jì)人員可以隨時(shí)隨地很容易地完全切斷電源,。這種方法的一個(gè)突出功能就是加密。即使是看似平常的數(shù)據(jù)現(xiàn)在也通過(guò)例行的加密來(lái)保證安全,通常已知的算法為AES,。這對(duì)一個(gè)32位MCU內(nèi)核而言不是一項(xiàng)具有挑戰(zhàn)性的任務(wù),,但它確實(shí)占用了大量的處理器周期,延長(zhǎng)了總的微安倍乘總微秒,。大多數(shù)這些周期花在了執(zhí)行一些內(nèi)部循環(huán)中的算法上; 增加一個(gè)AES加速器硬件模塊會(huì)使MCU停止AES算法,,轉(zhuǎn)向?qū)S糜布⑴c其它處理器和睦相處,,以更少的周期得到加密(或解密)結(jié)果,。
迅速擴(kuò)大的能源敏感應(yīng)用類別- 由少數(shù)高端類別如智能電能計(jì)量領(lǐng)導(dǎo)- 重新界定了用電池驅(qū)動(dòng)一個(gè)產(chǎn)品的意思:這些產(chǎn)品必須在一個(gè)單電池的驅(qū)動(dòng)下提供服務(wù),并比較電池本身的貨架期,,在電池制造商指定的最大時(shí)間間隔的相同范圍內(nèi):達(dá)到,,甚至超過(guò)20年。只有一個(gè)高度集成的單芯片的微控制器能為這樣的設(shè)計(jì)提供一個(gè)現(xiàn)實(shí)的解決辦法,。IC設(shè)計(jì)師們十分注重低功耗芯片設(shè)計(jì)的每個(gè)方面,,現(xiàn)在可以提供現(xiàn)代、功能強(qiáng)大的32位處理器內(nèi)核給產(chǎn)品設(shè)計(jì)師了,,而同時(shí)盡可能地降低了功率要求,。
作者簡(jiǎn)介:
Rasmus Larsen, Energy Micro的培訓(xùn)和支持經(jīng)理,
Rasmus領(lǐng)導(dǎo)Energy Micro的技術(shù)支持團(tuán)隊(duì),負(fù)責(zé)培訓(xùn)其全球的銷售渠道人員,。作為Energy Micro的第一個(gè)微控制器,EFM32的設(shè)計(jì)者之一,,Rasmus具有EFM32產(chǎn)品系列的廣博知識(shí)。他曾為Atmel(AVR)工作過(guò),,持有挪威特隆赫姆NTNU的MSEE學(xué)位,。
參考1:柯達(dá)CR2032紐扣電池的數(shù)據(jù)表:http://www.kodak.com/eknec/documents/fb/0900688a8019d7fb/KCR2032.pdf