減少能源是世界上廣泛存在的運動,涵蓋電器,交通,娛樂,通信,計算,醫(yī)療設備等項目。使用電力的一切都消耗能量,從而消耗能量。由于能源是由戰(zhàn)爭產(chǎn)生的,并且成本上升,涓流效應使得一切對能源效率更敏感,特別是在產(chǎn)品壽命期間的能源成本方面。
當我們受到挑戰(zhàn)時,已經(jīng)取得了巨大的進步,我們所有人都感受到了這些好處。例如,當加利福尼亞州立法規(guī)定冰箱必須更節(jié)能時,該行業(yè)迎接挑戰(zhàn),創(chuàng)造了滿足指導方針所需的新技術,世界上每個人都因此而變得更好。根據(jù)加利福尼亞大學的研究,僅在加利福尼亞,部署低能耗冰箱所節(jié)省的能源就無需在10年內(nèi)建造50座燃煤電廠。當人口眾多時,乘以很少的積蓄就會增加。
與電加熱元件相比,任何微處理器或微控制器所需的能量似乎都微不足道。然而,龐大的人口乘數(shù)使得這個數(shù)字非常顯著,特別是在虛擬載荷方面?;孟筘撦d是即使在關閉設備時也會消耗功率的設備。因為我們生活在一個隨需應變 - 我們現(xiàn)在想要它 - 社會,像電視機這樣的東西,不斷吸取相當大的力量,以便能夠‘加速’更快。
能源研究表明,僅在美國,高達10%的國內(nèi)電力是由于幻象負載造成的,而嵌入式智能可以改變我們周圍世界的運作方式。像Qi新無線電源標準中使用的更智能的電源,在完全充電或不需要時自行關閉。
隨著更多電池供電的玩具和設備的使用,微控制器本身也在進行轉型,以減少運行時的能源需求。這可以延長電池壽命。這不僅僅是一個市場營銷,當你的小工具可以在電池上使用更長時間時,這可以節(jié)省生命。例如,您想要更換除顫器或起搏器的頻率。
低壓CMOS工藝大大降低了現(xiàn)代微控制器所需的功率,但是,設計系統(tǒng)的能源要比制造工藝低得多。設計一個減少能源的系統(tǒng)需要不同的思維方式。此外,必須有硬件資源以及軟件開發(fā)工具才能將這種節(jié)能提升到新的水平。
本文重點介紹一種降低嵌入式系統(tǒng)能耗需求的新方法。這種方法和產(chǎn)品來自一家名為Energy Micro的公司,該公司推出了一系列Energy Friendly Micros(EFMs)。
稱為Geckos(因為Gecko只使用相同大小的哺乳動物能量的10%),EFM是ARM Cortex(M0和M3)風味的微控制器(見圖1),嵌入了巧妙的技術和技術,大大降低了能量使用,如果你知道如何利用它。
我們將在這里探討這些零件,技術和工具,為您介紹一種接近低能耗設計的新方法,包括使用新型硬件,新型軟件工具以及接近系統(tǒng)的新方法設計。所有這些都在能源微型公司聲稱的延長電池壽命方面發(fā)揮了至關重要的作用。
圖1:Geckos EFMs-ARM Cortex(M0和M3)風味微控制器,嵌入了巧妙的技術和技術,大大降低了能耗。
任何其他名稱的ARM
您可能會說ARM內(nèi)核是ARM內(nèi)核。你沒有太多可以做的事情來降低它的功率,除了時鐘慢或讓它睡覺。使用的能量與CMOS電路中的時鐘速度成正比。這意味著,通過創(chuàng)新的時鐘和時鐘管理,可以節(jié)省大量功率。
雖然微型進入低功耗模式以減少能量時使用第二個晶體并不少見,但Energy Micro更進了一步。通常情況下,低頻晶體為32.768 KHz,因為這可以很好地解析實時時鐘的精確滴答。與高達48 MHz的范圍相比,這些EFM部件可以工作,切換到32.768 KHz可以節(jié)省相當多的功率。
通過讓您選擇更低的頻率并使用能夠最大化能量的低功率振蕩器,可以進一步降低這一點。 Energy Micro增加了另外兩種能耗更低的低能量R/C振蕩器。這些不是晶體的精度,但許多設計可能不需要這種精度。
R/C振蕩器可以像任何其他振蕩器一樣接入和使用(見圖2),并允許主晶體關閉,特別是如果外圍設備可以使用較低頻率的時鐘。為此,整個芯片的時鐘管理和使用變得至關重要,而另一個地方是Energy Micro將這項技術提升到了一個新的水平。通過使用新設計的低能耗外設。
圖2:R/C振蕩器可以像任何其他振蕩器一樣接入和使用。
不是自己的島嶼
沒有處理器或處理器核心本身就是一個孤島。為了有用,它被一組豐富的外圍功能所包圍,這些功能可以進行通信,計算,加密/解密,移動數(shù)據(jù),在模擬/數(shù)字之間進行轉換等等。這些外圍接口中的每一個都是能量減少的公平游戲,而這正是Energy Micro所做的。
Energy Micro不是使用舊世界的外圍設備IP,而是從頭開始設計所有新的外圍功能,旨在減少能耗。這很重要,因為像電視一樣,外圍設備總是在需要時提供一些功能。
一個完美的例子是它們的低能量UART(見圖3)。 Energy Micro從頭開始設計,而不是使用標準的3.6864 MHz或11.0592 MHz頻率,而是在運行時使用32.768 KHz時鐘節(jié)省能量。
圖3:Energy Micro的低能耗UART。
Gecko利用專用的低功耗硬件,快速檢測數(shù)據(jù)包的啟動和喚醒,使UART處于睡眠模式,直到檢測到數(shù)據(jù)包開始為止。低能量UART僅吸收150納安,支持高達9600的波特率。通過切換更高頻率的時鐘和使用非低能量UARTS,可以實現(xiàn)更高的波特率。
所有關鍵的耗電外設都經(jīng)過重新設計,使用更低的能量和更慢的時鐘。定時器,A/D,D/A,DMA,SPI,多主IIC,計數(shù)器等都是新的低能耗版本,其運行功率僅為其他微處理器標準外設的一小部分。表1顯示了這對于運行時功耗的有效性。
Meditative vs REM
我們有兩種以上的睡眠狀態(tài),EFM32也是如此(見圖4)。顏色表明在每種睡眠模式下外設都處于活動狀態(tài),您可能會驚訝地發(fā)現(xiàn),需要或生成數(shù)據(jù)的復雜外設可以在不喚醒核心微控制器的情況下運行。
圖4:具有兩種睡眠狀態(tài)的EFM32。
完全關閉模式消耗20納安。 GPIO引腳或復位可以在2 uSec內(nèi)喚醒它。您可以使用400 nanoAmp繪制保留實時時鐘和512字節(jié)的SRAM。
下一個最低狀態(tài)是停止模式,它吸收600納安。停止模式保留CPU寄存器和內(nèi)部RAM,各種模擬和數(shù)字功能也可用,如D/A,運算放大器和比較器,掉電檢測器,IIC,看門狗和便攜式脈沖計數(shù)器(更多)在此之后)。
深度休眠模式(900納安)增加了USB,UART,定時器/計數(shù)器,傳感器接口和LCD驅動器功能,而休眠模式(45 uA/MHz)增加了TFT驅動器,外部總線接口,ADC,AES和更多, - 所有的一切都是微睡的。
如何在不喚醒micro的情況下實現(xiàn)此功能?通過使用自主狀態(tài)機來協(xié)調(diào)內(nèi)部外圍設備的活動而無需微觀干預。
Energy Micro將其稱為反射總線(參見圖5),它實際上是一個基于內(nèi)部狀態(tài)機的序列發(fā)生器,允許低能量外設相互排隊,傳遞數(shù)據(jù),并在核心處于睡眠狀態(tài)時進行通信。
圖5:Energy Micro反射總線。
例如,接力棒傳遞觸發(fā)機制,例如重復的實時時鐘滴答,可以以精確的間隔觸發(fā)A/D轉換。轉換后的數(shù)據(jù)觸發(fā)DMA將該值移動到內(nèi)存緩沖區(qū),觸發(fā)計數(shù)器更新計數(shù)。當已經(jīng)采集了預定數(shù)量的樣本時,您可以喚醒具有要操作的數(shù)據(jù)塊的微觀,而不僅僅是單個樣本。
這只是核心微觀睡眠時如何發(fā)生相對復雜功能的一個例子。其他包括LCD動畫,TFT刷新,關鍵感興趣傳感器預處理和事件檢測。
睡眠工作
從傳感器獲取的處理數(shù)據(jù)是最大的嵌入式系統(tǒng)應用之一,特別是涉及電池供電設備時,無論是現(xiàn)場部署,手持,通過能量采集供電,還是磨損和使用醫(yī)療設備。
從可穿戴式血壓和血糖監(jiān)測儀到遠程環(huán)境監(jiān)測,訪問傳感器,處理一些數(shù)據(jù),然后再回到睡眠狀態(tài)是延長可用電池壽命的唯一方法。
對于定期間隔的事件,這可能非常簡單。 Micro進入睡眠狀態(tài),定期醒來,執(zhí)行功能,然后重新進入睡眠狀態(tài)(參見圖6A)。這些是時間驅動的事件。實時時鐘中斷可以喚醒微觀,功率曲線下面積是使用的總能量。任何微架構都可以很好地優(yōu)化這種類型的硬件和軟件。
圖6A:Micro進入睡眠狀態(tài),定期醒來,執(zhí)行功能,然后重新進入睡眠狀態(tài)。
通過事件驅動檢測,這變得更加成問題,并且可能非常浪費能源。微觀必須不斷醒來并檢查表明事件已經(jīng)開始的情況。如果未檢測到任何事件,MCU將返回休眠狀態(tài)(參見圖6B)。只有在事件發(fā)生時才會保持清醒并執(zhí)行。
圖6B:如果未檢測到任何事件,MCU將返回休眠狀態(tài)。
喚醒之間的時間間隔決定了您的時間戳分辨率。如果微觀每秒喚醒,那就是你的時間分辨率。你醒來的頻率越高,你從睡眠模式中抽出的力量越多,檢查,然后再回到睡眠狀態(tài)。不幸的是,為了更好地工作,設備必須更具響應性,這意味著要花更多時間來檢查事件。
采取心臟監(jiān)護儀記錄事件數(shù)據(jù)給醫(yī)生。如果它睡得太久并且錯過了醫(yī)生需要的關鍵數(shù)據(jù),那就不是很有效了。如果它在事件發(fā)生時捕獲事件并記錄數(shù)據(jù),則它是有效的。如果它使用了太多的功率并且在找到任何東西之前就已經(jīng)死了,那么它就無效了。
在追捕事件發(fā)生之前,數(shù)百,數(shù)千或數(shù)百萬次喚醒(或更多)的情況并不少見。隨著時間的推移,這種力量是你浪費的能量,它可以加起來。
專用硬件只有在需要保存所有不必要的喚醒時才能用于中斷。這是一種節(jié)能方法,但可能不是具有成本效益或PCB空間有效的解決方案。這種專用硬件需要在芯片上,這就是反射總線和低能量傳感器總線(LESENSE)為您做的事情。
LESENSE利用片上模擬比較器和運算放大器,A/D轉換器和數(shù)字比較器,實現(xiàn)自運行,基于周期,事件檢測,數(shù)據(jù)采集處理(有限擴展)和控制。
為了說明這一點,讓我們看一下可用于執(zhí)行流速檢測和累積的電感式傳感器應用(參見圖7)。金屬以圓形二進制計數(shù)配置排列,因此當金屬條(暗)靠近感應線圈時,它會改變其振蕩特性。
圖7:可用于執(zhí)行流速檢測和累積的電感式傳感器應用。
電感器附近沒有金屬,電感器可以以眾所周知的預期衰減率自由振鈴。如果使用片上運算放大器和比較器來創(chuàng)建閾值檢測器,則結果是脈沖序列事件。脈沖計數(shù)器對這些脈沖進行計數(shù)并累計計數(shù)。計數(shù)超過預定的閾值,微觀保持睡眠狀態(tài)。這沒東西看。
如果金屬非??拷?,振蕩器會受到抑制,脈沖計數(shù)會降低。這個較低的計數(shù)可以觸發(fā)微型喚醒并采取行動,因為發(fā)生了需要微處理的事件。注意:生成正交波形是為了讓微觀知道旋轉方向以及速率。
交易工具
為了更有效地編碼,需要新工具讓軟件工程師利用低能量編碼技術。蠻力有其自己的位置,但不是在每個循環(huán)時間取得力量時。
為了解決這個問題,Energy Micro在公司中創(chuàng)建了一個頂級職位,開發(fā)和維護一套易于使用,理解和有效的新工具套件,以減少處理器運行時間和開發(fā)時間。
全面的開發(fā)工具套件稱為Simplicity Studio,它包含多個工具,可加快代碼開發(fā)速度,讓設計人員通過能量感知運行時功能降低能耗。
有關Simplicity Studio所有功能的詳細信息將成為另一篇完整文章的主題。所以,在這里,為了說明這是如何有效,我們將看一個集成工具來展示它的效果。
Energy Profiler讓您可以實時查看代碼運行時使用的能量(參見圖8)。作為條形圖(右下角),顯示每個主程序使用的功率量,代碼(左側)也是如此。
圖8:Energy Profiler可讓您實時查看代碼運行時使用的能量。
關鍵是運行時能量抽取(右上角),它顯示實時電流消耗。注意每個小的紅色指標??梢詥螕羝渲腥魏我粋€以顯示在該級別運行的代碼。
這對減少常規(guī)能量特別有用。例如,如果您看到使用的能量塊很長且持續(xù)時間很長,您可以單擊它來查看基礎代碼。例如,如果它是一個‘WHILE’循環(huán),你可能想要改變它以使用一個計時器,讓微睡眠,然后讓它喚醒更接近準備繼續(xù)前進的時間。這樣可以在微型電源等待事件時保存所有活動時間。
熄燈
開發(fā)低能耗系統(tǒng)是一門經(jīng)驗和支持的學科。如果您足夠聰明,可以利用架構,工具和技術,Energy Micro提供硬件和軟件,允許在極低能耗下延長運行時間。