新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 低功耗嵌入式實現(xiàn)的方方面面

低功耗嵌入式實現(xiàn)的方方面面

—— Aspects of Low-Power Embedded Processing Design
作者:David Katz, Rick Gentile ADI公司 時間:2009-02-13 來源:電子產(chǎn)品世界 收藏

  任何一個都是在對供電結(jié)構(gòu)進行詳盡分析后才能完成的;同樣,對于恒定供電的有線系統(tǒng)也是如此。處理器和其周邊的硬件生態(tài)系統(tǒng)的消耗通常占的較大比例,因此,這就是所有的“重點”之所在。

本文引用地址:http://m.butianyuan.cn/article/91242.htm

  在深入討論之前,我們先按次序討論一下術(shù)語。“能量”與做功的總量有關(guān),而“功率”是測量做功的速率(單位時間的能量)。電子學(xué)中,功耗= (系統(tǒng)元器件的電壓)ⅹ(流經(jīng)系統(tǒng)元器件的電流),能量=功率ⅹ時間。

  因此,系統(tǒng)設(shè)計員通常關(guān)心總的能量消耗和峰值功耗。換句話說,使用的能量是從電池吸收的,但電池也需要提供足夠的瞬時能量以滿足峰值功率的要求。習(xí)慣上將集中討論功耗;然而,實際上也將論及系統(tǒng)中使用的能量和功率。

  什么是“

  “”究竟指什么?從嵌入式觀點看,經(jīng)常將該術(shù)語同電池驅(qū)動移動設(shè)備聯(lián)系起來,但該術(shù)語實質(zhì)上也是相對的。從功率尺度的最低端應(yīng)用看,我們可以只簡單地討論手表電池的例子。然而,在另一個極端,為了避免額外的設(shè)計負擔(dān)和費用(如熱同步、風(fēng)扇、調(diào)整器等),又需要構(gòu)想使功耗最小的“插入式”系統(tǒng)。

  畢竟現(xiàn)今的很多設(shè)計系統(tǒng),諸如從汽車收音機到“插件箱”中的儀器板卡,都是根據(jù)交到OEM(原設(shè)備供應(yīng)商)的規(guī)格構(gòu)建的系統(tǒng)。為了確保銷售商之間的一致,這些規(guī)格經(jīng)常描述了嚴(yán)格的功率預(yù)算分配。關(guān)鍵點是,為了關(guān)注降,系統(tǒng)不一定非要用電池供電,或者非要“移動”。

  為了方便,可以將低功耗嵌入式系統(tǒng)分為三個不同類型:

  第一類是在不使用時就關(guān)閉電源的系統(tǒng)。對于這類應(yīng)用,系統(tǒng)運行時的低電流消耗駕馭著電池的壽命。這樣的應(yīng)用實例包括便攜式媒體播放器、GPS設(shè)備和數(shù)碼相機,這些系統(tǒng)在工作狀態(tài)呈現(xiàn)出低功耗的特性,同時待機電流是“無關(guān)緊要”的,這是由于設(shè)備關(guān)閉時是不吸收電流的(如果使用了實時時鐘會有幾微安的電流)。通常根據(jù)不同的應(yīng)用,處理器在有效工作狀態(tài)時的電流從幾十到幾百毫安。

  第二類中,將開機或完全關(guān)閉的系統(tǒng)改進為開機或“待機模式”的系統(tǒng)。在待機狀態(tài),系統(tǒng)處于最低電流消耗狀態(tài),同時仍維持存儲區(qū)中的內(nèi)容。對于這樣的系統(tǒng),有效電流和待機電流消耗都很重要,此時有效電流的消耗與第一種情況相同,而待機電流通常則從數(shù)百微安到幾毫安。這種類型的典型產(chǎn)品如VoIP移動電話和聲控設(shè)備。該類還包括這樣的情況,系統(tǒng)的某部分仍處于“監(jiān)控”狀態(tài),在轉(zhuǎn)換到全速處理狀態(tài)之前等待某事件的發(fā)生。

  第三類由始終處于加電狀態(tài)的設(shè)備構(gòu)成。這里,功率要求很可能在次毫安范圍內(nèi),這就直接限制了可實現(xiàn)的處理性能。此類的應(yīng)用實例包括手表和一些便攜式或植入式醫(yī)療設(shè)備。

  有很多方法可以調(diào)整系統(tǒng)的功耗指標(biāo),以滿足應(yīng)用要求,包括:

  ·動態(tài)改變頻率和電壓;

  ·了解處理器內(nèi)分離的供電范圍;

  ·分析代碼從而針對降低功耗做優(yōu)化;

  ·運用處理器的多種供電模式;

  ·從系統(tǒng)級關(guān)注功耗的產(chǎn)生。

  本文將集中討論最后兩種方法,參考文獻部分列出了其他幾個主題的詳細說明。

  電源供電模式

  許多應(yīng)用涉及相對于其處理的需求有明顯差別的工作模式??紤]一個用電池供電并帶有嵌入處理器的傳感器。處理器的外設(shè)可能采集周圍環(huán)境的參數(shù)。在該模式下,不要求有計算功率,處理器可能要求突發(fā)讀入遙測數(shù)據(jù)的數(shù)據(jù)包。當(dāng)處理器讀取足夠數(shù)據(jù)并開始處理時,則進入“全速”工作模式,整個處理器就被喚醒,以最高的性能運行。當(dāng)不需要傳感器數(shù)據(jù)也不需要處理時,可提供超低功耗模式。

  處理器要從各種各樣的掉電模式中喚醒,需要接收某種類型的喚醒事件。外部事件可以是外部激勵,如標(biāo)志引腳翻轉(zhuǎn),或者內(nèi)部處理器活動,如DMA傳輸完成或定時器滿等。

  不同處理器上實現(xiàn)的確定電源供電模式有很大差別,但處理平臺之間通常也有一些共性,例如“全速”工作模式;“睡眠”模式,為了使系統(tǒng)快速恢復(fù),即使處理器未使用的部分為省電處于無效,片上存儲器仍保持供電;以及“”模式,此模式中,為了最大節(jié)省電源,片上存儲器也可以不供電。本文中,“待機模式”表示綜合的低功耗模式,這里的電流消耗和恢復(fù)到全速處理模式所需的時間需要進行折中[v1],也就是電流越低,恢復(fù)到全速工作的時間就越長。

  為什么需要讓處理器定期進入或退出待機模式呢?其實很簡單,就是為了減少能量消耗和延長電池壽命。在許多待機模式中,由于處理器仍然被供電,處理器可保留其所有的內(nèi)部狀態(tài)和存儲器內(nèi)容,但大大地減少了電流的吸收。此外,需要占用幾毫秒時間,但這也比傳統(tǒng)的處理器從冷啟動加載快得多。

  模式

  “”待機模式是特別有意思的,因為它通過完全關(guān)閉處理器內(nèi)核電源,實現(xiàn)了最大的能量節(jié)省 (與“待機綜合”下的其他模式不同)。 當(dāng)處理器內(nèi)核的電源關(guān)閉后,不再維護處理器的內(nèi)部狀態(tài),因此,任何保存在內(nèi)部(存儲器內(nèi)容、寄存器內(nèi)容等)的關(guān)鍵信息,在關(guān)電前都必須提前寫入到非易失性存儲器設(shè)備中。然而,即使關(guān)閉了處理器內(nèi)核電源,休眠方式仍為使SDRAM保持“活躍”狀態(tài)提供了措施。在進入休眠模式前,設(shè)置SDRAM進入自刷新模式,并在喚醒后可以重新控制它,處理器允許將系統(tǒng)狀態(tài)存儲在易失性DRAM中,而不是非易失性Flash存儲器中,這樣,處理器在喚醒后就可以更快速自舉,否則,處理器還需要從非易失性存儲器重新載入程序代碼。

  充分利用電源供電模式

  現(xiàn)在考慮另一個具有代表性的情況,此時有不同的處理器供電模式,在功耗方面也有很大的差別??紤]一臺帶有輸入緩沖區(qū)的便攜式MP3播放器,將音頻數(shù)據(jù)解碼到SDRAM中的輸出緩沖區(qū),然后將處理器置為待機模式,直到又需要新的數(shù)據(jù)為止。

  由于MP3解碼處理要求低,在不需要處理的間隔,處理器可以進入休眠狀態(tài),比如,設(shè)備可能工作在“25%解碼,75%休眠”的情形,也就是說,此時處理器在這個25%的時間時,其內(nèi)核吸收電流是30mA,而在75%的時間時,處理器內(nèi)核的吸收電流僅有15mA。在解碼間隔,處理器盡可能快的在外部存儲器中構(gòu)建解碼的樣本,一旦達到了緩沖區(qū)期望的大小,處理器就進入睡眠狀態(tài),直到需要更新數(shù)據(jù)緩沖區(qū)。

  換句話說,如果通常進行連續(xù)流MP3解碼,即75MHz,則可選擇以300MHz對在待機模式過程中收集的緩沖區(qū)數(shù)進行解碼。這樣,處理器就在一個更高水平上運行,但其運行過程很短(在處理器又回到睡眠狀態(tài)前)。通過使睡眠時間最大化,就可以節(jié)省能量。這種方法只是對于像便攜式媒體播放器這樣的系統(tǒng)是有道理的,因為有時也需要視頻處理,否則,如果只是MP3解碼,就可使用更低性能(和低功耗)的處理器。

  那如何管理處理器的喚醒速率呢?在本例中,音頻緩沖可以是雙緩沖,從DMA角度看,每個緩沖區(qū)就是一個音頻“線”,每個輸出線完成的中斷就標(biāo)志處理器是時候用新數(shù)據(jù)填充剛為空的緩沖區(qū)了。在輸出緩沖區(qū)準(zhǔn)備通過音頻口進行播放之前,處理器很容易產(chǎn)生所需要的解碼后的輸出緩沖區(qū)數(shù)據(jù),一旦處理器填滿了該緩沖區(qū),它又進入睡眠狀態(tài),然后不斷重復(fù)這一過程。

  作為旁注,在上述例子,使用異步SRAM設(shè)備而不是SDRAM,更能節(jié)省成本和節(jié)省能量。當(dāng)然,SRAM不能提供和SDRAM一樣的性能水平,但對于16bit或32bit訪問的音頻數(shù)據(jù), SRAM的性能就足夠了,這是因為采用DMA控制器并行訪問數(shù)據(jù),即使數(shù)據(jù)以低速SRAM速率出現(xiàn),也很容易保持持續(xù)給串行接口提供解碼數(shù)據(jù)。

  由于有較大的程序代碼,或者需要提高解碼的性能,即使應(yīng)用中需要SDRAM,在設(shè)計中同時使用SRAM和SDRAM也是有道理的。當(dāng)然使用的材料成本費用將增加,在系統(tǒng)中巧妙地使用兩者也可以最大化地節(jié)省功率。要求最高性能的部分應(yīng)用可使用SDRAM,且每當(dāng)處理器進入睡眠后,即將SDRAM置為自刷新模式。在活躍處理期間,吸收的電流主要由處理器和SDRAM控制,這是因為基于mW/bit SRAM雖然不如SDRAM有效,但其尺寸大小通常比SDRAM小的多。

  在低功耗應(yīng)用中優(yōu)化功率消耗

  

  利用系統(tǒng)級技術(shù)節(jié)省功耗與元器件級節(jié)省同樣重要,因為元器件經(jīng)常以共生的形式一起使用。當(dāng)將處理器置為低功耗模式,許多不同的系統(tǒng)元器件都可以配置為用于喚醒處理器,比如,通過以太網(wǎng)、USB、實時時鐘或FLAG標(biāo)志引腳上的觸發(fā)信號等都可以產(chǎn)生喚醒事件。

  一個較好的系統(tǒng)級喚醒實例是通過串行口連接到處理器的外部WiFi芯片。 當(dāng)處理器沒有活躍地運行時,可以將它置入低功耗狀態(tài),僅讓W(xué)iFi芯片運轉(zhuǎn)。在這種工作狀態(tài),WiFi芯片中的微控制器幾乎不消耗電流,因為它僅僅查找與分配的MAC地址相關(guān)的數(shù)據(jù)包,一旦接收數(shù)據(jù)包,WiFi芯片就向處理器發(fā)送一個信號,喚醒處理器并開始再工作。

  實時時鐘

  如果便攜式系統(tǒng)還承擔(dān)著維護日歷時間的任務(wù),此時可用實時時鐘(RTC),從應(yīng)用觀點(例如,將實際日期和時刻傳遞給用戶)和功耗的觀點看,這都很重要。多數(shù)RTC都允許設(shè)置鬧鐘,在未來任何時間點提供喚醒功能。 因此,系統(tǒng)在不活躍的周期可轉(zhuǎn)入到待機模式,在監(jiān)視、管理或者用戶通知任務(wù)等周期性間隔即可喚醒系統(tǒng)。

  作為低功率系統(tǒng)中RTC是如何用的一個具體實例,讓我們假設(shè)對于GPS應(yīng)用,需要每秒喚醒處理器獲得衛(wèi)星的位置,RTC(吸收20μA)設(shè)置為每秒喚醒處理器,處理器轉(zhuǎn)入其低功耗模式(消耗50μA)。當(dāng)RTC鬧鐘響起時,處理器被喚醒,執(zhí)行算法,獲取衛(wèi)星座標(biāo),然后再回到睡眠狀態(tài)。因此,在這種應(yīng)用中,僅有很低的“在線”占空比,主要工作時間僅需消耗70μA的電流。

  無論是作為處理器的一部分,或作為連接到處理器的一個獨立芯片,RTC都需要一個獨立的電源域,當(dāng)系統(tǒng)其他部分的電源關(guān)閉后它仍可以保持工作。RTC通常采用硬幣大小的微型電池供電工作,僅消耗微瓦級能量。由于擴展電池壽命十分重要,當(dāng)系統(tǒng)連接使用了主電源,允許系統(tǒng)通過主電池(或線路電源)為RTC提供電源運行是明智的。當(dāng)系統(tǒng)其他部分供電運行時,圖1說明了可用于節(jié)省RTC電池吸收電流的電路實例。

  圖 1 RTC的主微型電池備用供給

  輸入時鐘

  處理器的輸入時鐘引腳提供必要的時鐘頻率、占空比和穩(wěn)定性,通過片上鎖相環(huán)(PLL)模塊倍乘后,可產(chǎn)生精確的內(nèi)部時鐘。時鐘引腳連接外部晶體或晶體振蕩器,使用晶體通常很便宜,但使用的晶振通常進行了緩沖,還可以為系統(tǒng)中的其他部分提供可選的時鐘使用。例如,27MHz的晶振不僅可作為處理器時鐘輸入,還可以作為NTSC視頻編碼器或譯碼器的時鐘源。有時,處理器本身也基于晶體輸入時鐘,提供緩沖的時鐘輸出,這就可節(jié)省購買晶振的費用。

  基本振蕩頻率越低,晶體的封裝就越大,然而,更高頻率的晶體成本又高,因為它們更易碎。因為基頻越高,里面的石英就越薄。權(quán)衡是否使用晶體的另一個因素還有EM(電磁干擾)。要控制晶體可能泄漏到濾波器或者運放通帶內(nèi)的寄生諧波,從系統(tǒng)角度看避免某個頻率倍數(shù)也是十分重要的。

  在某些處理器中,當(dāng)處理器進入低功耗模式時,可編程停止輸入晶振放大器驅(qū)動,這可節(jié)省幾個mA的吸收電流,而這樣做的開銷來自于當(dāng)處理器恢復(fù)正?;顒訒r,會增加開機時間(由于時鐘設(shè)置延遲)。

  USB

  如今許多便攜式設(shè)備都有USB連接方式,USB除了作為普遍使用的到PC機的連接方式外,它也為設(shè)備提供了一種公共的供電源。當(dāng)設(shè)備連接到PC機時,它可使用主機作為源對其供電,這對于節(jié)省電池壽命有實際效果,同時也為嵌入式產(chǎn)品中的電池充電提供了一種方法。

  USB供電的設(shè)備的供電屬性必須符合USB規(guī)范的預(yù)算,USB 1.1和USB 2.0協(xié)議限制每個設(shè)備的“總線供應(yīng)”功率為2.5W(0.5A @ +5V),對于低功率設(shè)備如鍵盤或鼠標(biāo)是足夠的。

  USB標(biāo)準(zhǔn)也定義了支持更高電流的設(shè)備,但總功耗限制仍是2.5W,對于更高功率的設(shè)備,如打印機或顯示,標(biāo)準(zhǔn)的USB功率極限通常不夠,要求這些設(shè)備使用外部供電來滿足其功率需求。

  從系統(tǒng)觀點看,當(dāng)設(shè)備采用USB供電時,如果有一段時間沒有使用該設(shè)備,則該設(shè)備必須進入“掛起”狀態(tài),此時最大吸收電流是500uA。

  可以采用各種各樣的設(shè)計方法設(shè)計系統(tǒng)來處理掛起模式,一種方法就是充分利用處理上的待機模式。當(dāng)處理器進入待機模式時,可設(shè)置USB外設(shè)保持D+和D-引腳的狀態(tài),從該時刻開始,處理器都處于低功耗模式,直到USB引腳中的一個發(fā)生狀態(tài)改變。這種狀態(tài)的改變可觸發(fā)外部調(diào)節(jié)器供電,然后處理器就可以上電,恢復(fù)狀態(tài),并從其停止的地方重新開始執(zhí)行。

  顯然,有很多因素影響嵌入式應(yīng)用的設(shè)備級和系統(tǒng)級功耗屬性,通過對影響功率的關(guān)鍵因素的理解,對任何特定的應(yīng)用,在減小功耗方面就能取得重大進展。

  參考文獻:

  [1] David Katz and Rick Gentile. Embedded Media Processing, Newnes: Boston, 2006

  [2] Seliverstov T. EE-339: Using External Switching Regulators with Blackfin(r) Processors, Analog Devices, Inc. Revision 1.0. 【R/OL】. [2008-5-14]. http://www.analog.com/static/imported-files/application_notes/EE-339.pdf

  [3] Katz D, Gentile R, Tarkoff J. EPC-33: Understanding all of your options in Low-Power Embedded Processing Designs, Embedded Power Conference Proceedings, September 2008 [C], San Jose

  [4] Sondermeyer J, Beauchemin J, Desai H. EE-334: Using Blackfin(r) Processor Hibernate State for Low Standby Power. Analog Devices, Inc. Revision 1.0. [R/OL]. [2008-5-5]. http://www.analog.com/static/imported-files/application_notes/EE-334_Rev1.pdf

  [5] Analog Devices, Inc, ADSP-BF52x Blackfin(r) Processor Hardware Reference, Volume 1, Chapter 16, Revision 0.31[R]. May 2008

  [v1]技術(shù)翻譯錯誤

存儲器相關(guān)文章:存儲器原理




評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉