基于ARM的嵌入式計算機系統(tǒng)的低功耗設(shè)計與實現(xiàn)
4 軟件的低功耗設(shè)計與實現(xiàn)
4.1 動態(tài)設(shè)置時鐘頻率
對于已經(jīng)搭建好的硬件系統(tǒng)來說,系統(tǒng)已經(jīng)定型,從硬件設(shè)計上已不能做更多的考慮,這時我們只能從軟件入手來實現(xiàn)系統(tǒng)的低功耗設(shè)計。而對于軟件的低功耗設(shè)計最切實可行的就是實現(xiàn)動態(tài)電源管理,所謂動態(tài)的電源管理就是在系統(tǒng)運行期間通過對系統(tǒng)的時鐘或電壓的動態(tài)控制來達到節(jié)省功率的目的,這種動態(tài)控制是與系統(tǒng)的運行狀態(tài)密切相關(guān)的。
在嵌入式計算機系統(tǒng)中,軟件設(shè)計上動態(tài)地通過設(shè)置時鐘頻率來降低系統(tǒng)的功耗,換句話說就是為系統(tǒng)選取合適的工作模式。系統(tǒng)采用的微處理器是ARM處理器PX270,PXA270處理器的內(nèi)部的各種頻率都是通過外部晶振頻率經(jīng)內(nèi)部鎖相環(huán)(PLL)倍頻后產(chǎn)生的,可通過內(nèi)部的寄存器設(shè)置各種工作頻率來控制功耗。PXA270處理器共有四種工作模式:正常模式、空閑模式、休眠模式、待命模式,各種模式的功耗如表1所示。本文引用地址:http://2s4d.com/article/149113.htm
由表1可見,PXA270在全速運行的時候比在空閑或者休眠的時候消耗的功率大得多。省電的原則就是讓正常運行模式遠比空閑、休眠模式少占用時間。在嵌入式計算機系統(tǒng)中,系統(tǒng)在全速運行的時候遠比空閑的時候少,所以設(shè)計上可通過設(shè)置使PXA270盡可能工作在空閑狀態(tài),然后通過相應(yīng)的中斷喚醒PXA270恢復(fù)到正常工作模式,處理響應(yīng)的事件,然后再進入空閑模式。這樣的軟件設(shè)計方式可盡可能地降低系統(tǒng)的功耗。
4.2 動態(tài)控制外設(shè)控制寄存器
PXA270處理器提供的接口控制器很多,如ADC、I2C、I2S、LCD、Flash、Timer、UART、SPI、USB等,實際應(yīng)用中只使用了部分功能,ADC、I2C、I2S和SPI都沒有用到,為節(jié)省系統(tǒng)功耗,需動態(tài)地關(guān)注這些接口控制器的狀態(tài),及時關(guān)閉不需要的外設(shè)控制器,因為若不將不用的接口控制器關(guān)閉,即使它們沒有處于工作狀態(tài),仍然會消耗電流。軟件通過CLKCON寄存器的設(shè)置,關(guān)閉不需要的功能模塊,經(jīng)測量可節(jié)省2mA的電流。另外,動態(tài)關(guān)閉一些仍然需要的外設(shè)控制器來進一步節(jié)省能量。
如在空閑模式下,PXA270內(nèi)核停止運行,我們還可以進一步關(guān)閉一些其他的外設(shè)控制器,如USB、SDI、FLASH等,只要保證喚醒PXA270的
I/O控制器正常工作即可,如通過UART喚醒,則UART控制器不能被關(guān)閉。等到PXA270被喚醒后,再將USB、SDI、Flash等控制器打開。
上述的軟件低功耗設(shè)計的兩種方式,一種是通過改變了系統(tǒng)的時鐘頻率,另一種是通過控制外設(shè)控制器的開關(guān)來達到節(jié)約能量的目的。除此之外,同時可通過動態(tài)改變處理器的電壓和頻率來進一步節(jié)省功率,我們選擇的PXA270微處理器就加入了Intel Speed Step動態(tài)電源管理技術(shù),在保證CPU性能的情況下,最大限度地降低嵌入式計算機系統(tǒng)的功耗。
5 結(jié)束語
嵌入式計算機系統(tǒng)的低功耗設(shè)計,本身就是理論和設(shè)計實踐相結(jié)和的問題,要降低功耗,系統(tǒng)中各個環(huán)節(jié)都不容忽視,這也是一個不斷優(yōu)化的過程。本文的設(shè)計中綜合考慮各種可能的因素、條件和狀態(tài),對各種細節(jié)進行認真的斟酌和分析,取得了較為滿意的效果,達到降低系統(tǒng)功耗的目的。該設(shè)計已在產(chǎn)品應(yīng)用,性能穩(wěn)定,功耗較低。
評論