项目充电由UPM6910、UPM6720共同作用,6910提供普充和协议识别,当调用6720时则进入快充
快充流程分析
插入适配器进入触发mt6366(PMIC),可以看到如“[name:mt6366_dummy_chr_type_det&]charger type: charger IN”的log表示检测到接入信号,该驱动会对充电类型做判断

dev设备的class为upm6910,如下



此时判断类型为PD快充,进入PD快充适配器算法mtk_pd_adapter.c
进入快充算法
如何知道他是进入的pe5算法的呢?
看到充电线程的log中,有进入调用pd算法的打印,但是随后进入了pe5算法中,所以跟踪代码调用过程如下

从mtk_charger.c的充电例行线程charger_routine_thread开始,
charger_routine_thread -> check_dynamic_mivr -> chg_alg_is_algo_ready -> pe50_is_algo_ready -> pe50_is_ta_rdy -> pe50_hal_authenticate_ta -> adapter_dev_authentication -> pd_authentication可以知道调用算法的时候使用的算法为pe5,

在pe50_hal_is_pd_adapter_ready中会判断soc电量值来判断是否在快充区间,如果在则返回ALG_READY,进入快充算法

快充过程调试log分析
1、由于EVT样机没有贴好散热等,在大电流输入的时候充电IC升温快触发降流温控保护机制,功率没法维持在比较高的水平,27w很容易降到20w

PE50]pe50 get ita imt ita(org,tta,tbat,tdvchg,prlmt,throt)=3000(3000,0,0.0,3000.-1)其中tbat跳变可以看到降流600ma
解决方法:
调整温控档位,将原来tbat的level档位调高


最低0.47元/天 解锁文章
797

被折叠的 条评论
为什么被折叠?



