智能手機的系統(tǒng)架構(gòu)及其低功耗設(shè)計
然而,作為一種便攜式和移動性的終端,完全依靠電池來供電,隨著智能手機的功能越來越強大,其功率損耗也越來越大。因此,必須提高智能手機的使用時間和待機時間。對于這個問題,有兩種解決方案:一種是配備更大容量的手機電池;另一種是改進系統(tǒng)設(shè)計,采用先進技術(shù),降低手機的功率損耗。
現(xiàn)階段,手機配備的電池以鋰離子電池為主,雖然鋰離子電池的能量密度比以往提升了近30%,但是仍不能滿足智能手機發(fā)展需求。就目前使用的鋰離子電池材料而言,能量密度只有20%左右的提升空間。而另一種被業(yè)界普遍看做是未來手機電池發(fā)展趨勢的燃料電池,能使智能手機的通話時間超過13 h,待機時間長達1個月,但是這種電池技術(shù)仍不成熟,離商用還有一段時間[1]。增大手機電池容量總的趨勢上將會增加整機的成本。
因此,從智能手機的總體設(shè)計入手,應(yīng)用先進的技術(shù)和器件,進行降低功率損耗的方案設(shè)計,從而盡可能延長智能手機的使用時間和待機時間。事實上,低功耗設(shè)計已經(jīng)成為智能手機設(shè)計中一個越來越迫切的問題。
1 智能手機的硬件系統(tǒng)架構(gòu)
本文討論的智能手機的硬件體系結(jié)構(gòu)是使用雙cpu架構(gòu),如圖1所示。
主處理器運行開放式操作系統(tǒng),負責整個系統(tǒng)的控制。從處理器為無線modem部分的dbb(數(shù)字基帶芯片),主要完成語音信號的a/d轉(zhuǎn)換、d/a轉(zhuǎn)換、數(shù)字語音信號的編解碼、信道編解碼和無線modem部分的時序控制。主從處理器之間通過串口進行通信。主處理器采用xxx公司的cpu芯片,它采用cmos工藝,擁有arm926ej-s內(nèi)核,采用arm公司的amba(先進的微控制器總線體系結(jié)構(gòu)),內(nèi)部含有16 kb的指令cache、16 kb的數(shù)據(jù)cache和mmu(存儲器管理單元)。為了實現(xiàn)實時的視頻會議功能,攜帶了一個優(yōu)化的mpeg4硬件編解碼器。能對大運算量的mpeg4編解碼和語音壓縮解壓縮進行硬件處理,從而能緩解arm內(nèi)核的運算壓力。主處理器上含有l(wèi)cd(液晶顯示器)控制器、攝像機控制器、sdram和srom控制器、很多通用的gpio口、sd卡接口等。這些使它能很出色地應(yīng)用于智能手機的設(shè)計中。
在智能手機的硬件架構(gòu)中,無線modem部分只要再加一定的外圍電路,如音頻芯片、lcd、攝像機控制器、傳聲器、揚聲器、功率放大器、天線等,就是一個完整的普通手機(傳統(tǒng)手機)的硬件電路。模擬基帶(abb)語音信號引腳和音頻編解碼器芯片進行通信,構(gòu)成通話過程中的語音通道。
從這個硬件電路的系統(tǒng)架構(gòu)可以看出,功耗最大的部分包括主處理器、無線modem、lcd和鍵盤的背光燈、音頻編解碼器和功率放大器。因此,在設(shè)計中,如何降低它們的功耗,是一個很重要的問題。
2 低功耗設(shè)計
2.1 降低cpu部分的供電電壓和頻率
在數(shù)字集成電路設(shè)計中,cmos電路的靜態(tài)功耗很低,與其動態(tài)功耗相比基本可以忽略不計,故暫不考慮。其動態(tài)功耗計算公式為:
pd="ctv2f" (1)
式中:pd為cmos芯片的動態(tài)功耗;ct為cmos芯片的負載電容;v為cmos芯片的工作電壓;f為cmos芯片的工作頻率。
由式(1)可知,cmos電路中的功率消耗與電路的開關(guān)頻率呈線性關(guān)系,與供電電壓呈二次平方關(guān)系。對于cpu來說,vcore電壓越高,時鐘頻率越快,則功率消耗越大,所以,在能夠正常滿足系統(tǒng)性能的前提下,盡可能選擇低電壓工作的cpu。對于已經(jīng)選定的cpu來說,降低供電電壓和工作頻率,能夠在總體功耗上取得較好的效果。
對于主cpu來說,內(nèi)核供電電壓為1.3 v,已經(jīng)很小,而且其全速運行時的主頻可以完全根據(jù)需要進行設(shè)置,其內(nèi)部所需的其他各種頻率都是通過主頻分頻產(chǎn)生。主cpu主頻fcpu計算公式如下:
在coms芯片上,為了防止靜電造成損壞,不用的引腳不能懸空,一般接下拉電阻來降低輸入阻抗,提供泄荷通路。需要加上拉電阻來提高輸出電平,從而提高芯片輸入信號的噪聲容限來增強抗干擾能力。但是在選擇上拉電阻時,
必須要考慮以下幾點:
a)從節(jié)約功耗及芯片的倒灌電流能力上考慮,上拉電阻應(yīng)足夠大,以減小電流;
b)從確保足夠的驅(qū)動電流考慮,上拉電阻應(yīng)足夠小,以增大電流;
c)在高速電路中,過大的上拉電阻會使信號邊沿變得平緩,信號完整性會變差。
因此,在考慮能夠正常驅(qū)動后級的情況下(即考慮芯片的vih或vil),盡可能選取更大的阻值,以節(jié)省系統(tǒng)的功耗。對于下拉電阻,情況類似。
2.3.2 對懸空引腳的處理
對于系統(tǒng)中cmos器件的懸空引腳,必須給予重視。因為cmos懸空的輸入端的輸入阻抗極高,很可能感應(yīng)一些電荷導致器件被高壓擊穿,而且還會導致輸入端信號電平隨機變化,導致cpu在休眠時不斷地被喚醒,從而無法進入睡眠狀態(tài)或其他莫名其妙的故障。所以正確的方法是,根據(jù)引腳的初始狀態(tài),將未使用的輸入端接到相應(yīng)的供電電壓來保持高電平,或通過接地來保持低電平。
2.3.3 緩沖器的選擇
緩沖器有很多功能,如電平轉(zhuǎn)換、增加驅(qū)動能力、數(shù)據(jù)傳輸?shù)姆较蚩刂频?,當僅僅基于驅(qū)動能力的考慮增加緩沖器時,必須慎重考慮,因驅(qū)動電流過大會導致更多的能量被浪費掉。所以應(yīng)仔細檢查芯片的最大輸出電流ioh和iol是否足夠驅(qū)動下級芯片,當可以通過選取合適的前后級芯片時應(yīng)盡量避免使用緩沖器。
2.4 電源供給電路
由于使用雙cpu架構(gòu),外設(shè)很多,需要很多種電源。僅以主cpu來說,就需要1.3v、2.4v和2.8v電壓,因此需要很多電壓變化單元。通常,有以下幾種電壓變換方式:線性調(diào)節(jié)器;dc/dc;LDO(低漏失調(diào)節(jié)器)。其中l(wèi)do本質(zhì)上是一種線性穩(wěn)壓器,主要用于壓差較小的場合,所以將其合并為線性穩(wěn)壓器。
線性穩(wěn)壓器的特點是電路結(jié)構(gòu)簡單,所需元件數(shù)量少,輸入和輸出壓差可以很大,但其致命弱點是效率低、功耗高,其效率η完全取決于輸出電壓大小。
dc/dc電路的特點是效率高、升降壓靈活,缺點是電路相對復雜,紋波噪聲干擾較大,體積也相對較大,價格也比線性穩(wěn)壓高,對于升壓,只能使用dc/dc。因此,在設(shè)計中,對于電源紋波噪音要求不嚴的情況,都是使用dc/dc的電壓轉(zhuǎn)換器件,這樣可以有效地節(jié)約能量,降低智能手機的功耗。
2.5 led燈的控制
智能手機電路中,鍵盤和lcd背光燈工作時會消耗大量能量。例如本文架構(gòu)中使用的lcd,其背光燈電氣要求如下: 正向電流典型值為15 ma,正向電壓典型值為14.4 v,背光燈消耗功率典型值為216 mw。
由此可以看出,在正常工作時,lcd背景l(fā)ed燈功耗非常大。因此,在設(shè)計中,必須降低led燈的功耗??梢酝ㄟ^以下方法:
a)在led燈回路中短接一個小電阻,改變阻值,用來控制led燈工作時的電流。
b)利用人眼的遲滯效應(yīng),使用pwm(脈寬調(diào)制)信號來控制led燈的開關(guān)。
在主cpu中,通過配置寄存器gpcon_u、gpcon_l可以把gpio20一gpio23和gpio2-gplo5配置成pwm信號輸出,再配置內(nèi)部相應(yīng)的寄存器,控制pwm輸出信號的頻率和占空比,作為控制引腳來控制led背光燈,以此來降低lcd背光燈的功耗。
; c)在手機圖形界面上提供一個調(diào)節(jié)背光燈亮度的界面,讓用戶在系統(tǒng)設(shè)置的led燈亮度基礎(chǔ)上,進一步調(diào)節(jié)背關(guān)燈的亮度,這樣,既增加了手機使用的靈活性,又進一步降低了手機的功耗。
2.6 無線modem部分的控制
如圖1所示,智能手機的硬件體系結(jié)構(gòu)采用雙cpu架構(gòu),無線modem作為主cpu的一個外設(shè),與主cpu芯片的其他外設(shè)相比,具有其特殊性,例如當智能手機處于睡眠模式時,可以直接關(guān)閉lcd、攝像機等外設(shè)的供電電源,而無線modem不行,必須要求無線modem具有繼續(xù)等待來電、搜索網(wǎng)絡(luò)等功能,而不能直接將其關(guān)閉。而對于本文硬件架構(gòu)中的無線modem方案,其中也擁有一個系統(tǒng),內(nèi)部運行完整的gsm(全球移動通信系統(tǒng))協(xié)議和獨立的電源管理模塊,主cpu可以通過uart口和無線modem進行電源管理協(xié)商。無線modem內(nèi)部的電源管理由自己來控制,當無線modem處于空閑狀態(tài)時,自己能完好地進入和退出待機模式。因此,在本文的硬件架構(gòu)的設(shè)計上,當智能手機開機時,給無線modem加電、關(guān)機時,對modem進行斷電。
2.7 軟件優(yōu)化
式中:m=mdiv+8;p=pdiv+2,s=sdiv;mdiv、pdiv和sdiv可以通過寄存器進行設(shè)置。
因此,設(shè)計中確定主cpu主頻對于整個系統(tǒng)的功耗和性能是一個關(guān)鍵。本文在綜合考慮系統(tǒng)性能和功耗的基礎(chǔ)上,設(shè)置主cpu主頻為204 mhz。
2.2 dpm
dpm(動態(tài)電源管理)是在系統(tǒng)運行期間通過對系統(tǒng)的時鐘或電壓的動態(tài)控制來達到節(jié)省功率的目的,這種動態(tài)控制與系統(tǒng)的運行狀態(tài)密切相關(guān),該工作往往通過軟件來實現(xiàn)[3,4]。
2.2.1 定義不同的工作模式
在硬件架構(gòu)中智能手機的工作模式與主cpu的工作模式密切相關(guān)。為了降低功耗,主cpu定義了4種工作模式:general clock gating mode;idle mode:sleep mode;stop mode。在主cpu主頻確定的情況下,智能手機中定義了對應(yīng)的4種工作模式:正常工作模式(normal);空閑模式(idle);睡眠模式(sleep);關(guān)機模式(off)。各種模式說明如下:
a)正常工作模式:主cpu工作模式為general clock gating mode;主cpu全速運行;時鐘頻率為204 mhz。智能手機在這種狀態(tài)下功耗最大,根據(jù)不同的運行狀態(tài),如播放mp3、打電話、實際測量,這種模式下智能手機工作電流為200 ma左右。
b)空閑模式:主cpu工作模式為idle mode,主cpu主時鐘停止;時鐘頻 率為204 mhz。在空閑狀態(tài)下,鍵盤背關(guān)燈和lcd背光燈關(guān)閉,lcd上有待機畫面,特定的事件可以使智能手機空閑模式進入正常工作模式,如點擊觸摸屏、定時喚醒、按鍵、來電等。
c)睡眼模式:主cpu工作模式為sleep mode,除了主cpu內(nèi)部的喚醒邏輯打開外,其余全關(guān)閉;主cpu時鐘為使用36.768 khz的慢時鐘。除了modem以外,外設(shè)全部關(guān)閉,定義短時按開機鍵,使智能手機從睡眠模式下喚醒進入正常工作狀態(tài)。
d)關(guān)機模式:主cpu工作模式為stop mode,除了主cpu泄漏電流外,不消耗功率;主cpu關(guān)閉。智能手機必須重新開機之后,才能進正常工作模式,實際測量,手機在這種模式下電流為100μa。
從以上看出,智能手機在正常工作模式下的功率比空閑模式、睡眠模式下大得多。因此,當用戶沒有對手機進行操作時,通過軟件設(shè)置,使手機盡快進入空閑模式或睡眠模
式;當用戶對手機進行操作時,通過相應(yīng)的中斷喚醒主cpu,使手機恢復正常工作模式,處理完響應(yīng)的事件后迅速進入空閑模式或睡眠模式。
2.2.2 關(guān)閉空閑的外設(shè)控制器和外設(shè)
在硬件系統(tǒng)的架構(gòu)中,可以看到,主cpu通過相應(yīng)的接口,外接了很多外部設(shè)備,例如lcd、攝像機、irda(紅外適配器)、藍牙、音頻編解碼器、功率放大器等設(shè)備。當智能手機處于正常工作模式時,對處于空閑狀態(tài)的外設(shè),可以通過主cpu的gpio口,控制給外設(shè)供電的LDO或者dc/dc電源芯片,通過關(guān)閉外設(shè)的供電電源芯片,以達到關(guān)閉外設(shè)的目的。特別是對于大功耗的外設(shè),必須對其進行可靠的關(guān)閉。對于一些正在工作的外設(shè),如音頻編解碼器,通過設(shè)置內(nèi)部的寄存器,關(guān)閉芯片內(nèi)部不使用的通道、功率放大器、d/a轉(zhuǎn)換器等,以降低這些器件工作時的功耗。
對于主cpu的各種接口控制器,一般不會全部用到,即使智能手機處于正常工作模式下,在不同運行狀態(tài),各種接口控制器的使用狀況也是不同的;接口控制器沒有處于工作狀態(tài),如不將其關(guān)閉,仍會消耗電流。對于主cpu來說,各外設(shè)接口控制器的電流消耗[2]如下:nand flash為2.9 ma;lcd為5.8 ma;usb host為0.4 ma;usb驅(qū)動器為2.9 ma;定時器為0.5 ma;sdi為1.9 ma;uart為3.6 ma;rtc為0.4 ma;a/d轉(zhuǎn)換器為0.4 ma;iic為0.6 ma;iis為0.5 ma;spi為0.5 ma。
在圖1所示的智能手機硬件架構(gòu)中,spi接口、usb host接口沒有使用,因此可以通過設(shè)置spcono和hccontrol寄存器永遠地關(guān)閉spi和usb host接口,這樣可以節(jié)省0.9(0.5+0.4)ma的電流。當智能手機處于正常工作狀態(tài)下,可以對空閑的接口控制器進行關(guān)閉,以進一步降低智能手機的功耗,還可以防止總線上倒灌電流的影響。
2.3 接口驅(qū)動電路的低功耗設(shè)計
當選擇智能手機外圍芯片如sdram、lcd、攝像機、音頻編解碼器等器件時,除了要考慮其性能外,還必須考慮其正常工作時的功耗。在設(shè)計接口電路時,必須考慮以下幾個因素:
2.3.1 上拉電阻/下拉電阻的選取
軟件優(yōu)化是一個很重要的工作,可以大大提高軟件運行時的效率和降低軟件運行時的功耗。例如指令的重排,在不影響指令執(zhí)行結(jié)果的情況下,可以消除由于裝載延遲、分支延遲、跳轉(zhuǎn)延遲等引起的指令流水線的失效[5]。如表1所示的arm匯編,把指令轉(zhuǎn)變成二進制編碼后,不同之處就是各個寄存器操作數(shù)的二進制編碼不同。
根據(jù)表1,從電氣性能上來看,通過減小連續(xù)指令之間的漢明(hamming)距離,原代碼比優(yōu)化后代碼的比特位變化多6次,而兩組代碼實現(xiàn)同樣的功能,因此,優(yōu)化后的指令執(zhí)行時的功耗小于原先指 令。因此,系統(tǒng)軟件完成后,在保證軟件功能一致的情況下,通過對代碼進行優(yōu)化,可以減小軟件在執(zhí)行時的功耗。
3 試驗結(jié)果和討論
在智能手機的設(shè)計中,通過不斷進行硬件優(yōu)化和在軟件上實現(xiàn)電源的動態(tài)管理,測量智能手機在空閑模式和睡眠模式下的功率損耗,結(jié)果如表2所示。
從表2可以看出,經(jīng)過優(yōu)化設(shè)計,智能手機在空閑模式下,電流值減小了10.2 ma,在睡眠模式下,電流值減少了1.5 ma。對于無線modem,由于自身含有獨立的電源管理模塊,基本上在3 ma左右,變化不大。相比未經(jīng)優(yōu)化設(shè)計,智能手機經(jīng)過優(yōu)化設(shè)計后,在睡眠模式下和空閑模式下,功率損耗有了顯著的降低,在相同的電池容量下,大大提高了智能手機的待機時間和使用時間。因此,通過上述方法,可以有效地降低智能手機的功耗。
隨著手機技術(shù)的發(fā)展,
特別在智能手機設(shè)計中,低功耗設(shè)計會成為一個越來越迫切的問題。隨著一些新技術(shù)的出現(xiàn)并應(yīng)用于智能手機的設(shè)計中,例如先進的電源管理芯片、先進的處理器,給設(shè)計者提供了更大的靈活性,可以大大降低智能手機功耗。但是,作為設(shè)計者,在進行系統(tǒng)設(shè)計和軟件編程時,必須時時考慮如何降低系統(tǒng)的功耗,只有這樣,設(shè)計出的系統(tǒng)才能擁有一個良好的性能,得到用戶的青睞。