新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 嵌入式系統(tǒng)的低功耗軟件設(shè)計

嵌入式系統(tǒng)的低功耗軟件設(shè)計

作者: 時間:2012-05-07 來源:網(wǎng)絡(luò) 收藏
引言

是嵌入式電子產(chǎn)品必須具備的一個關(guān)鍵特性,在硬件技術(shù)飛速發(fā)展和日益完善的時候,已經(jīng)很難有功耗方面的突破了。所以現(xiàn)在降低產(chǎn)品功耗主要是依靠軟件來處理,必須依靠軟件讓整個系統(tǒng)在各個時候電流達(dá)到最小。不管是操作系統(tǒng)、BIOS控制程序還是外設(shè)驅(qū)動程序,這些程序?qū)Q定了最終產(chǎn)品的功耗水平,因此在開發(fā)時必須加以考慮。本論文將以智能電話為例,介紹一種通過軟件降的方法,可供嵌入式設(shè)計工程師們參考。實現(xiàn)省電降的方法有很多,本文不可能面面俱到,將主要介紹軟件程序如何控制物理層進(jìn)行省電。

具體實現(xiàn)措施

系統(tǒng)描述及設(shè)計思想

目前國內(nèi)智能電話的數(shù)字多媒體解決方案一般通過基于ARM7等內(nèi)核的基帶嵌入式處理芯片外接多媒體處理芯片來實現(xiàn)。嵌入式處理器是硬件系統(tǒng)的核心,運行功耗占系統(tǒng)功耗的大部分。目前,嵌入式處理芯片一般采用RISC體系結(jié)構(gòu),通過簡化指令設(shè)計、引入流水線技術(shù)、指令預(yù)取、大量寄存器操作和高速緩存等技術(shù)提高運行效率,并采用低電壓工作模式以降低運行功耗。嵌入式處理芯片一般為應(yīng)用開發(fā)提供了三種工作模式:運行模式(Run)、空閑模式(Idle)和模式 (STandby)。運行模式即正常工作模式,CPU全速運行;空閑模式時CPU是靜態(tài)的,但LCD刷新電路和晶振都工作。在不同運行模式下,處理器工作時功耗數(shù)值差別較大;以Cirrus Logic公司EP7211(ARM7核)嵌入式處理器為例,開發(fā)手冊中寫到,在18MHz工作頻率下,運行時消耗電流是20mA,空閑時消耗電流是 6mA,而時消耗電流300mA。

本嵌入式產(chǎn)品系統(tǒng)(智能電話)中的基帶嵌入式處理器芯片將采用展訊的SC6600芯片平臺,多媒體芯片則采用廣達(dá)的QCP1880芯片平臺,音頻編解碼芯片采用WolfsON 8750芯片,LCD采用HIMAX8309。作為手機產(chǎn)品,電池一般在800~1200mA時左右,待機要求80小時以上,這就要求系統(tǒng)在待機狀態(tài)時候的電流在10mA以下,關(guān)機后的電流在mA級以下。SC6600在睡眠模式下一般有3~5mA左右電流,QCP1880在睡眠模式下一般會有10mA左右電流,斷電后在200mA左右,音頻部分在空閑模式大概有270mA,在待機時SC6600的3~5mA固有電流沒辦法省掉,所以QCP1880必須斷電。

低功耗設(shè)計的基本思想是:讓系統(tǒng)各個部分在需要的時候才處于工作狀態(tài),其他時候處于各部分的省電狀態(tài)。大部分的嵌入式處理器都具有正常工作模式和省電工作模式,最常用的是空閑模式,此時處理器內(nèi)核指令執(zhí)行部分關(guān)閉,時鐘頻率降低,空閑模式比處理器執(zhí)行指令時的功耗要小得多。空閑模式一個主要特點是其進(jìn)入退出基本上不需要額外開銷,通常一個或幾個指令周期能完成。外設(shè)部分硬件一般也有省電處理設(shè)計,軟件主要是控制外設(shè)在沒有工作時處于省電狀態(tài),甚至關(guān)掉整個外設(shè),在需要時再掛上。

功能設(shè)計

在大體上,本系統(tǒng)省電處理主要分為三塊:基帶芯片(SC6600),普通外設(shè)(能很方便地在使用時打開,不用時關(guān)掉的設(shè)備,如LCD等),多媒體芯片(QCP18800)。

*基帶芯片(SC6600)的處理:

由于很多中斷都能把處理器從空閑模式中,所以采用智能等待這種模式。讓處理器平常處于空閑模式,把隨機事件和實時要求比較高的都掛在中斷上,當(dāng)事件發(fā)生處理器能很快被,處理這些事件。其他有規(guī)律的事件和實時性要求不高的用定時器去進(jìn)行掃描。這種等待機理應(yīng)用很普遍,現(xiàn)今大多數(shù)PDA和智能電話都是由具有空閑模式功能的處理器和操作系統(tǒng)控制,處理器只有在有用戶操作或有任務(wù)處理時才處于正常工作狀態(tài),其他時候都是處于空閑(SLEEP)狀態(tài),這樣最大程度提高電源效率。例如,在用手機看電子書時,處理器處于空閑狀態(tài),當(dāng)用戶翻頁或其他操作(按鍵、觸屏等)時,處理器將被處理相應(yīng)的操作,處理完又進(jìn)入空閑狀態(tài)。

對于CPU的處理,后臺起一個線程監(jiān)控系統(tǒng)CPU的使用情況,當(dāng)CPU處于空閑狀態(tài)時,且系統(tǒng)其他模塊也允許CPU 睡眠的時候,CPU立刻進(jìn)入睡眠模式。

基帶芯片的處理流程圖見圖1。

圖1 基帶芯片的處理流程

*普通外設(shè)的省電處理:

除LCD 和背光外,其他外設(shè)在CPU進(jìn)入睡眠模式之前被關(guān)掉。LCD和背光用做用戶的操作界面需要的是友好性,所以讓用戶可以設(shè)置。在用戶設(shè)定的時間用完后自動熄滅。其他外設(shè)如音頻模塊,在沒有聲音時就關(guān)閉,需要播放聲音時再打開。音頻模塊本來有睡眠模式,但其電流沒達(dá)到要求,所以斷開了其電源讓它進(jìn)入斷電模式,這里有個缺點是,以前初始化和后來設(shè)置好的參數(shù)就會丟失,需要在打開初始化時重新設(shè)置(浪費些資源記錄它的狀態(tài))。LCD及背光處理流程圖見圖2。

圖2 LCD及背光處理流程圖


上一頁 1 2 3 下一頁

關(guān)鍵詞: 低功耗 休眠 喚醒

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉