色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

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

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

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

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

          0 引言

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

          在嵌入式系統(tǒng)的設(shè)計(jì)中, 低功耗設(shè)計(jì)技術(shù)成為許多設(shè)計(jì)人員逐漸關(guān)注的問(wèn)題, 其原因在于嵌入式系統(tǒng)已被越來(lái)越多的應(yīng)用在便攜式和移動(dòng)性較強(qiáng)的產(chǎn)品中, 而這些產(chǎn)品往往要靠電池來(lái)供電。實(shí)際上, 這些年來(lái), 有關(guān)電池的儲(chǔ)能密度并沒(méi)有得到大的進(jìn)步。而對(duì)于便攜設(shè)備, 尤其是手持消費(fèi)品而言, 如果單靠提高電池容量來(lái)提高續(xù)航能力, 似乎并不完全切合實(shí)際。因此, 為提高設(shè)備性能, 設(shè)計(jì)人員更需要從每一個(gè)細(xì)節(jié)考慮降低硬件系統(tǒng)本身的能耗。從而盡可能地延長(zhǎng)電池的使用時(shí)間。事實(shí)上, 低功耗設(shè)計(jì)也已經(jīng)成為一個(gè)越來(lái)越迫切的問(wèn)題, 因而應(yīng)該從硬件和軟件兩個(gè)方面來(lái)考慮嵌入式系統(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ì)), 而動(dòng)態(tài)功耗較大, 因?yàn)閯?dòng)態(tài)功耗是指電路高低電平翻轉(zhuǎn)時(shí)產(chǎn)生的功耗, 在電路高低電平翻轉(zhuǎn)跳變沿期間, 電流很大, 存在較大功耗, 所以, 降低硬件電路功耗主要是降低電路動(dòng)態(tài)功耗。動(dòng)態(tài)功耗公式為:


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

          1.2 低功耗外圍器件的選用

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

          1.3 微處理器的選擇

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

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

          表1 不同工作模式的時(shí)鐘頻率與功耗對(duì)比表


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

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

          1.4 多CPU系統(tǒng)

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

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

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


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

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

          2.1 優(yōu)化編譯器

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

          2.2 采用軟件代替硬件電路

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

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

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

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

          2.4 定時(shí)器延時(shí)程序的采用

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

          2.5 算法優(yōu)化

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

          3 結(jié)束語(yǔ)

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

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

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




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

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉