内容简介
在默认的headset工程中,当系统进行关机的时候,会让芯片进入到dormant状态,本文介绍如何在关机后让芯片进入到Off状态。
测试工具
MDE:MDE_WIN_2.8.0.37_x64
Toolkit:ADK Toolkit 1.2.16.21_x64
QACT:NULL
Bluesuite:NULL
Hardware:Qualcomm QCC3084
Software:adk-src-1-0_qtil_standard_oem_qcc518x-qcc308x,ADK-23.1-CS1-r00593.1 headset
Here we go
分析
从芯片的datasheet中可以看到,芯片的状态有No Power state、Active state、Shallow Sleep state、Deep Sleep state、Dormant state和Off state,除了No Power state以外,其他的状态都是芯片通电时正常的工作状态。这里我们主要看Dormant和Off状态:

从以上的描述很容易发现,Off state比Dormant state功耗更低,随之而来的代价就是在Off状态下只能通过SYS_CTRL和VCHG两个引脚才能唤醒。但是为了能让耳机更省电,很多产品都会选择让其进入Off状态。
高通默认的headset程序在关机后进入的的Dormant状态,这个可以通过实际测量关机后的功耗得到。
经过分析代码后log,我们可以得知在进入最后的关机状态时,程序会运行到shutdown_table的位置:

在finalPowerOffSleepStep函数中可以看到调用了进入dormant的接口函数:

这也印证了默认程序并没有进入到Off状态。
解决方法
要让程序关机后进入到Off状态也很简单,只要修改finalPowerOffSleepStep里面的调用(用appPowerDoPowerOff替换appPowerEnterDormantMode)即可:

这样修改后,没记错的话会让芯片在关机状态下的功耗达到微安级别。
审核编辑:刘清
-
sys
+关注
关注
0文章
9浏览量
9343 -
SRC
+关注
关注
0文章
63浏览量
18656
原文标题:如何让QCC517x518x的headset工程在关机后进入到Off state
文章出处:【微信号:TalkBT,微信公众号:蓝牙】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
ADP5024为什么会进入低输入电压锁定状态?
将TC397的MCMCAN模块的canh和canl短接到GND,MCMCAN模块进入到bus off状态后无法继续正常发送的原因?
STM32F407VGT6进入freertos后就不能再进入到SPI接收中断了的原因?怎么解决?
STM32G4 CAN为什么无法检测到bus-off状态?
[求助]开机后自动关机回到待机状态
【纯净版系统】如何让XP系统快速实现开关机
CC2650使能串口后不能完全进入睡眠,只能进入到LPM0模式?
cc2650如何在使能串口同时,让设备进入睡眠模式?
如果设备加入到网络后,在休眠后怎么检测到协调器掉网?
如何让音频文件通过I2S进入到ADAU1701?
新Surface Pro曝出缺陷:会随机进入休眠模式或直接关机
SoKrispy利用谷歌的Jump VR视频套件 让观众进入到艺术作品的世界
定时开关机接口的调用方法和工程文件

如何在关机后让芯片进入到Off状态?
评论