經(jīng)過近幾年的快速發(fā)展,嵌入式系統(tǒng)(Embedded System)已經(jīng)成為電子信息產(chǎn)業(yè)中最具增長力的一個分支。隨著手機、PDA,GPS、機頂盒等新興產(chǎn)品的大量應用,嵌入式系統(tǒng)的市場正在以每年30%的速度遞增(IDC預測),嵌入式系統(tǒng)的設計也成為軟硬件工程師越來越關(guān)心的話題。 在嵌入式系統(tǒng)設計中,低功耗設計(Low Power Design)是許多設計人員必須面對的問題。其原因在于嵌入式系統(tǒng)被廣泛應用于便攜式和移動性較強的產(chǎn)品中,而這些產(chǎn)品不是一直都有充足的電源供應,往往是靠電池來供電的;而且大多數(shù)嵌入式設備都有體積和質(zhì)量的約束。另外,系統(tǒng)部件產(chǎn)生的熱量和功耗成比例,為解決散熱問題而采取的冷卻措施進一步增加了系統(tǒng)的功耗。為了得到最好的結(jié)果,降低系統(tǒng)的功耗具有下面的優(yōu)點: (1)電池驅(qū)動的需要。在強調(diào)綠色環(huán)保時期,許多電子產(chǎn)品都采用電池供電。對于電池供電系統(tǒng),延長電池壽命,降低用戶更換電池的周期,提高系統(tǒng)性能與降低系統(tǒng)開銷,甚至能起到保護環(huán)境的作用。 (2)安全的需要。在現(xiàn)場總線領(lǐng)域,本安問題是一個重要話題。例如FF的本安設備,理論上每個網(wǎng)段可以容納32個設備,而實際應用中考慮到目前的功耗水平,每個網(wǎng)段安裝10個比較合適。因此降低系統(tǒng)功耗是實現(xiàn)本安要求的一個重要途徑。 (3)解決電磁干擾。系統(tǒng)功耗越低,電磁輻射能量越小,對其他設備造成的干擾也越小。如果所有的電子產(chǎn)品都能設計成低功耗,那么電磁兼容性設計會變得容易。 (4)節(jié)能的需要。特別是對電池供電系統(tǒng),功耗與電壓的平方成正比即:P=V2/fC+Pstatic,因此節(jié)能更為重要。 1 功耗產(chǎn)生的原因 1.1 集成電路的功耗 目前的集成電路工藝主要有TTL和CMOS兩大類,無論哪種工藝。只要電路中有電流通過.就會產(chǎn)生功耗。通常,集成電路的功耗主要有4個: (1)開關(guān)功耗。對電路中的電容充放電而形成,其表達式為: 式中:Vdd為電源電壓;C為被充放電的電容:α為活動因子;f為開關(guān)頻率。 (2)靜態(tài)功耗和動態(tài)功耗。當電路的狀態(tài)沒有進行翻轉(zhuǎn)(保持高電平或低電平)時,電路的功耗屬于靜態(tài)功耗,其大小等于電路電壓與流過電流的乘積;動態(tài)功耗是電路翻轉(zhuǎn)時產(chǎn)生的功耗,由于電路翻轉(zhuǎn)時存在跳變沿,在電路翻轉(zhuǎn)瞬間,電流比較大.存在較大的動態(tài)功耗。目前大多數(shù)電路都采用CMOS工藝,靜態(tài)功耗很小,可以忽略。起主要作用的是動態(tài)功耗,因此從降低動態(tài)功耗人手來降低功耗。 (3)短路功耗。因開關(guān)時由電源到地形成的通路造成的,其表達式為: 式中:κ由工藝和電壓決定;W為晶體管寬度;τ為輸入信號上升/下降的時間;f為工作頻率。 (4)漏電功耗。由亞閾值電流和反向偏壓電流造成。目前大多數(shù)電路都采用CMOS工藝。故漏電功耗很小,可以忽略。 1.2 電阻的功耗和有源器件的功耗 通常為負載器件和寄生元件產(chǎn)生的功耗。有源開關(guān)器件在狀態(tài)轉(zhuǎn)換時,電流和電壓比較大,將引起功率消耗。另外,CMOS電路中最大的功耗來自于內(nèi)部和外部的電容充放電產(chǎn)生的功耗。 2 硬件低功耗設計 2.1 選擇低功耗的器件 選擇低功耗的電子器件可以從根本上降低整個硬件系統(tǒng)的功耗。目前的半導體工藝主要有TTL工藝和CMOS工藝,CMOS工藝具有很低的功耗,在電路設計上盡量選用,使用CMOS系列電路時,其不用的輸入端不要懸空,因為懸空的輸入端可能存在感應信號,它將造成高低電平的轉(zhuǎn)換。轉(zhuǎn)換器件的功耗很大,盡量采用輸出為高的原則。 嵌入式處理器是嵌入式系統(tǒng)的硬件核心,消耗大量的功率,因此設計時選用低功耗的處理器;另外,選擇低功耗的通信收發(fā)器(對于通信應用系統(tǒng))、低功耗的訪存部件、低功耗的外圍電路,目前許多通信收發(fā)器都設計成節(jié)省功耗方式,這樣的器件優(yōu)先采用。 2.2 選用低功耗的電路形式 完成同樣的功能,電路的實現(xiàn)形式有多種。例如,可以利用分立元件、小規(guī)模集成電路,大規(guī)模集成電路甚至單片實現(xiàn)。通常,使用的元器件數(shù)量越少,系統(tǒng)的功耗越低。因此,盡量使用集成度高的器件,以減少電路中使用元件的個數(shù),減少整機的功耗。 2.3 單電源、低電壓供電 一些模擬電路如運算放大器等。供電方式有正負電源和單電源兩種。雙電源供電可以提供對地輸出的信號。高電源電壓的優(yōu)點是可以提供大的動態(tài)范圍,缺點是功耗大。例如,低功耗集成運算放大器LM324,單電源電壓工作范圍為5~30 V。當電源電壓為15 V時,功耗約為220 mw;當電源電壓為10 V時,功耗約為90 mw;當電源電壓為5 V時,功耗約為15 mw。可見,低電壓供電對降低器件功耗的作用十分明顯。因此,處理小信號的電路可以降低供電電壓。 2.4 分區(qū)/分時供電技術(shù) 一個嵌入式系統(tǒng)的所有組成部分并非時刻在工作,基于此,可采用分時/分區(qū)的供電技術(shù)。原理是利用“開關(guān)”控制電源供電單元,在某一部分電路處于休眠狀態(tài)時,關(guān)閉其供電電源,僅保留工作部分的電源。 2.5 I/O引腳供電 嵌入式處理器的輸出引腳在輸出高電平時,可以提供約20 mA的電流,該引腳可以直接作為某些電路的供電電源使用,如圖2所示。處理器的引腳輸出高電平時,外部器件工作;輸出低電平時,外部器件停止工作。需要注意。該電路需滿足下列要求:外部器件的功耗較低,低于處理器I/O引腳的高電平輸出電流;外部器件的供電電壓范圍較寬。 2.6 電源管理單元設計 處理器全速工作時,功耗最大;待機狀態(tài)時,功耗比較小。常見的待機方式有兩種:空閑方式(Idle)和掉電方式(Shut Down)。其中,Idle方式可以通過中斷的發(fā)生退出,中斷可以由外部事件供給。掉電方式指的是處理器停止,連中斷也不響應,因此需要進入復位才能退出掉電方式。 為了降低系統(tǒng)的功耗,一旦CPU處于“空轉(zhuǎn)”,可以使之進入Idle狀態(tài),降低功耗;期間如果發(fā)生了外部事件,可以通過事件產(chǎn)生中斷信號,使CPU進入運行狀態(tài)。對于Shut Down狀態(tài),只能用復位信號喚醒CPU。 2.7 智能電源設計 既要保證系統(tǒng)具有良好的性能,又能兼顧功耗問題,一個最好的辦法是采用智能電源。在系統(tǒng)中增加適當?shù)闹悄茴A測、檢測,根據(jù)需要對系統(tǒng)采取不同的供電方式,以求系統(tǒng)的功耗最低。許多膝上型電腦的電源管理采用智能電源,以筆記本電腦為例,在電源管理方面,Intel公司采取Speed Step技術(shù);AMD公司采取Power Now技術(shù);Transmeta公司采取Long Run技術(shù)。雖然這三種技術(shù)涉及到的具體內(nèi)容不同,但基本原理是一致的。以采用Speed Step技術(shù)的筆記本電腦為例,系統(tǒng)可以根據(jù)不同的使用環(huán)境對CPU的運行速度進行合理調(diào)整。如果系統(tǒng)使用外接電源,CPU將按照正常的主頻率及電壓運行;當檢測到系統(tǒng)為電池供電時,軟件將自動切換CPU的主頻率及電壓至較低狀態(tài)運行。 2.8 降低處理器的時鐘頻率 處理器的功耗與時鐘頻率密切相關(guān)。以SAM-SUNG S3C2410x(32 b ARM 920T內(nèi)核)為例,它提供了四種工作模式:正常模式、空閑模式、休眠模式、關(guān)機模式.各種模式的功耗如表1所示。 由表1可見,CPU在全速運行的時候比在空閑或者休眠的時候消耗的功率大得多。省電的原則就是讓正常運行模式遠比空閑、休眠模式少占用時間。在類似PDA的設備中,系統(tǒng)在全速運行的時候遠比空閑的時候少,所以可以通過設置,使CPU盡可能工作在空閑狀態(tài),然后通過相應的中斷喚醒CPU,恢復到正常工作模式,處理響應的事件,然后再進入空閑模式。因此設計系統(tǒng)時,如果處理能力許可,可盡量降低處理器的時鐘頻率。 另外,可以動態(tài)改變處理器的時鐘,以降低系統(tǒng)的總功耗。CPU空閑時,降低時鐘頻率;處于工作狀態(tài)時,提高時鐘頻率以全速運行處理事務,實現(xiàn)這一技術(shù)的方法。通過將I/O引腳設定為輸出高電平,加入電阻R1,將增加時鐘頻率;將I/O引腳輸出低電平,去掉電阻R1,可降低時鐘頻率,以降低功耗。 2.9 降低持續(xù)工作電流 在一些系統(tǒng)中,盡量使系統(tǒng)在狀態(tài)轉(zhuǎn)換時消耗電流,在維持工作時期不消耗電流。例如。IC卡水表、煤氣表、靜態(tài)電能表等,在打開和關(guān)閉開關(guān)時給相應的機構(gòu)上電,開關(guān)開和關(guān)狀態(tài)通過機械機構(gòu)或磁場機制保持開關(guān)的狀態(tài),而不通過電流保持,可以進一步降低電能的消耗。 3 軟件低功耗設計 3.1 編譯低功耗優(yōu)化技術(shù) 編譯技術(shù)降低系統(tǒng)功耗是基于這樣的事實:對于實現(xiàn)同樣的功能,不同的軟件算法,消耗的時間不同,使用的指令不同,因而消耗的功率也不同。對于使用高級語言,由于是面向問題設計的,很難控制低功耗。但是,如果利用匯編語言開發(fā)系統(tǒng)(如對于小型的嵌入式系統(tǒng)開發(fā)),可以有意識地選擇消耗時間短的指令和設計消耗功率小的算法來降低系統(tǒng)的功耗。 3.2 硬件軟件化與軟件硬件化 通常的硬件電路一定消耗功率,基于此,可以減少系統(tǒng)的硬件電路,把數(shù)據(jù)處理功能用軟件實現(xiàn),如許多儀表中用到的對數(shù)放大電路、抗干擾電路,測量系統(tǒng)中用軟件濾波代替硬件濾波器等。 需要考慮,軟件處理需要時間,處理器也需要消耗功率,特別是在處理大量數(shù)據(jù)的時候,需要高性能的處理器,這可能會消耗大量的功率。因此,系統(tǒng)中某一功能用軟件實現(xiàn),還是用硬件實現(xiàn),需要綜合計算后進行設計。 3.3 采用快速算法 數(shù)字信號處理中的運算,采用如FFT和快速卷積等,可以大量節(jié)省運算時間,從而減少功耗;在精度允許的情況下,使用簡單函數(shù)代替復雜函數(shù)作近似,也是減少功耗的一種方法。 3.4 軟件設計采用中斷驅(qū)動技術(shù) 整個系統(tǒng)軟件設計成處理多個事件,在系統(tǒng)上電初始化時,主程序只進行系統(tǒng)的初始化,包括寄存器、外部設備等,初始化完成后,進入低功耗狀態(tài),然后CPU控制的設備都接到中斷輸入端上。當外設發(fā)生了一個事件,產(chǎn)生中斷信號,使CPU退出節(jié)電狀態(tài),進入事件處理,事件處理完成后,繼續(xù)進入節(jié)電狀態(tài)。 3.5 延時程序設計 延時程序的設計有兩種方法:軟件延時和硬件定時器延時。為了降低功耗,盡量使用硬件定時器延時,一方面提高程序的效率,另一方面降低功耗。原因為:大多數(shù)嵌入式處理器在進入待機模式時,CPU停止工作,定時器可正常工作,定時器的功耗可以很低,所以處理器調(diào)用延時程序時,進入待機方式,定時器開始計時,時間一到,則喚醒CPU。這樣一方面CPU停止工作,降低了功耗,另一方面提高了CPU的運行效率。 4 結(jié) 語 嵌入式系統(tǒng)的設計涉及到軟件設計和硬件設計兩個方面,在實際系統(tǒng)應用時,低功耗的設計并非是一蹴而就的事情,需要綜合考慮各種可能的因素、條件和狀態(tài),需要對各種細節(jié)進行認真的斟酌和分析,需要對各種可能的方案和方法進行計算和分析,這樣才可能取得較為滿意的效果,達到降低系統(tǒng)功耗的目的。 |