教你认识智能手机的硬件体系结构
随着通信产业的不断发展,移动终端已经由原来单一的通话功能向话音、数据、图像、音乐 和多媒体方向综合演变。而对于移动终端,基本上可以分成两种:一种是传统手机(feature phone);另一种是智能手机(smart phone)。智能手机具有传统手机的基本功能,并有以下特点:开放的操作系统、硬件和软件可扩充性和支持第三方的二次开发。相对于传统手机,智能手机以其强大的功 能和便捷的操作等特点越来越得到人们的青睐,将逐渐成为市场的一种潮流。
因此,从智能手机的总体设计入手,应用先进的技术和器件,进行降低功率损耗的方案
设计,从而尽可能延长智能手机的使用时间和待机时间。事实上,低功耗设计已经成为智能
手机设计中一个越来越迫切的问题。
智能手机的硬件系统架构
- 01
主处理器运行开放式操作系统,负责整个系统的控制。从处理器为无线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和键盘的背光灯、音频编解码器和功率放大器。因此,在设计中,如何降低它们的功耗,是一个很重要的问题。
低功耗设计
- 01
降低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),尽可能选取更大的阻值,以节省系统的功耗。对于下拉电阻,情况类似。
- 02
对悬空引脚的处理 对于系统中cmos器件的悬空引脚,必须给予重视。因为cmos悬空的输入端的输入阻抗极高,很可能感应一些电荷导致器件被高压击穿,而且还会导致输入端信号电平随机变化,导致cpu在休眠时不断地被唤醒,从而无法进入睡眠状态或其他莫名其妙的故障。所以正确的方法是,根据引脚的初始状态,将未使用的输入端接到相应的供电电压来保持高电平,或通过接地来保持低电平。
- 03
缓冲器的选择 缓冲器有很多功能,如电平转换、增加驱动能力、数据传输的方向控制等,当仅仅基于驱动能力的考虑增加缓冲器时,必须慎重考虑,因驱动电流过大会导致更多的能量被浪费掉。所以应仔细检查芯片的最大输出电流ioh和iol是否足够驱动下级芯片,当可以通过选取合适的前后级芯片时应尽量避免使用缓冲器。
- 04
电源供给电路 由于使用双cpu架构,外设很多,需要很多种电源。仅以主cpu来说,就需要1.3v、2.4v和2.8v电压,因此需要很多电压变化单元。通常,有以下几种电压变换方式:线性调节器;dc/dc;LDO(低漏失调节器)。其中ldo本质上是一种线性稳压器,主要用于压差较小的场合,所以将其合并为线性稳压器。 线性稳压器的特点是电路结构简单,所需元件数量少,输入和输出压差可以很大,但其致命弱点是效率低、功耗高,其效率η完全取决于输出电压大小。 dc/dc电路的特点是效率高、升降压灵活,缺点是电路相对复杂,纹波噪声干扰较大,体积也相对较大,价格也比线性稳压高,对于升压,只能使用dc/dc。因此,在设计中,对于电源纹波噪音要求不严的情况,都是使用dc/dc的电压转换器件,这样可以有效地节约能量,降低智能手机的功耗。
- 05
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灯亮度基础上,进一步调节背关灯的亮度,这样,既增加了手机使用的灵活性,又进一步降低了手机的功耗。
- 06
无线modem部分的控制 如图1所示,智能手机的硬件体系结构采用双cpu架构,无线modem作为主cpu的一个外设,与主cpu芯片的其他外设相比,具有其特殊性,例如当智能手机处于睡眠模式时,可以直接关闭lcd、摄像机等外设的供电电源,而无线modem不行,必须要求无线modem具有继续等待来电、搜索网络等功能,而不能直接将其关闭。而对于本文硬件架构中的无线modem方案,其中也拥有一个系统,内部运行完整的gsm(全球移动通信系统)协议和独立的电源管理模块,主cpu可以通过uart口和无线modem进行电源管理协商。无线modem内部的电源管理由自己来控制,当无线modem处于空闲状态时,自己能完好地进入和退出待机模式。因此,在本文的硬件架构的设计上,当智能手机开机时,给无线modem加电、关机时,对modem进行断电。
- 07
软件优化 式中:m=mdiv+8;p=pdiv+2,s=sdiv;mdiv、pdiv和sdiv可以通过寄存器进行设置。 因此,设计中确定主cpu主频对于整个系统的功耗和性能是一个关键。本文在综合考虑系统性能和功耗的基础上,设置主cpu主频为204 mhz。
- 08
dpm dpm(动态电源管理)是在系统运行期间通过对系统的时钟或电压的动态控制来达到节省功率的目的,这种动态控制与系统的运行状态密切相关,该工作往往通过软件来实现[3,4]。
- 09
定义不同的工作模式 在硬件架构中智能手机的工作模式与主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,使手机恢复正常工作模式,处理完响应的事件后迅速进入空闲模式或睡眠模式。
- 10
关闭空闲的外设控制器和外设 在硬件系统的架构中,可以看到,主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的电流。当智能手机处于正常工作状态下,可以对空闲的接口控制器进行关闭,以进一步降低智能手机的功耗,还可以防止总线上倒灌电流的影响。
- 11
接口驱动电路的低功耗设计 当选择智能手机外围芯片如sdram、lcd、摄像机、音频编解码器等器件时,除了要考虑其性能外,还必须考虑其正常工作时的功耗。在设计接口电路时,必须考虑以下几个因素
- 12
上拉电阻/下拉电阻的选取 软件优化是一个很重要的工作,可以大大提高软件运行时的效率和降低软件运行时的功耗。例如指令的重排,在不影响指令执行结果的情况下,可以消除由于装载延迟、分支延迟、跳转延迟等引起的指令流水线的失效[5]。如表1所示的arm汇编,把指令转变成二进制编码后,不同之处就是各个寄存器操作数的二进制编码不同。 根据表1,从电气性能上来看,通过减小连续指令之间的汉明(hamming)距离,原代码比优化后代码的比特位变化多6次,而两组代码实现同样的功能,因此,优化后的指令执行时的功耗小于原先指 令。因此,系统软件完成后,在保证软件功能一致的情况下,通过对代码进行优化,可以减小软件在执行时的功耗。
试验结果和讨论
- 01
在智能手机的设计中,通过不断进行硬件优化和在软件上实现电源的动态管理,测量智能手机在空闲模式和睡眠模式下的功率损耗,结果如表2所示。 根据表1,从电气性能上来看,通过减小连续指令之间的汉明(hamming)距离,原代码比优化后代码的比特位变化多6次,而两组代码实现同样的功能,因此,优化后的指令执行时的功耗小于原先指 令。因此,系统软件完成后,在保证软件功能一致的情况下,通过对代码进行优化,可以减小软件在执行时的功耗。 从表2可以看出,经过优化设计,智能手机在空闲模式下,电流值减小了10.2 ma,在睡眠模式下,电流值减少了1.5 ma。对于无线modem,由于自身含有独立的电源管理模块,基本上在3 ma左右,变化不大。相比未经优化设计,智能手机经过优化设计后,在睡眠模式下和空闲模式下,功率损耗有了显著的降低,在相同的电池容量下,大大提高了智能手机的待机时间和使用时间。因此,通过上述方法,可以有效地降低智能手机的功耗。
- 02
随着手机技术的发展,特别在智能手机设计中,低功耗设计会成为一个越来越迫切的问题。随着一些新技术的出现并应用于智能手机的设计中,例如先进的电源管理芯片、先进的处理器,给设计者提供了更大的灵活性,可以大大降低智能手机功耗。但是,作为设计者,在进行系统设计和软件编程时,必须时时考虑如何降低系统的功耗,只有这样,设计出的系统才能拥有一个良好的性能,得到用户的青睐。