王 萌
(陜西能源職業(yè)技術(shù)學院,陜西 咸陽712000)
(1)硬件電路器件?,F(xiàn)在很多的電路多采用集成電路CMOS 工藝,相較于TTL 工藝技術(shù),不僅能夠?qū)㈦娮釉骷南臏p少還能夠減少整個系統(tǒng)的消耗。由此可見,現(xiàn)在的工藝技術(shù)中應該廣泛的使用CMOS 集成電路工藝技術(shù)。
在CMOS 技術(shù)的設計方面所需要消耗的功耗是非常小的,但處于動態(tài)時的時候,電路消耗的功耗很大。
動態(tài)功耗公式為:
式中,動態(tài)的功耗主要是采用P 來表示,器件負載電容主要是采用C 來表示,電壓采用V 表示,頻率采用f 來表示。
采用COMS 集成工藝技術(shù)的硬件電路的功耗,主要與電路工作時的電壓和頻率有聯(lián)系。其芯片不使用的輸入端不能懸空,如果輸入端懸空的話可能存在感應信號,同時造成電平的高低轉(zhuǎn)換。
(2)低功耗外圍器件的選用。低功耗設計首先就是對電子元件進行必要的篩選,具備相同性能的電路,電路的形式是多樣的。比如說,在系統(tǒng)立面不管是嵌入式內(nèi)部RAM 亦或者是外部的FLASH 在其功能上都具有一致性。但是同等條件下,讀取RAM 要比讀FLASH 消耗的功率更大。
其次元器件的規(guī)模和集成形式。要使設計的系統(tǒng)功耗低,最直接的方式就是保證質(zhì)量和成本的前提下多采用集成度高的元器件和芯片,從而減少設備的功耗。
(3)微處理器的選擇。在整個系統(tǒng)之中,以嵌入式設計為基礎(chǔ)的功耗之中占據(jù)最大比例的就是CPU。
微處理器的功耗主要分為兩部分:
總功耗=內(nèi)核功耗+外部接口控制器功耗
當處理器處于工作狀態(tài)下的電壓是影響功耗的關(guān)鍵因素;其次就是地址總線寬度以及數(shù)據(jù)總線寬度等。總線的寬度決定了處理處理能力的強弱,同時會影響功耗的高低。要使降低功耗,就需要使總線位數(shù)變窄。
根據(jù)上面說敘述的內(nèi)容,要降低微處理器的內(nèi)核功耗,就是想法降低處理器的工作電壓、時鐘頻率或者兩者都降低[1-2]。
許多處理器的工作電壓可降至2V 以下。在設計系統(tǒng)時,如果處理器的運行電壓相近和系統(tǒng)功能相同的情況下,則可以通過降低處理器的時鐘頻率的方法來實現(xiàn)。關(guān)于嵌入式微處理器所能夠提供的工作模式有四大類:休眠、正常、空閑和關(guān)機。
當處理器處于高速運行狀態(tài)的時候所消耗的功率要遠遠地大于其他狀態(tài)所產(chǎn)生的消耗。我們可以采用相關(guān)的程序,當需要處理器進行處理的時候,將其進行喚醒,達到正常工作的狀態(tài);當處理器將所需要處理的程序完畢之后,再次進入到空閑的狀態(tài)。
系統(tǒng)低功耗設計時,遵循以下幾點:首先處理能力相同的情況下,可通過降低處理器的時鐘頻率;然后就是將處理器的功效降低,最后的步驟是將外設控制器斷開。
(4)多CPU 系統(tǒng)。若一個處理器承擔著多項工作時,那么必然需要很高的運算速度。這種情況下,還要實現(xiàn)低功耗就十分不易了,因而多處理器系統(tǒng),成為發(fā)展的必然趨勢之一。
這種方式具是參照需要工作的不同,來處理不同的工作任務,從而最大程度發(fā)揮出各自的優(yōu)點,能夠?qū)⑾到y(tǒng)的性能發(fā)揮到最大的程度。用單處理器來完成所有的功能,則需要很高的處理速度,造成很高的功耗,消耗很多能量[2]。多處理器系統(tǒng)會根據(jù)工作的不同,啟動或停止相對應的處理器工作,從而很大程度上控制功耗。
(5)分區(qū)/分時供電技術(shù)。當系統(tǒng)正處于運行狀態(tài)的時候,工作狀態(tài)是實時性變化的,在系統(tǒng)之中所有的部分都不會長期的處于工作的狀態(tài),這時所需要使用的技術(shù)就是分區(qū)/分時技術(shù),借助這種方式能夠?qū)⑾到y(tǒng)的功耗減少到最小。
過去的低功耗研究,主要如何對硬件進行設計、升級改造來實現(xiàn)低功耗。截止到目前為止,相關(guān)的研究人員主要是想提升軟件的升級以及優(yōu)化來達到減少功耗的目的。在嵌入式應用系統(tǒng)里,軟件的作用也來越重要,軟件不僅要進行相應的運算處理,還要引導硬件運行。
(1)優(yōu)化編譯器。軟件優(yōu)化過程中首先解決的就是選取適合的編譯方法。從功能的角度上來看,編譯器主要是將高級語言程序,翻譯成為可以執(zhí)行的程序。與此同時,軟件的可讀性和軟件的可維護性得到保證,同時提高軟件開發(fā)的效率。此外,將編寫的軟件程序下載到新的系統(tǒng)或設備上,只要把相應的編譯器對軟件進行重新編譯就可以了,不必重新設計軟件。這樣做當然在一些特定情況下,會影響軟件執(zhí)行的性能[2]。
從實踐的角度上來看,程序設計的邏輯不同,編寫的指令的多少就不同,處理器執(zhí)行時間不同功耗也不同。設計更合理的邏輯、編程更簡潔的程序成為軟件低功耗設計的核心。當編譯器進行優(yōu)化以后,此時能夠?qū)⑸纱a的效率提升,并且能夠使設備的消耗降低。
(2)采用軟件代替硬件電路。針對于普通電路,如果能夠通過軟件實現(xiàn)相應功能,就不要選擇硬件,顯然同樣的運算過程,軟件的功耗要遠遠低于純硬件電路。當然這也都不是絕對的,因為有些硬件電路無法通過軟件來實現(xiàn),同時所要處理的大量數(shù)據(jù)信息,對處理器提出更高的性能和功耗要求,同時也要考慮成本問題。
(3)中斷驅(qū)動技術(shù)設計。在系統(tǒng)設計時,編寫的程序選擇中斷方式還是選擇查詢方式,對于一些簡單應用并無區(qū)別,但是兩者的功耗表現(xiàn)卻相差很大。
在關(guān)于嵌入式系統(tǒng)程序的設計方面,其主要是由主程序以及其他的子程序組合而成,當外設出現(xiàn)了中斷信號,從而導致處理器進入到了工作狀態(tài),當所有的工作處理結(jié)束之后,處理器就再次進入休眠的狀態(tài)。這樣沒有中斷信號時相應的硬件電路均處在最低的功耗下。查詢方式,會使處理器不斷進行查詢,導致處理器一直處于工作狀態(tài),不僅效率低,功耗也大。
(4)定時器延時程序的采用。如果軟件方面需要設計延時程序的時候,應通過定時器延時的方式來解決。通過這樣的方式是因為嵌入式處理器如果是待機模式,處理器會停止工作,但是定時器卻不停止工作。當定時工作結(jié)束以后,此時處理器就會再次回到工作的狀態(tài)。這樣的操作方式不僅能夠最大程度的減少處理器方面的能源消耗,同時還能夠?qū)⒐ぷ餍实玫阶畲蟮奶嵘?/p>
(5)算法優(yōu)化。算法優(yōu)化是指對算法的復雜度、正確性等性能進行優(yōu)化。
遇到的任何工程上問題時,都可以建立成一種最優(yōu)化模型進行求解,例如神經(jīng)網(wǎng)絡、AI 等,它們的本質(zhì)任然是建立優(yōu)化模型,通過最優(yōu)化方法對目標函數(shù)(或損失函數(shù))進行優(yōu)化,從而訓練出最好的模型。
當對嵌入式DSP 實行算法優(yōu)化操作的時候,此時能夠借助很多的計算方式,這樣可以將時間成本節(jié)約下來,還能夠?qū)⒐臏p少到最小。
文章簡述了電路低功耗設計時,需要考慮的硬件的低功耗設計和軟件的低功耗設計。硬件低功耗設計時,從元器件選型,到分時/分區(qū)供電來實現(xiàn)降低功耗的目的。軟件低功耗設計則從優(yōu)化編譯器,優(yōu)化算法,中斷驅(qū)動等方面,簡述軟件低功耗設計時所要注意的問題??傊ㄟ^上述的經(jīng)驗和方法能夠有效的降低電路的功耗。