最近在查固定台项目的待机电流,发现进入SLEEP以后基底电流保持在50mA左右,耗电量相当恐怖!由于固定台不同于普通的手机,它要求LCD不能关闭,且要实时更新时间,所以最开始以为是LCD耗电太大,但是把LCD拿掉,基底电流几乎不变(黑白屏真的很省电!)。 通过硬件工程师把外围的器件一个一个去掉,发现罪魁祸首居然是PIN11 (LCD_CS)这个引脚。这个脚在手机项目中是LCD的片选信号,但是固定台项目没有用到,就把它直接接地了。而问题就出在这个信号如果在不用的时候是为高电平的,这样就导致存在内外电压差,将近40mA+的电流就这样白白浪费了.....
由于考虑到这个批次的整机已经装好了,不能再返工,只能通过软件的办法解决。 LCD_CS是高通的一个片选信号,不能像普通GPIO那样任意拉高拉低,因此只能通过改变它的驱动电流来降低功耗。改变EBI的驱动电流是通过配置寄存器PAD_HDRIVE_SEL_0来决定的,把PAD_HDRIVE_SEL_0[22:20]=0B000 (2mA),系统仍然正常工作,而且基底电流降到12mA。