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