隨著更多功能被推向更小但更復雜的設備,低功耗已成為一個不可避免的大問題。特別是,具有限制性能源(例如電池電量)和緊湊空間限制的手持產品的設計轉化為必須從有限的能量儲備中擠出更多的運行時間。盡管如此,大型處理器被指示處理許多獨立的基于I/O的任務,同時將大部分時間用于低功耗空閑和睡眠狀態。由于電池運行時間是用戶敏感的功能,因此工程師實時管理能量的能力可能決定了設計的成功。然而,物理學是物理學,我們只有很多選擇。幸運的是,巧妙地使用我們所擁有的選項和資源仍然可以產生令人滿意的結果。
本文著眼于幾個具有低能耗特性和目標設計要求能效的大型處理器。它研究了降低功耗的技術,如何動態管理外設以及這些部件能夠聲稱和實現的能量和電流抽取數量。雖然微控制器引腳數從5到500不等,但我選擇了各自系列中的所有100引腳器件,以便進行更多的比較。原理和技術適用于更大的引腳數,因此可以推斷出此處提供的信息。這里引用的所有零件,數據表,應用筆記和開發套件都可以在Digi-Key的網站上找到。
有用的設計技術
歐姆定律和電路理論非常清楚,我們只能做很多事情。降低能耗,尤其是電路尺寸越來越小,門數越來越大。降低功率的主要方法是降低電壓,這是常見的做法。通過分離式電源(內核,I/O和外設特定電源需求),片上穩壓器或采用單個均勻低電壓(主要為1.6至1.8 V),微控制器的功耗要求一直在穩步下降。這是芯片制造商所做的事情,如果我們選擇這樣做,我們所擁有的幾乎所有東西都可以在更低的電壓下運行。降低功耗的另一個關鍵方法是降低驅動我們的核心處理器邏輯的開關頻率,狀態機,定序器和外圍設備。數字電路的功耗與它們開關或時鐘的頻率成正比(圖1),因此降低的時鐘頻率會以相應的方式降低功耗。
圖1:特別是對于CMOS電路,功耗與柵極級的開關頻率成正比。在較低頻率下獲得相同的性能會大大降低功耗。
雖然這種技術會直接降低處理性能,但并非一切都必須具有較低的時鐘頻率。核心處理器可能正在高速運行,但UART沒有理由需要將11.0592 MHz時鐘分頻以獲得可靠的9,600波特連接。如果芯片制造商很聰明,他們會讓工程師選擇如何使用我們的可用時鐘來驅動我們的外圍設備。有些人這樣做,因此您可以從32.768 kHz頻率(1個時鐘,每秒3,375個)運行低能量UART。對于A/D和D/A轉換器也是如此,因此基于傳感器的設計也可以從這種技術中受益。
原始處理器性能也很重要。如果起動處理器能夠在必須重新進入休眠狀態之前的1 ms內完成所有相關任務,則最好比必須運行20 ms的較慢處理器更好。睡眠和低功耗模式通常非常有效,因此更快進入睡眠模式可以節省大量能量。同樣,喚醒時間也很重要。喚醒時能量消耗更高,因此快速喚醒意味著更少的整體更高功率導通時間。外圍喚醒時間在這里也非常重要,包括芯片外和芯片外另一種降低能耗的技術是使用片上或片外自主外設,可以在低功耗后臺模式下工作,而無需主處理器的任何干預。視頻或顯示處理器可以刷新顯示而無需處理器干預。它還可以監控觸摸屏并識別真實意圖與錯誤聯系。它應該使用比核心處理器更少的功率運行,因為它通常是運行時精簡,分解,減少狀態的機器,需要最少量的有源硬件。
數據轉換器是可以從這種技術中受益的另一部分(圖2)。每毫秒需要監視的傳感器可以在計時器啟動轉換時休眠,將轉換結果傳輸到內存,更新指針和計數器,并且只有在準備好處理一定數量的樣本時才喚醒處理器。添加比較(作為模擬比較器或數字值閾值監視器)可用于使處理器無限期地保持睡眠狀態,直到出現“警報”或“警報”級別。這樣就可以節省所有喚醒,嗅探和恢復睡眠的能量。
圖2:可以監視順序進程的自治狀態機可以使內核保持深度睡眠狀態以便延長周期,節省大量的電力使用。
在我們的示例微觀中仔細檢查的一個關鍵參數是他們聲稱實現的實際待機電流。雖然這些都是很好的球場數據,可以幫助縮小場地范圍,但是要考慮到這些數字,因為許多其他因素會影響整體功耗。例如,我們的I/O狀態是什么時候微睡覺?這些功耗數字不包含在供應商使用的任何低功耗數字中,因為它們取決于我們如何配置I/O.如果我們驅動兩個20 mA高電流I/O線,并且我們的睡眠電流為100μA,我們仍然在靜態和睡眠狀態下燃燒40.1 mA。
一些好的候選者
幾家MCU制造商低能耗和低功耗能力,我們有責任了解我們可以相信什么和不能相信什么。確定這些數字的方式比手頭的數字更重要。盡管如此,在尋找滿足我們性能需求且可以在低功耗模式下運行的處理器時,已發布的規格和功能是一個很好的起點。例如,采用Atmel的SAM4Lx系列ARM?Cortex?-M4處理器其專有的picoPower技術。該48 MHz器件的有功電流消耗低至90μA/MHz。它宣稱其快速的1.5μs喚醒時間,這是一個重要的數字。此外,其等待和保持模式下,RAM保持的低功耗模式分別降至3和1.5μA。請注意Atmel用于RTC和器件的低功耗32.768 kHz時鐘。還可以接入慢速R/C時鐘以進一步降低功耗。對于USB高速數據的突發,內部PLL可以高達240 MHz,然后再次關閉以節省功耗。 100引腳ATSAM4LC2CA-AU具有80個I/O,其中包括6個高驅動電流吸收源引腳,輸入電壓低至1.68 V.該器件僅消耗218μA/MHz(最高48 MHz),同時在低功耗模式下消耗6.9μA。
SAM4L內部一個有趣的功能塊是產生時鐘和復位的電源管理模塊,并執行 - CPU,高速總線和外圍總線時鐘的頻率變化(圖3)。屏蔽寄存器保持時鐘的分頻器電平,允許所有器件以不同的速度運行以節省功耗。此外,當發生即時頻率變化并且未使用的外設可以完全關閉時鐘時,不需要關閉外設或功能模塊。
圖3:CPU,總線和外設的動態時鐘更改通過專用的電源管理單元進行控制,該單元也可以將時鐘完全關閉到未使用的外設。 br》此處還嵌入了其他幾種功率優化外設和功能,包括膠合邏輯控制器,并行捕獲模式,帶窗口檢測的模擬比較器,以及獨立的外設事件檢測系統,可實現直接的外設到外設通信保持核心睡眠。
在可比較的規模上,讓我們看一下STMicroelectronics的STM32-L1系列。該部件采用超低泄漏工藝技術,功耗低。特別是,我們將研究STM32L151VBT6,它是具有83個I/O的100引腳版本。該器件的工作電壓低至1.65 V,工作頻率范圍為32 kHz至32 MHz,頻率為214μA/MHz。雖然它的喚醒時間《8μs并不像某些那么快,但它確實具有9μA的低功耗運行模式。這里的一些不錯的功能包括兩個超低功耗比較器和低功耗12-位A/D和D/A轉換器,速率高達1 Msample/s(當VCC為2.4 V或更高時)。一個不錯的“ZEROPOWER”上電復位可以與掉電復位電路緊密耦合,許多睡眠,貪睡和低功耗模式提供了一些靈活性,可以在核心和其他外設睡眠時保持某些外設處于活動狀態。該器件還具有32.768 kHz時鐘和相當靈活的時鐘分配方案。
德州儀器(TI)的一款有趣的低功耗產品值得關注。眾所周知的MSP430系列有幾個部件經過優化,可以降低能耗,例如100引腳MSP430F5436IPZR。雖然最低工作電壓僅為2.2 V,但它是一個16位內部架構(本質上可以通過不必保持這樣的寬寄存器來節省能量),并且在待機模式下僅有1.8μA的RAM保留。
其低功耗存儲器的喚醒時間為5μs,電流消耗為226μA/MHz。該器件還提供低功耗振蕩器,最高可達18 MHz。 MSP430系列包括針對特定應用組合各種外設的成員。不同的風格包括12位A/D轉換器,內部參考,采樣和保持以及自動掃描功能。
提供一種有源模式,但提供五種軟件可選的低功耗模式,保持不同的功能和外設活。所有I/O端口的驅動強度都是可編程的,可以定義多達10個8位I/O端口,以便于并行接口。
Digi-Key網站上的TI提供超低功耗MSP430培訓模塊對于MSP430,以及其他幾個描述外設,設計工具,時鐘系統等的產品培訓模塊。
Silicon Labs提供了一個有趣且有效的低功耗處理器解決方案,其48 MHz Giant Gecko ARM 32位Cortex -M3,100引腳(86 I/O)處理器 - EFM32GG280F1024-QFP100。這部分以及Gecko部件系列的其他部件從頭開始設計,具有低能量外設(低能量UART,A/D,D/A等),快速喚醒(2μs),自主外設和嵌入式硬件,以促進可延長電池運行時間的低能耗模式。
在全功率模式下,一切都打開并運行,該器件提供150μA/MHz的極低功耗。其他四種低功耗和睡眠模式使選擇的外設和RAM保持活動狀態。此外,與同類產品中的其他幾款處理器一樣,Geckos采用靈活的時鐘方案,同時具有高頻和低頻晶振以及R/C振蕩器,可以為不同的時鐘提供時鐘和功率優化。
Gecko MCU使用公司在部件內部稱為反射總線的方式將自主功能提升到更高水平。這是一種基于狀態機的互連機制,類似于將指揮棒從一個外圍設備傳遞到另一個外圍設備,同時微睡眠。供應商的LESENSE功能可以設計具有自主條件監控功能的超低功耗傳感器接口。在不使用微控制器CPU的情況下,EFM32系列可以監控16個傳感器并做出反應,同時將能耗降至最低。 LESENSE低功耗傳感器接口還支持片上模擬比較器,運算放大器和非常方便的事件檢測器。這允許復雜的事件鏈在低功率背景狀態下發生而無需喚醒核心處理器(圖4)。
圖4:組合幾個低能量這個例子說明了一個使用霍爾效應器件的正交金屬傳感器,它不會喚醒處理器,直到進行了一些相當高級別的決策。振蕩器的頻率和幅度會有所不同,具體取決于金屬的存在。一旦有偏見,巧妙使用事件檢測器將告訴工程師我們正在尋找的事件已經發生。然后我們喚醒我們的處理器。
Silicon Labs引用的另一個應用示例是一個自振蕩電容式觸摸屏傳感器,它只在有效觸摸發生時喚醒主機處理器。以類似的方式,可以在核心休眠時監控傳感器,并且僅在報警條件下喚醒傳感器。
更少可以更多
低能耗設計的最佳方法,尤其是大量I/O,硬件功能,資源和巧妙的編碼設計方法的組合。而不是FOR或WHILE循環,讓微睡眠和從定時器或事件喚醒它可以節省電力。
同樣,能夠在每個I/O上編程驅動器強度,甚至禁用內部上拉所以你可以使用更高價值的外部能量,有助于從你的能源中擠出每一微焦耳的能量。很高興知道這些部件隨時可以提供幫助,提供各種低能耗功能。
-
處理器
+關注
關注
68文章
19349瀏覽量
230350 -
穩壓器
+關注
關注
24文章
4254瀏覽量
93926 -
電池
+關注
關注
84文章
10630瀏覽量
130360
發布評論請先 登錄
相關推薦
評論