<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

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

          本文引用地址:http://www.ex-cimer.com/article/91242.htm

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

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

            什么是“

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

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

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

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

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

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

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

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

            ·了解處理器內分離的供電范圍;

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

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

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

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

            電源供電模式

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

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

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

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

            模式

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

            充分利用電源供電模式

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

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

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

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

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

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

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

            

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

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

            實時時鐘

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

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

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

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

            輸入時鐘

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

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

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

            USB

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

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

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

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

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

            顯然,有很多因素影響嵌入式應用的設備級和系統(tǒ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]技術翻譯錯誤

          存儲器相關文章:存儲器原理




          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();