一、无法通过调节电压进行正常开关机
Bug:
在idh.code/components/driver/Kconfig以及drv_charger.c中对开关机电压进行配置后,外接电源调节电压对模组进行开关机测试,通过coolwatcher抓取log分析,关机流程并未全部走完,也就是说没有彻底关机;再次调高电压至开机电压,模组未能正常启动,电流为0MA,而此时模组中的某些引脚还是有电压的。
原因分析:
调电压至指定值以下使其关机,这个时候走的是软件关机流程,但是开关机键和VCharger都是在位的,这个时候软件会判断他们的状态。
由于VBus和VBat接在一起的,导致在外接电源连接VBat对模组进行供电时,VBus电平也被拉高,所以只要接外部电源,充电器在位状态是不会变的。平台vCharger中断检测是3.3V接入检测,3.2V断开检测,但是vCharger状态不变,所以软件行为关机(未彻底)之后不会让模组开机(或者反复的开关机),除非再次有触发开关机的动作(也就是在3.2V-3.3V之间vCharger状态有变化,触发中断)。因此把电压调高到指定开机电压的时候,模组是不会自动开机的。