一种智能手机的低功率损耗设计方案


对于主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是否足够驱动下级芯片
当可以通过
评论