找回密码
 注册
搜索
查看: 11947|回复: 43

[讨论] 手机待机电流过大分析及处理,请大家奉献自己的经验

[复制链接]
发表于 2011-1-24 14:09:46 | 显示全部楼层 |阅读模式
这个帖子的LZ说了一个经验

http://www.study-bbs.com/thread-44697-1-1.html

本帖最后由 masi 于 2010-11-23 17:51 编辑

手机调试中经常会遇到待机电流过大的情况,这里只分析MTK6253平台最常见的待机电流过大情况。

  此为高人指点和个人总结得出的结果,有误请高人指出。希望这贴对大家有好处。

  经常MTK6253平台驱动调试会发现待机电流过大问题,一般最小电流偏大到1.6mA左右一般都是摄像头的I2C上拉电阻漏电导致。I2C上拉电阻一端接VCAMA(2.8V,为常开摄像头电源),另一端则接在I2C线上。漏电主要是因为在软件某个地方将I2C线拉低,导致两个上拉电阻两端电平不一样高而漏电,漏电电流可以这样计算(以上拉电阻4.7K为例):2.8V/4.7K*2=1.19mA,加上正常的0.5mA,大概就会偏大到1.6mA左右。

那么可能是软件中两个地方引起,只要修改者两个地方即可。
第一个地方是camera_hw.c文件中将SCCB_SERIAL_CLK_PIN PIO和SCCB_SERIAL_DATA_PIN写0导致,那么只需将其写高即可。这里主要是在刚开机时就会跑此段代码而带导致一开机就电流过大。 #ifndef MC501CB_HW_SCCB

GPIO_ModeSetup( SCCB_SERIAL_CLK_PIN,0 );

GPIO_ModeSetup( SCCB_SERIAL_DATA_PIN,0 );

GPIO_WriteIO( 0, SCCB_SERIAL_CLK_PIN );//将其改为GPIO_WriteIO( 1, SCCB_SERIAL_CLK_PIN );

GPIO_WriteIO( 0, SCCB_SERIAL_DATA_PIN );//将其改为GPIO_WriteIO( 1, SCCB_SERIAL_DATA_PIN );

GPIO_InitIO( 1, SCCB_SERIAL_CLK_PIN );

GPIO_InitIO( 1, SCCB_SERIAL_DATA_PIN );

#endif
复制代码第二个地方是摄像头内部代码如image_sensor_bf3703.c中的BF3703_power_off函数中SET_SCCB_CLK_LOW;SET_SCCB_DATA_LOW;两条命令将I2C线拉低,只需将两条命令屏蔽即可。这里主要是在进入摄像头之后再退出引起的。 void BF3703_power_off(void)

{

cis_module_power_on(KAL_FALSE); // Power Off CIS Power

UPLL_Disable(UPLL_OWNER_ISP);



#ifndef BF3703_HW_SCCB

SET_SCCB_CLK_LOW;

SET_SCCB_DATA_LOW;

#endif

//deleted by maliping 20101123

} /* power_off_BF3703 */
复制代码

本主题由 doow 于 2010-11-23 18:07 加入精华[br]<p align=right><font color=red>+1 RD币</font></p>
发表于 2011-1-26 16:34:46 | 显示全部楼层
marking
点评回复

使用道具 举报

发表于 2011-1-25 13:41:10 | 显示全部楼层
谢3#。。。。
点评回复

使用道具 举报

发表于 2011-1-25 12:43:59 | 显示全部楼层
学习一下!!!
点评回复

使用道具 举报

发表于 2011-1-25 12:28:15 | 显示全部楼层
感谢LZ和LS的哥们
点评回复

使用道具 举报

发表于 2011-1-24 17:47:21 | 显示全部楼层
嘿嘿,感谢LZ和LS的哥们,学习了.
点评回复

使用道具 举报

发表于 2011-1-24 14:44:04 | 显示全部楼层
呵呵,即使你把camera的电源关掉,如果IIC的两个引脚置为低,这样Vcc

  还是会通过上拉电阻流向MCU,也就是灌电流,同样会漏电···

  
       另外,待机电流过大,不光是MTK平台,展讯平台,Master等等都是

  经常遇到的问题,这不光是驱动工程师要做的,有时也需要跟BB或者MMI的

  工程师协调,这种现象出现的原因太多了,不能一概而论,但可以有几种

  方法尝试:

  一、电流表查询法

      这种方法主要是在待机状态下,去用仪器查询所有外设是否工作在

    正常状态,比如一些外设模块在待机状态下是否进入休眠等等;

二、模块查询法

     这种就是针对外设模块来查找原因所在了,比如第一次download之后,

    或者重新开机之后,BT,FM,ATV,G_sensor等这些模块是否都正常

    进行了初始化操作,这部分主要是check code;

三、现象针对法

     这种就是根据待机电流出现的操作流程来查询,比如开机待机电流

    正常,但是我开关一次FM之后,待机电流就大了10mA,很明显,要

    check FM这部分;

   
    总之,待机电流过大是个很普遍的现象,而且出现的原因也有很多种

    不是三言两语讲完的,只能凭一定的方法或者经验和现象去迅速定位
  
    吧,呵呵,我个人只是这么想的,期待高手有更完美的讲解



    我以前在52论坛下过一个“电流法解决手机不开机”问题的文档,贴出

    来跟大家共享下吧,应该是个高手写的,给那些没有看到过这篇文章的

    朋友分享下,^_^

    [em08][em08][em08]
【文件名】:11124@52RD_电流法解决手机不开机.doc
【格 式】:doc
【大 小】:25K
【简 介】:
【目 录】:


[br]<p align=right><font color=red>+1 RD币</font></p>

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
点评回复

使用道具 举报

 楼主| 发表于 2011-1-24 14:11:07 | 显示全部楼层
不过我认为,退出的时候,应该把CAMERA电源关掉。没电源,何来电流?欢迎大家指点
点评回复

使用道具 举报

发表于 2011-2-12 19:26:53 | 显示全部楼层
go marking...
点评回复

使用道具 举报

发表于 2011-1-31 16:04:14 | 显示全部楼层
marking
点评回复

使用道具 举报

发表于 2011-3-27 22:45:57 | 显示全部楼层
学习了,谢谢
点评回复

使用道具 举报

发表于 2011-4-23 02:09:58 | 显示全部楼层
很好,谢谢啦
点评回复

使用道具 举报

发表于 2011-4-28 15:34:49 | 显示全部楼层
很好的帖子
点评回复

使用道具 举报

发表于 2011-6-24 23:06:55 | 显示全部楼层
marking
点评回复

使用道具 举报

发表于 2011-6-24 10:11:53 | 显示全部楼层
感谢分享  我现在就遇到这个问题
点评回复

使用道具 举报

发表于 2011-6-28 17:12:38 | 显示全部楼层
遇到了楼主提到的第一个现象,开机时电流大,但是参照楼主的改法还是会有漏电,还需要注意什么呢
点评回复

使用道具 举报

发表于 2011-7-13 21:07:11 | 显示全部楼层
多谢楼主!
点评回复

使用道具 举报

发表于 2011-7-22 16:36:43 | 显示全部楼层
学习了,宝贵经验啊啊[em01]
点评回复

使用道具 举报

发表于 2011-8-15 20:42:38 | 显示全部楼层
你们是好人
点评回复

使用道具 举报

发表于 2011-8-31 22:50:59 | 显示全部楼层
makeing
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-4-27 18:07 , Processed in 0.061174 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表