淺析嵌入式系統(tǒng)設(shè)計中的低功耗技術(shù)
對于一個嵌入式系統(tǒng)來說,系統(tǒng)的工作量隨時都在改變,不可能所有的組件任何時刻都在工作,故可采用分區(qū)/分時供電技術(shù)來降低功耗,可利用開關(guān)控制電源供電單元,在某一部分電路處于休眠狀態(tài)時,關(guān)閉此部分電路的供電電源,僅對工作部分組件供電。其供電原理如圖1所示。
圖1 分區(qū)分時技術(shù)原理圖
2 軟件的低功耗設(shè)計
2.1 優(yōu)化編譯器
在嵌入式系統(tǒng)設(shè)計中,軟件起著引導(dǎo)硬件活動的主導(dǎo)作用,也對系統(tǒng)的能量消耗有很大的影響。過去幾年的研究主要是針對硬件部分,而現(xiàn)在,研究設(shè)計人員則更注重通過優(yōu)化軟件部分來降低系統(tǒng)功耗。要想對軟件進(jìn)行優(yōu)化,必須選擇正確的編譯方法,以降低程序執(zhí)行的功耗。編譯器的作用就是將由高級語言編寫的程序(如C/C++等),翻譯成能夠在目標(biāo)機上執(zhí)行的程序。同時,也使得程序的可讀性和可維護(hù)性得到保證,提高了軟件開發(fā)的效率。另外,將程序移植到新的目標(biāo)機上,也只要用相應(yīng)的編譯器對程序進(jìn)行重新編譯即可,而不必重新編寫程序。但是,在某些情況下,這樣會影響程序的執(zhí)行性能。編譯器的有效性以及它所生成的代碼效率,可以與匯編語言代碼相比較得出。事實上,在一個程序中,每一條指令都將激活微處理器中的某些硬件部件,因此,正確選擇指令可以降低處理器的功耗。通過優(yōu)化編譯器可以進(jìn)行有效的軟件低功率化,從而生成效率更高的代碼,以降低嵌入式設(shè)備的功耗。
2.2 采用軟件代替硬件電路
一般的硬件電路都存在功耗,所以,可以把具有數(shù)據(jù)運算處理功能的硬件電路用軟件來實現(xiàn),例如濾波電路,指數(shù)、對數(shù)運算電路、抗干擾電路等。但是,任何事情都不是絕對的,部分硬件電路到底能否通過軟件來實現(xiàn),此外,還要考慮處理大量的軟件數(shù)據(jù),需要提高處理器的性能和功耗等,同時要考慮這是否合算。
2.3 中斷驅(qū)動技術(shù)設(shè)計
把整個嵌入式系統(tǒng)軟件設(shè)計成多個事件來處理,而在系統(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è)計時,一個程序到底使用中斷方式還是查詢方式,對于一些簡單的應(yīng)用并不那么重要,但在其低功耗特性上卻相去甚遠(yuǎn)。使用中斷方式,微控制器可以什么都不做,甚至可以進(jìn)入等待模式或停止模式; 而在查詢方式下,微控制器必須不停地訪問寄存器,這會帶來很多額外的功耗,所以,用軟件進(jìn)行設(shè)計時,除非系統(tǒng)本身已要求采用查詢方式,否則應(yīng)盡可能采用中斷方式進(jìn)行編程。 2.4 定時器延時程序的采用
當(dāng)軟件設(shè)計中需要用到延時程序時,設(shè)計人員應(yīng)多使用定時器延時方法來進(jìn)行設(shè)計。這是因為,通常嵌入式處理器進(jìn)入待機模式后,CPU會停止工作,而定時器可以正常工作,由于定時器的功耗很低,故當(dāng)處理器調(diào)用延時程序后,嵌入式系統(tǒng)便可進(jìn)入待機模式,此時定時器可以繼續(xù)工作,定時時間一旦結(jié)束,即可喚醒CPU重新進(jìn)入工作,這樣不但降低了CPU功耗,還提高了CPU的工作效率。而如果采用查詢方式,則CPU會不斷地對系統(tǒng)進(jìn)行查詢,由于CPU時刻工作,這樣不但效率低下,同時處理器功耗也很大。
2.5 算法優(yōu)化
優(yōu)化算法多出現(xiàn)在嵌入式DSP中,采用大量現(xiàn)成的公式和計算方法,可以節(jié)省系統(tǒng)內(nèi)部運算的時間,減少功耗; 另外,在嵌入式系統(tǒng)允許的誤差情況下,也可以近似用比較簡單的函數(shù)來取代復(fù)雜函數(shù)進(jìn)行運算,從而減少功率消耗。
3 結(jié)束語
嵌入式系統(tǒng)的設(shè)計涉及到硬件設(shè)計和軟件設(shè)計兩個方面,在實際系統(tǒng)應(yīng)用時,低功耗的設(shè)計并非是單方面的因素,需要綜合考慮各種可能的原因、條件和狀態(tài),應(yīng)把硬件設(shè)計和軟件設(shè)計綜合起來進(jìn)行考慮,并對細(xì)節(jié)進(jìn)行認(rèn)真的分析,同時對多種可能的方案和方法進(jìn)行計算和總結(jié),這樣才可能取得較為滿意的效果,最終達(dá)到降低系統(tǒng)功耗的目的。
評論