微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > MT6261平台在calling mode下充电失败

MT6261平台在calling mode下充电失败

时间:10-02 整理:3721RD 点击:
[DESCRIPTION]
Sometime after 10min or sometime after half an hour can't charging with charger when call mode.
Sometime displayed some indicator " Can't charging" on display when call mode.
Battery voltage level almost 3.8V or 4V. so no related with Battery Voltage.
[SOLUTION]
(1) 首先复现问题:在call mode下进行AC充电或USB充电,发现充电停止提示。 抓取充电log,发现是打印over_current_count = 4. CHARGE too high. BMT向UEM发MSG_ID_DRVUEM_PMIC_IND消息终止充电流程。
(2) 接着分析:通过Vbat和VISENSE计算ICHARGE时,是ADC获取到的Vbat和VISENSE不准确造成,还是由于硬件原因造成ICHARGE的确大于1A?
因为连续3次检测到ICHARGE超过1A,终止充电的时间太短,从仪器上观测不到这么短时间的电流变化。
将ICHARGE超过1A的检测流程改变,在ICHARGE>1A时不让其返回false直接停止充电。而让其返回true,继续充电。这样在长时间ICHARGE>1A的情况下,观测仪器是否能够捕捉到充电电流大于1A。
经过多轮测试,无论是在AC充电还是USB充电,call mode时综测仪输入的RF功率高或低,通过catcher log都能很容易的看到几乎周期性的连续多次打印ICHARGE>1A,但通过电流仪一次都没观测到充电电流大于1A。



(3) 推测是ADC measure方面的问题,尝试将 hal/drv_def/drv_features_adc.h 中//#define __CHARGER_WITH_IMMEDIMATE_ADC__
行注释掉。 修改后多轮验证,通过充电log没有再发现ICAHRGE>1A的现象。
(4) 最终结论:若关闭这个option 就不会出现ICHARGE>1A 的话,代表这问题是量auxadc 时因为RF 抽电导致大压降造成。因电流是batsense and Isense 两个电压透过压差及电阻算出电流。而实体auxadc 只有一组,两个channel 分开量的结果就可能遇到量其中一个刚好遇到RF 抽大电流。
目前的solution 是打开sync mode(即注释// #define __CHARGER_WITH_IMMEDIMATE_ADC__),让auxadc 主动避开RF 抽电时间。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top