展讯8910DM:如果VBus和VBat接在一起,导致模组某些功能出现异常的问题分析

2023-05-16

一、无法通过调节电压进行正常开关机

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状态有变化,触发中断)。因此把电压调高到指定开机电压的时候,模组是不会自动开机的。

解决方案:
由于平台对于vCharger的检测是硬件行为,所以在drv_charger.c中的VBat电压检测之后添加判断语句“如果VBat电压达到关机电压后手动设置充电器在位状态使其通过软件行为进入vCharger中断”的方法是不可行的。
需要将关机电压调低至中断检测以下,如3.1V,跳

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

展讯8910DM:如果VBus和VBat接在一起,导致模组某些功能出现异常的问题分析 的相关文章

随机推荐