qcc3020充满进入dormant如何唤醒?
最近帮客户分析qcc3020的OEM代码发现一个问题:放入充电盒耳机充满后软件控制进入dormant状态,但此后耳机从充电盒脱离无法唤醒。
从3020的datasheet看到dormant的唤醒条件有:
■ A rising edge on SYS_CTRL
■ A rising edge or a falling edge on VCHG
■ Activity on any PIO
■ A timer
■ Digital activity on any LED pad (when configured as digital inputs)
具体的做法是:
power_manager收到charger_manager的CHARGER_MESSAGE_COMPLETED消息后延时一 段时间调用appPowerEnterDormantMode();
有看到appPowerEnterDormantMode()内禁用了充电器appChargerForceDisable(),是否因为它导致了充电脱离无法唤醒耳机?
求高人指点一二,不胜感激!!
这个跟软件应该没有问题吧,3020只要vchg电平有变化都会唤醒,大概是0-3.6v,3.6-5v这两个区间,而且不用刻意进入dormant,调用Poweroff会自行判断的,vchg有电压就会进入dormant,没电压就会关机 满电后,直接poweroff,试试 liujinhan 发表于 2020-4-1 11:08
满电后,直接poweroff,试试
datasheet上有说明VCHG有电是不能power off的。确实也试过,结果是也是意料中如原厂代码,看到log关机失败:
static bool appPowerDoPowerOff(void)
{
/* Try to power off.*/
PsuConfigure(PSU_ALL, PSU_ENABLE, FALSE);
/* Failed to power off.. */
DEBUG_LOG("Turning off power supplies was ineffective?");
/* No need to disable charger for power down, but if a charger is connected
we want to charge. Check if we failed to power off because charger
detection is not complete */
if (!appChargerDetectionIsPending())
{
/* Fall back to Dormant */
appPowerEnterDormantMode(FALSE);
/* Should never get here...*/
Panic();
}
DEBUG_LOG("Failed to power off because charger detection ongoing. Check charger again later");
return FALSE;
} qiangxcn 发表于 2020-4-1 16:03
datasheet上有说明VCHG有电是不能power off的。确实也试过,结果是也是意料中如原厂代码,看到log关机失 ...
确定是满电状态吗? basketcase 发表于 2020-4-1 11:04
这个跟软件应该没有问题吧,3020只要vchg电平有变化都会唤醒,大概是0-3.6v,3.6-5v这两个区间,而且不用刻 ...
如果不禁止充电而调用dormant总会引起PANIC,禁止充电appChargerForceDisable()又会导致唤醒不了,感觉象条死路。另外,盒子从有电到没电不会关机,会产生OUT OF CASE事件。再测试一下用不用dormant充满的耗电差别吧。 liujinhan 发表于 2020-4-1 16:14
确定是满电状态吗?
这个倒没什么疑问,LED红灯灭了,而且增加了消息处理才能跑到那里。 对比测试充满进或不进dormant各点电流:
VCHG端电流 VBAT端电流
原厂不入dormant <1mA 0.0125mA
修改进dormant <1mA 0.004mA
USB 5V处取样电阻小了点不准,VBAT的耗电还是有改善价值的。按50mAh电池算就是4000小时和12500小时的差别了。 qiangxcn 发表于 2020-4-1 20:07
对比测试充满进或不进dormant各点电流:
VCHG端电流 VBAT端 ...
进入dormant的时候看耳机电流是没有多大意义的,要看充电盒的功耗,高通芯片的5V漏电还是很厉害的,单耳大概有20-30微安,转换到充电仓大概是30-50个微安左右,这还是电路设计没问题的情况下,所以高通一般都不推荐做5V常开。
页:
[1]