求救: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以下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章