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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式系統(tǒng)設(shè)計(jì)中的低功耗技術(shù)

          嵌入式系統(tǒng)設(shè)計(jì)中的低功耗技術(shù)

          作者: 時間:2011-01-20 來源:網(wǎng)絡(luò) 收藏

          摘要: 為了探討系統(tǒng)的低功耗技術(shù)降低系統(tǒng)的功率消耗, 文中從硬件和軟件兩個方面對系統(tǒng)設(shè)計(jì)的低功耗問題進(jìn)行了分析和研究。

          0 引言

          隨著科學(xué)的發(fā)展和微電子技術(shù)的不斷創(chuàng)新,嵌入式系統(tǒng)的應(yīng)用越來越多, 并已廣泛滲透到各個領(lǐng)域。嵌入式系統(tǒng)是以應(yīng)用為中心, 以電子技術(shù)和計(jì)算機(jī)技術(shù)為基礎(chǔ), 軟硬件可剪裁, 能適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、穩(wěn)定性、成本、體積、功耗等多方面嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。

          在嵌入式系統(tǒng)的設(shè)計(jì)中, 低功耗設(shè)計(jì)技術(shù)成為許多設(shè)計(jì)人員逐漸關(guān)注的問題, 其原因在于嵌入式系統(tǒng)已被越來越多的應(yīng)用在便攜式和移動性較強(qiáng)的產(chǎn)品中, 而這些產(chǎn)品往往要靠電池來供電。實(shí)際上, 這些年來, 有關(guān)電池的儲能密度并沒有得到大的進(jìn)步。而對于便攜設(shè)備, 尤其是手持消費(fèi)品而言, 如果單靠提高電池容量來提高續(xù)航能力, 似乎并不完全切合實(shí)際。因此, 為提高設(shè)備性能, 設(shè)計(jì)人員更需要從每一個細(xì)節(jié)考慮降低硬件系統(tǒng)本身的能耗。從而盡可能地延長電池的使用時間。事實(shí)上, 低功耗設(shè)計(jì)也已經(jīng)成為一個越來越迫切的問題, 因而應(yīng)該從硬件和軟件兩個方面來考慮嵌入式系統(tǒng)中的低功耗設(shè)計(jì)。

          1 硬件的低功耗設(shè)計(jì)

          1.1 硬件電路器件

          由于現(xiàn)在絕大部分電路均采用集成電路CMOS工藝技術(shù), 這與以前的TTL工藝相比, 本身就已經(jīng)起到了降低電子元器件和整體系統(tǒng)功耗的作用, 因此, 應(yīng)該繼續(xù)多采用CMOS集成電路工藝技術(shù)。另外, 由于采用CMOS集成工藝技術(shù),其電路靜態(tài)功耗很小(可忽略不計(jì)), 而動態(tài)功耗較大, 因?yàn)閯討B(tài)功耗是指電路高低電平翻轉(zhuǎn)時產(chǎn)生的功耗, 在電路高低電平翻轉(zhuǎn)跳變沿期間, 電流很大, 存在較大功耗, 所以, 降低硬件電路功耗主要是降低電路動態(tài)功耗。動態(tài)功耗公式為:


          其中, P代表CMOS芯片的動態(tài)功耗, C代表CMOS芯片的負(fù)載電容, V和f分別代表CMOS芯片的工作電壓和工作頻率。由公式可知, COMS硬件集成電路的功耗與工作電壓和工作頻率之間有密切的關(guān)系。因此, 使用CMOS系列電路時, 其不用的輸入端不要懸空, 因?yàn)閼铱盏妮斎攵丝赡艽嬖诟袘?yīng)信號, 并可能造成高低電平的轉(zhuǎn)換。同時, 由于轉(zhuǎn)換器件的功耗很大, 故應(yīng)盡量采用輸出為高的原則。

          1.2 低功耗外圍器件的選用

          完成同樣的功能, 電路的實(shí)現(xiàn)形式有多種。例如, 盡可能地將嵌入式系統(tǒng)的內(nèi)部存儲器RAM轉(zhuǎn)換為外部的閃存FLASH, 因?yàn)樵谕瑯訔l件下,讀內(nèi)部RAM比讀外部FLASH會帶來更大的功耗。也可以利用分立元件、小規(guī)模集成電路, 大規(guī)模集成電路甚至單片實(shí)現(xiàn)。通常使用的元器件數(shù)量越少, 系統(tǒng)的功耗越低。因此, 應(yīng)盡量使用集成度高的器件, 以減少電路中使用元件的個數(shù), 減少整機(jī)的功耗。

          1.3 微處理器的選擇

          嵌入式微處理器的功率消耗在嵌入式系統(tǒng)中占有相當(dāng)大的部分, 所以, 選擇合適的處理器,對于嵌入式系統(tǒng)的整體功耗具有很大影響。微處理器的功耗主要分為兩部分: 內(nèi)核功耗Pcore和外部接口控制器功耗Pio, 總功耗等于兩者之和, 即P=Pcore+Pio。對于Pcore, 其關(guān)鍵在于供電電壓和時鐘頻率的高低; 而對于Pio, 除了各個專門I/O控制器的功耗外, 還有地址/數(shù)據(jù)總線寬度, 因?yàn)榭偩€寬度越寬, 處理能力越大, 功耗也越大。所以降低功耗, 必需讓總線位數(shù)變窄。

          要降低微處理器內(nèi)核的Pcore功耗, 就必須想法降低處理器的工作電壓和時鐘頻率, 其中降低微處理器的工作電壓是很有效的途徑, 也是未來發(fā)展的趨勢, 目前許多的嵌入式微處理器的工作電壓可降至2 V以下。并且高效率的處理器都提供有多種時鐘頻率和工作電壓的選擇, 以便于最大限度地節(jié)約功耗。此外, 在進(jìn)行系統(tǒng)設(shè)計(jì)時,在工作電壓相差不大和系統(tǒng)處理能力許可的情況下, 還應(yīng)盡可能降低微處理器的時鐘頻率, 現(xiàn)以起到節(jié)能的作用。以SAMSUNG S3C2410 (32 位ARM 920T內(nèi)核) 為例, 它就提供了四種工作模式: 正常模式、空閑模式、休眠模式、關(guān)機(jī)模式。各種模式下的功耗如表1所列。

          表1 不同工作模式的時鐘頻率與功耗對比表


          由表1可知, CPU在全速運(yùn)行的時候, 比在空閑或者休眠時消耗的功率大得多。省電的原則就是讓正常運(yùn)行模式遠(yuǎn)比空閑、休眠模式少占用時間。在類似PDA的設(shè)備中, 系統(tǒng)在全速運(yùn)行時遠(yuǎn)比空閑的時候少, 所以, 可以通過設(shè)置, 使CPU盡可能工作在空閑狀態(tài), 使用時再通過相應(yīng)的中斷喚醒CPU, 以恢復(fù)到正常工作模式來處理響應(yīng)的事件, 然后再進(jìn)入空閑模式。因此, 設(shè)計(jì)系統(tǒng)時, 如果處理能力許可, 可盡量降低處理器的時鐘頻率。

          也可以動態(tài)改變處理器的時鐘頻率以降低功耗, 比如可關(guān)閉不需要的外設(shè)控制器, 并在CPU空閑時降低時鐘頻率; 而在處于工作狀態(tài)時, 再提高時鐘頻率以加快運(yùn)行速度。

          1.4 多CPU系統(tǒng)

          盡管現(xiàn)在已有各種可在不過多加重功耗負(fù)擔(dān)的前提下提高性能的技術(shù), 但用一個芯片來處理多種任務(wù), 已不是一個較好的選擇。一是因?yàn)檫@些功能對芯片處理功能的要求可能各不相同, 二是因?yàn)橐粋€負(fù)擔(dān)著多任務(wù)的芯片需要很高的速度, 這樣, 降低功耗就變得很困難, 這就使得多CPU 系統(tǒng)(MPCore) 成為一個必然的趨勢。多CPU 系統(tǒng)的一個明顯的優(yōu)勢是可針對不同的任務(wù)處理需要, 用不同的CPU 來各盡其職, 以將自身的優(yōu)勢充分發(fā)揮, 從而給予系統(tǒng)最優(yōu)化的性能表現(xiàn)。另一個優(yōu)勢是對功耗的控制: 假如用單CPU來完成所有的功能, 則不可避免地需要一個很高的CPU 速度, 從而造成很高的功耗, 浪費(fèi)很多能源。多CPU 系統(tǒng)可以根據(jù)不同的任務(wù)來合理地啟動、停止相應(yīng)的CPU 以完成任務(wù), 而在不需要的時候處于停歇狀態(tài), 從而最大限度地控制功耗。

          1.5 分區(qū)/分時供電技術(shù)

          對于一個嵌入式系統(tǒng)來說, 系統(tǒng)的工作量隨時都在改變, 不可能所有的組件任何時刻都在工作, 故可采用分區(qū)/分時供電技術(shù)來降低功耗,可利用開關(guān)控制電源供電單元, 在某一部分電路處于休眠狀態(tài)時, 關(guān)閉此部分電路的供電電源,僅對工作部分組件供電。其供電原理如圖1所示。


          圖1 分區(qū)分時技術(shù)原理圖。

          2 軟件的低功耗設(shè)計(jì)

          2.1 優(yōu)化編譯器

          在嵌入式系統(tǒng)設(shè)計(jì)中, 軟件起著引導(dǎo)硬件活動的主導(dǎo)作用, 也對系統(tǒng)的能量消耗有很大的影響。過去幾年的研究主要是針對硬件部分, 而現(xiàn)在, 研究設(shè)計(jì)人員則更注重通過優(yōu)化軟件部分來降低系統(tǒng)功耗。要想對軟件進(jìn)行優(yōu)化, 必須選擇正確的編譯方法, 以降低程序執(zhí)行的功耗。編譯器的作用就是將由高級語言編寫的程序(如C/C++等), 翻譯成能夠在目標(biāo)機(jī)上執(zhí)行的程序。同時, 也使得程序的可讀性和可維護(hù)性得到保證,提高了軟件開發(fā)的效率。另外, 將程序移植到新的目標(biāo)機(jī)上, 也只要用相應(yīng)的編譯器對程序進(jìn)行重新編譯即可, 而不必重新編寫程序。但是, 在某些情況下, 這樣會影響程序的執(zhí)行性能。編譯器的有效性以及它所生成的代碼效率, 可以與匯編語言代碼相比較得出。事實(shí)上, 在一個程序中, 每一條指令都將激活微處理器中的某些硬件部件, 因此, 正確選擇指令可以降低處理器的功耗。通過優(yōu)化編譯器可以進(jìn)行有效的軟件低功率化, 從而生成效率更高的代碼, 以降低嵌入式設(shè)備的功耗。

          2.2 采用軟件代替硬件電路

          一般的硬件電路都存在功耗, 所以, 可以把具有數(shù)據(jù)運(yùn)算處理功能的硬件電路用軟件來實(shí)現(xiàn), 例如濾波電路, 指數(shù)、對數(shù)運(yùn)算電路、抗干擾電路等。但是, 任何事情都不是絕對的, 部分硬件電路到底能否通過軟件來實(shí)現(xiàn), 此外, 還要考慮處理大量的軟件數(shù)據(jù), 需要提高處理器的性能和功耗等, 同時要考慮這是否合算。

          2.3 中斷驅(qū)動技術(shù)設(shè)計(jì)

          把整個嵌入式系統(tǒng)軟件設(shè)計(jì)成多個事件來處理, 而在系統(tǒng)上電初始化時, 主程序只進(jìn)行系統(tǒng)的初始化(包括寄存器、外部設(shè)備等), 初始化完成后, 進(jìn)入低功耗狀態(tài), 然后把CPU控制的設(shè)備都接到中斷輸入端上。當(dāng)外設(shè)發(fā)生了一個事件,即產(chǎn)生中斷信號, 使CPU退出節(jié)電狀態(tài)而進(jìn)入事件處理, 事件處理完成后, 繼續(xù)進(jìn)入節(jié)電狀態(tài)。

          在嵌入式程序設(shè)計(jì)時, 一個程序到底使用中斷方式還是查詢方式, 對于一些簡單的應(yīng)用并不那么重要, 但在其低功耗特性上卻相去甚遠(yuǎn)。使用中斷方式, 微控制器可以什么都不做, 甚至可以進(jìn)入等待模式或停止模式; 而在查詢方式下, 微控制器必須不停地訪問寄存器, 這會帶來很多額外的功耗, 所以, 用軟件進(jìn)行設(shè)計(jì)時, 除非系統(tǒng)本身已要求采用查詢方式, 否則應(yīng)盡可能采用中斷方式進(jìn)行編程。

          2.4 定時器延時程序的采用

          當(dāng)軟件設(shè)計(jì)中需要用到延時程序時, 設(shè)計(jì)人員應(yīng)多使用定時器延時方法來進(jìn)行設(shè)計(jì)。這是因?yàn)椋?通常嵌入式處理器進(jìn)入待機(jī)模式后, CPU會停止工作, 而定時器可以正常工作, 由于定時器的功耗很低, 故當(dāng)處理器調(diào)用延時程序后, 嵌入式系統(tǒng)便可進(jìn)入待機(jī)模式, 此時定時器可以繼續(xù)工作, 定時時間一旦結(jié)束, 即可喚醒CPU重新進(jìn)入工作, 這樣不但降低了CPU功耗, 還提高了CPU的工作效率。而如果采用查詢方式, 則CPU會不斷地對系統(tǒng)進(jìn)行查詢, 由于CPU時刻工作,這樣不但效率低下, 同時處理器功耗也很大。

          2.5 算法優(yōu)化

          優(yōu)化算法多出現(xiàn)在嵌入式中, 采用大量現(xiàn)成的公式和計(jì)算方法, 可以節(jié)省系統(tǒng)內(nèi)部運(yùn)算的時間, 減少功耗; 另外, 在嵌入式系統(tǒng)允許的誤差情況下, 也可以近似用比較簡單的函數(shù)來取代復(fù)雜函數(shù)進(jìn)行運(yùn)算, 從而減少功率消耗。

          3 結(jié)束語

          嵌入式系統(tǒng)的設(shè)計(jì)涉及到硬件設(shè)計(jì)和軟件設(shè)計(jì)兩個方面, 在實(shí)際系統(tǒng)應(yīng)用時, 低功耗的設(shè)計(jì)并非是單方面的因素, 需要綜合考慮各種可能的原因、條件和狀態(tài), 應(yīng)把硬件設(shè)計(jì)和軟件設(shè)計(jì)綜合起來進(jìn)行考慮, 并對細(xì)節(jié)進(jìn)行認(rèn)真的分析, 同時對多種可能的方案和方法進(jìn)行計(jì)算和總結(jié), 這樣才可能取得較為滿意的效果, 最終達(dá)到降低系統(tǒng)功耗的目的。

          本文引用地址:http://www.ex-cimer.com/article/151065.htm
          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          c++相關(guān)文章:c++教程




          關(guān)鍵詞: 嵌入式 DSP

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁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); })();