引言
隨著通信產業的不斷發展移動終端已經由原來單一的通話功能向話音、數據、圖像、音樂和多媒體方向綜合演變
而對于移動終端基本上可以分成兩種:一種是傳統手機(feature phone);另一種是智能手機(smart phone)
智能手機具有傳統手機的基本功能
并有以下特點:開放的操作系統、硬件和軟件的可擴充性和支持第三方的二次開發
相對于傳統手機
智能手機以其強大的功能和便捷的操作等特點
越來越得到人們的青睞
將逐漸成為市場的一種潮流
然而作為一種便攜式和移動性的終端
完全依靠電池來供電
隨著智能手機的功能越來越強大
其功率損耗也越來越大
因此
必須提高智能手機的使用時間和待機時間
對于這個問題
有兩種解決方案:一種是配備更大容量的手機電池;另一種是改進系統設計
采用先進技術
降低手機的功率損耗
現階段手機配備的電池以鋰離子電池為主
雖然鋰離子電池的能量密度比以往提升了近30%
但是仍不能滿足智能手機發展需求
就目前使用的鋰離子電池材料而言
能量密度只有20%左右的提升空間
而另一種被業界普遍看做是未來手機電池發展趨勢的燃料電池
能使智能手機的通話時間超過13 h
待機時間長達1個月
但是這種電池技術仍不成熟
離商用還有一段時間[1]
增大手機電池容量總的趨勢上將會增加整機的成本
因此從智能手機的總體設計入手
應用先進的技術和器件
進行降低功率損耗的方案設計
從而盡可能延長智能手機的使用時間和待機時間
事實上
低功耗設計已經成為智能手機設計中一個越來越迫切的問題
1 智能手機的硬件系統架構
本文討論的智能手機的硬件體系結構是使用雙CPU架構如圖1所示
主處理器運行開放式操作系統負責整個系統的控制
從處理器為無線Modem部分的DBB(數字基帶芯片)
主要完成語音信號的A/D轉換、D/A轉換、數字語音信號的編解碼、信道編解碼和無線Modem部分的時序控制
主從處理器之間通過串口進行通信
主處理器采用XXX公司的CPU芯片
它采用CMOS工藝
擁有ARM926EJ-S內核
采用ARM公司的AMBA(先進的微控制器總線體系結構)
內部含有16 kB的指令Cache、16 kB的數據Cache和MMU(存儲器管理單元)
為了實現實時的視頻會議功能
攜帶了一個優化的MPEG4硬件編解碼器
能對大運算量的MPEG4編解碼和語音壓縮解壓縮進行硬件處理
從而能緩解ARM內核的運算壓力
主處理器上含有LCD(液晶顯示器)控制器、攝像機控制器、SDRAM和SROM控制器、很多通用的GPIO口、SD卡接口等
這些使它能很出色地應用于智能手機的設計中
在智能手機的硬件架構中無線Modem部分只要再加一定的外圍電路
如音頻芯片、LCD、攝像機控制器、傳聲器、揚聲器、功率放大器、天線等
就是一個完整的普通手機(傳統手機)的硬件電路
模擬基帶(ABB)語音信號引腳和音頻編解碼器芯片進行通信
構成通話過程中的語音通道
從這個硬件電路的系統架構可以看出功耗最大的部分包括主處理器、無線Modem、LCD和鍵盤的背光燈、音頻編解碼器和功率放大器
因此
在設計中
如何降低它們的功耗
是一個很重要的問題
引言
隨著通信產業的不斷發展移動終端已經由原來單一的通話功能向話音、數據、圖像、音樂和多媒體方向綜合演變
而對于移動終端基本上可以分成兩種:一種是傳統手機(feature phone);另一種是智能手機(smart phone)
智能手機具有傳統手機的基本功能
并有以下特點:開放的操作系統、硬件和軟件的可擴充性和支持第三方的二次開發
相對于傳統手機
智能手機以其強大的功能和便捷的操作等特點
越來越得到人們的青睞
將逐漸成為市場的一種潮流
然而作為一種便攜式和移動性的終端
完全依靠電池來供電
隨著智能手機的功能越來越強大
其功率損耗也越來越大
因此
必須提高智能手機的使用時間和待機時間
對于這個問題
有兩種解決方案:一種是配備更大容量的手機電池;另一種是改進系統設計
采用先進技術
降低手機的功率損耗
現階段手機配備的電池以鋰離子電池為主
雖然鋰離子電池的能量密度比以往提升了近30%
但是仍不能滿足智能手機發展需求
就目前使用的鋰離子電池材料而言
能量密度只有20%左右的提升空間
而另一種被業界普遍看做是未來手機電池發展趨勢的燃料電池
能使智能手機的通話時間超過13 h
待機時間長達1個月
但是這種電池技術仍不成熟
離商用還有一段時間[1]
增大手機電池容量總的趨勢上將會增加整機的成本
因此從智能手機的總體設計入手
應用先進的技術和器件
進行降低功率損耗的方案設計
從而盡可能延長智能手機的使用時間和待機時間
事實上
低功耗設計已經成為智能手機設計中一個越來越迫切的問題
1 智能手機的硬件系統架構
本文討論的智能手機的硬件體系結構是使用雙CPU架構如圖1所示
主處理器運行開放式操作系統負責整個系統的控制
從處理器為無線Modem部分的DBB(數字基帶芯片)
主要完成語音信號的A/D轉換、D/A轉換、數字語音信號的編解碼、信道編解碼和無線Modem部分的時序控制
主從處理器之間通過串口進行通信
主處理器采用XXX公司的CPU芯片
它采用CMOS工藝
擁有ARM926EJ-S內核
采用ARM公司的AMBA(先進的微控制器總線體系結構)
內部含有16 kB的指令Cache、16 kB的數據Cache和MMU(存儲器管理單元)
為了實現實時的視頻會議功能
攜帶了一個優化的MPEG4硬件編解碼器
能對大運算量的MPEG4編解碼和語音壓縮解壓縮進行硬件處理
從而能緩解ARM內核的運算壓力
主處理器上含有LCD(液晶顯示器)控制器、攝像機控制器、SDRAM和SROM控制器、很多通用的GPIO口、SD卡接口等
這些使它能很出色地應用于智能手機的設計中
在智能手機的硬件架構中無線Modem部分只要再加一定的外圍電路
如音頻芯片、LCD、攝像機控制器、傳聲器、揚聲器、功率放大器、天線等
就是一個完整的普通手機(傳統手機)的硬件電路
模擬基帶(ABB)語音信號引腳和音頻編解碼器芯片進行通信
構成通話過程中的語音通道
從這個硬件電路的系統架構可以看出功耗最大的部分包括主處理器、無線Modem、LCD和鍵盤的背光燈、音頻編解碼器和功率放大器
因此
在設計中
如何降低它們的功耗
是一個很重要的問題
2 低功耗設計
2.1 降低CPU部分的供電電壓和頻率
在數字集成電路設計中CMOS電路的靜態功耗很低
與其動態功耗相比基本可以忽略不計
故暫不考慮
其動態功耗計算公式為:
Pd=CTV2f (1)
式中:Pd為CMOS芯片的動態功耗;CT為CMOS芯片的負載電容;V為CMOS芯片的工作電壓;f為CMOS芯片的工作頻率
由式(1)可知CMOS電路中的功率消耗與電路的開關頻率呈線性關系
與供電電壓呈二次平方關系
對于CPU來說
Vcore電壓越高
時鐘頻率越快
則功率消耗越大
所以
在能夠正常滿足系統性能的前提下
盡可能選擇低電壓工作的CPU
對于已經選定的CPU來說
降低供電電壓和工作頻率
能夠在總體功耗上取得較好的效果
對于主CPU來說內核供電電壓為1.3 V
已經很小
而且其全速運行時的主頻可以完全根據需要進行設置
其內部所需的其他各種頻率都是通過主頻分頻產生
主CPU主頻fCPU計算公式如下:
在COMS芯片上為了防止靜電造成損壞
不用的引腳不能懸空
一般接下拉電阻來降低輸入阻抗
提供泄荷通路
需要加上拉電阻來提高輸出電平
從而提高芯片輸入信號的噪聲容限來增強抗干擾能力
但是在選擇上拉電阻時
必須要考慮以下幾點:
a)從節約功耗及芯片的倒灌電流能力上考慮上拉電阻應足夠大
以減小電流;
b)從確保足夠的驅動電流考慮上拉電阻應足夠小
以增大電流;
c)在高速電路中過大的上拉電阻會使信號邊沿變得平緩
信號完整性會變差
因此在考慮能夠正常驅動后級的情況下(即考慮芯片的VIH或VIL)
盡可能選取更大的阻值
以節省系統的功耗
對于下拉電阻
情況類似
2.2 DPM
DPM(動態電源管理)是在系統運行期間通過對系統的時鐘或電壓的動態控制來達到節省功率的目的這種動態控制與系統的運行狀態密切相關
該工作往往通過軟件來實現[3
4]
2.2.1 定義不同的工作模式
在硬件架構中智能手機的工作模式與主CPU的工作模式密切相關為了降低功耗
主CPU定義了4種工作模式:General Clock Gating mode;IDLE mode:SLEEP mode;Stop mode
在主CPU主頻確定的情況下
智能手機中定義了對應的4種工作模式:正常工作模式(Normal);空閑模式(Idle);睡眠模式(Sleep);關機模式(OFF)
各種模式說明如下:
a)正常工作模式:主CPU工作模式為General Clock Gating mode;主CPU全速運行;時鐘頻率為204 MHz智能手機在這種狀態下功耗最大
根據不同的運行狀態
如播放MP3、打電話、實際測量
這種模式下智能手機工作電流為200 mA左右
b)空閑模式:主CPU工作模式為Idle mode主CPU主時鐘停止;時鐘頻率為204 MHz
在空閑狀態下
鍵盤背關燈和LCD背光燈關閉
LCD上有待機畫面
特定的事件可以使智能手機空閑模式進入正常工作模式
如點擊觸摸屏、定時喚醒、按鍵、來電等
c)睡眼模式:主CPU工作模式為SLEEP mode除了主CPU內部的喚醒邏輯打開外
其余全關閉;主CPU時鐘為使用36.768 kHz的慢時鐘
除了Modem以外
外設全部關閉
定義短時按開機鍵
使智能手機從睡眠模式下喚醒進入正常工作狀態
d)關機模式:主CPU工作模式為stop mode除了主CPU泄漏電流外
不消耗功率;主CPU關閉
智能手機必須重新開機之后
才能進正常工作模式
實際測量
手機在這種模式下電流為100μA
從以上看出智能手機在正常工作模式下的功率比空閑模式、睡眠模式下大得多
因此
當用戶沒有對手機進行操作時
通過軟件設置
使手機盡快進入空閑模式或睡眠模式;當用戶對手機進行操作時
通過相應的中斷喚醒主CPU
使手機恢復正常工作模式
處理完響應的事件后迅速進入空閑模式或睡眠模式
2.2.2 關閉空閑的外設控制器和外設
在硬件系統的架構中可以看到
主CPU通過相應的接口
外接了很多外部設備
例如LCD、攝像機、IrDA(紅外適配器)、藍牙、音頻編解碼器、功率放大器等設備
當智能手機處于正常工作模式時
對處于空閑狀態的外設
可以通過主CPU的GPIO口
控制給外設供電的LDO或者DC/DC電源芯片
通過關閉外設的供電電源芯片
以達到關閉外設的目的
特別是對于大功耗的外設
必須對其進行可靠的關閉
對于一些正在工作的外設
如音頻編解碼器
通過設置內部的寄存器
關閉芯片內部不使用的通道、功率放大器、D/A轉換器等
以降低這些器件工作時的功耗
對于主CPU的各種接口控制器一般不會全部用到
即使智能手機處于正常工作模式下
在不同運行狀態
各種接口控制器的使用狀況也是不同的;接口控制器沒有處于工作狀態
如不將其關閉
仍會消耗電流
對于主CPU來說
各外設接口控制器的電流消耗[2]如下:NAND Flash為2.9 mA;LCD為5.8 mA;USB HOST為0.4 mA;USB驅動器為2.9 mA;定時器為0.5 mA;SDI為1.9 mA;UART為3.6 mA;RTC為0.4 mA;A/D轉換器為0.4 mA;IIC為0.6 mA;IIS為0.5 mA;SPI為0.5 mA
在圖1所示的智能手機硬件架構中SPI接口、USB HOST接口沒有使用
因此可以通過設置SPCONO和HcControl寄存器永遠地關閉SPI和USB HOST接口
這樣可以節省0.9(0.5+0.4)mA的電流
當智能手機處于正常工作狀態下
可以對空閑的接口控制器進行關閉
以進一步降低智能手機的功耗
還可以防止總線上倒灌電流的影響
2.3 接口驅動電路的低功耗設計
當選擇智能手機外圍芯片如SDRAM、LCD、攝像機、音頻編解碼器等器件時除了要考慮其性能外
還必須考慮其正常工作時的功耗
在設計接口電路時
必須考慮以下幾個因素:
2.3.1 上拉電阻/下拉電阻的選取
軟件優化是一個很重要的工作可以大大提高軟件運行時的效率和降低軟件運行時的功耗
例如指令的重排
在不影響指令執行結果的情況下
可以消除由于裝載延遲、分支延遲、跳轉延遲等引起的指令流水線的失效[5]
如表1所示的ARM匯編
把指令轉變成二進制編碼后
不同之處就是各個寄存器操作數的二進制編碼不同
根據表1從電氣性能上來看
通過減小連續指令之間的漢明(Hamming)距離
原代碼比優化后代碼的比特位變化多6次
而兩組代碼實現同樣的功能
因此
優化后的指令執行時的功耗小于原先指令
因此
系統軟件完成后
在保證軟件功能一致的情況下
通過對代碼進行優化
可以減小軟件在執行時的功耗
2.3.2 對懸空引腳的處理
對于系統中CMOS器件的懸空引腳必須給予重視
因為CMOS懸空的輸入端的輸入阻抗極高
很可能感應一些電荷導致器件被高壓擊穿
而且還會導致輸入端信號電平隨機變化
導致CPU在休眠時不斷地被喚醒
從而無法進入睡眠狀態或其他莫名其妙的故障
所以正確的方法是
根據引腳的初始狀態
將未使用的輸入端接到相應的供電電壓來保持高電平
或通過接地來保持低電平
2.3.3 緩沖器的選擇
緩沖器有很多功能如電平轉換、增加驅動能力、數據傳輸的方向控制等
當僅僅基于驅動能力的考慮增加緩沖器時
必須慎重考慮
因驅動電流過大會導致更多的能量被浪費掉
所以應仔細檢查芯片的最大輸出電流IOH和IOL是否足夠驅動下級芯片
當可以通過選取合適的前后級芯片時應盡量避免使用緩沖器
2.4 電源供給電路
由于使用雙CPU架構外設很多
需要很多種電源
僅以主CPU來說
就需要1.3V、2.4V和2.8V電壓
因此需要很多電壓變化單元
通常
有以下幾種電壓變換方式:線性調節器;DC/DC;LDO(低漏失調節器)
其中LDO本質上是一種線性穩壓器
主要用于壓差較小的場合
所以將其合并為線性穩壓器
線性穩壓器的特點是電路結構簡單所需元件數量少
輸入和輸出壓差可以很大
但其致命弱點是效率低、功耗高
其效率η完全取決于輸出電壓大小
DC/DC電路的特點是效率高、升降壓靈活缺點是電路相對復雜
紋波噪聲干擾較大
體積也相對較大
價格也比線性穩壓高
對于升壓
只能使用DC/DC
因此
在設計中
對于電源紋波噪音要求不嚴的情況
都是使用DC/DC的電壓轉換器件
這樣可以有效地節約能量
降低智能手機的功耗
2.5 LED燈的控制
智能手機電路中鍵盤和LCD背光燈工作時會消耗大量能量
例如本文架構中使用的LCD
其背光燈電氣要求如下:正向電流典型值為15 mA
正向電壓典型值為14.4 V
背光燈消耗功率典型值為216 mW
由此可以看出在正常工作時
LCD背景LED燈功耗非常大
因此
在設計中
必須降低LED燈的功耗
可以通過以下方法:
a)在LED燈回路中短接一個小電阻改變阻值
用來控制LED燈工作時的電流
b)利用人眼的遲滯效應使用PWM(脈寬調制)信號來控制LED燈的開關
在主CPU中通過配置寄存器GPCON_U、GPCON_L可以把GPIO20一GPIO23和GPIO2-GPlO5配置成PWM信號輸出
再配置內部相應的寄存器
控制PWM輸出信號的頻率和占空比
作為控制引腳來控制LED背光燈
以此來降低LCD背光燈的功耗
c)在手機圖形界面上提供一個調節背光燈亮度的界面讓用戶在系統設置的LED燈亮度基礎上
進一步調節背關燈的亮度
這樣
既增加了手機使用的靈活性
又進一步降低了手機的功耗
2.6 無線Modem部分的控制
如圖1所示智能手機的硬件體系結構采用雙CPU架構
無線Modem作為主CPU的一個外設
與主CPU芯片的其他外設相比
具有其特殊性
例如當智能手機處于睡眠模式時
可以直接關閉LCD、攝像機等外設的供電電源
而無線Modem不行
必須要求無線Modem具有繼續等待來電、搜索網絡等功能
而不能直接將其關閉
而對于本文硬件架構中的無線Modem方案
其中也擁有一個系統
內部運行完整的GSM(全世界移動通信系統)協議和獨立的電源管理模塊
主CPU可以通過UART口和無線Modem進行電源管理協商
無線Modem內部的電源管理由自己來控制
當無線Modem處于空閑狀態時
自己能完好地進入和退出待機模式
因此
在本文的硬件架構的設計上
當智能手機開機時
給無線Modem加電、關機時
對Modem進行斷電
2.7 軟件優化
式中:m=MDIV+8;p=PDIV+2s=SDIV;MDIV、PDIV和SDIV可以通過寄存器進行設置
因此設計中確定主CPU主頻對于整個系統的功耗和性能是一個關鍵
本文在綜合考慮系統性能和功耗的基礎上
設置主CPU主頻為204 MHz
3 試驗結果和討論
在智能手機的設計中通過不斷進行硬件優化和在軟件上實現電源的動態管理
測量智能手機在空閑模式和睡眠模式下的功率損耗
結果如表2所示
從表2可以看出經過優化設計
智能手機在空閑模式下
電流值減小了10.2 mA
在睡眠模式下
電流值減少了1.5 mA
對于無線Modem
由于自身含有獨立的電源管理模塊
基本上在3 mA左右
變化不大
相比未經優化設計
智能手機經過優化設計后
在睡眠模式下和空閑模式下
功率損耗有了顯著的降低
在相同的電池容量下
大大提高了智能手機的待機時間和使用時間
因此
通過上述方法
可以有效地降低智能手機的功耗
隨著手機技術的發展特別在智能手機設計中
低功耗設計會成為一個越來越迫切的問題
隨著一些新技術的出現并應用于智能手機的設計中
例如先進的電源管理芯片、先進的處理器
給設計者提供了更大的靈活性
可以大大降低智能手機功耗
但是
作為設計者
在進行系統設計和軟件編程時
必須時時考慮如何降低系統的功耗
只有這樣
設計出的系統才能擁有一個良好的性能
得到用戶的青睞