求救:Linux手机系统睡眠电流过大的问题

我们现在的S3C6410+linux+Android手机方案,系统睡眠时电流有60mA,很头疼。
具体情况如下:
1、在未烧软件的情况下(没有bootloader),系统开机后电流是87mA,请问这样的电流是否正常,一般开机后不运行软件情况下的电流应该为多少?
2、系统睡眠后,电流为60mA;我把内核中所有的设备驱动都去掉,再睡眠,也是60mA。
3、使用wm9713音频芯片,在没有软件参与的情况下,断掉wm9713的电会少10mA的电流;
 
现在怀疑地方如下:
1、硬件有漏电。
2、软件在哪个地方没有关闭GPIO,但是都检查了一遍,没有找到需要关闭的GPIO啊。软件是否要在系统睡眠的时候关闭一些管电的GPIO?

哪位兄弟有这方面的调试经验,帮忙分析一下,给点建议,不胜感激!
 

longguqi Post at 2011-3-2 19:44:43
跳电压,看哪路耗电,判断哪个模块没进sleep
hpyu1981 Post at 2011-3-3 8:55:20
硬件工程师把音频、以太网、wifi等芯片都摘了,现在基本上只剩CPU和串口,还是50多mA。6410确实已经睡眠了啊,今天准备把所有上拉电阻都去掉。如果还是没效果,准备焊一块只有CPU、PMCI和串口的板子,如果还是有较大的睡眠电流,可能就是CPU的问题了。
hpyu1981 Post at 2011-3-11 9:04:35
后调试发现,一个连接wcdma的连接器(硬件说是Buffer)一边有输入,另一边没有输出的时候,耗电10mA;wm9713一上电(软件未操作)就有10mA多的耗电。还有20mA多的睡眠电流,不知道哪来的。
newboy245 Post at 2011-3-15 22:00:01
[QUOTE][B]以下是引用[i]hpyu1981[/i]在2011-3-3 8:55:20的发言:[/B]
硬件工程师把音频、以太网、wifi等芯片都摘了,现在基本上只剩CPU和串口,还是50多mA。6410确实已经睡眠了啊,今天准备把所有上拉电阻都去掉。如果还是没效果,准备焊一块只有CPU、PMCI和串口的板子,如果还是有较大的睡眠电流,可能就是CPU的问题了。[/QUOTE]

理论上6410做到20mA的电流,是有点大了
休眠模式下DDR还是在工作的,你可以看看DDR部分的耗电流是多少,同时你使用的是SD还是NAND做Kernel的存储介质,需要确认以下,这2者在实际的休眠模式下,没有电流消耗;

lifeier Post at 2011-5-16 14:36:23
kankankan
wjw51 Post at 2011-5-19 15:53:36
[QUOTE][B]以下是引用[i]hpyu1981[/i]在2011-3-11 9:04:35的发言:[/B]
后调试发现,一个连接wcdma的连接器(硬件说是Buffer)一边有输入,另一边没有输出的时候,耗电10mA;wm9713一上电(软件未操作)就有10mA多的耗电。还有20mA多的睡眠电流,不知道哪来的。[/QUOTE]
正常情况下6410待机电流一般只有2~3mA,我不知道你的待机方式,是suspend to RAM 还是disk,你要检查一下你的待机前有没有把cpu内部相关的时钟关掉,仔细看一下sleep时候的哪些寄存器需要相应的配置,再者你的wm9713一上电就有10mA的电流,那就表明你的硬件电路设计有问题可能有leak current?
beat_it Post at 2011-6-5 23:42:32
首先确认CPU是否真正待机,把CPU所有的时钟源和电源域的状态都打印出来进行排查。
然后确认外围电路的漏电问题。很显然你现在漏电挺严重的。
beat_it Post at 2011-6-5 23:44:17
[QUOTE][B]以下是引用[i]wjw51[/i]在2011-5-19 15:53:36的发言:[/B]

正常情况下6410待机电流一般只有2~3mA,我不知道你的待机方式,是suspend to RAM 还是disk,你要检查一下你的待机前有没有把cpu内部相关的时钟关掉,仔细看一下sleep时候的哪些寄存器需要相应的配置,再者你的wm9713一上电就有10mA的电流,那就表明你的硬件电路设计有问题可能有leak current?[/QUOTE]


CPU待机电流达到2~3mA还是相当大的,一般来说应用处理器的最小系统待机电流应该做到1.5mA以下。

http://www.52rd.com/bbs/Archive_Thread.asp?SID=203652&TID=3 转

你可能感兴趣的:(工作,linux,存储,buffer,手机,disk)