0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

蓝牙 来源:蓝牙 2023-10-25 09:29 次阅读

内容简介

在默认的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状态:

12b31c72-7262-11ee-939d-92fbcf53809c.png

从以上的描述很容易发现,Off state比Dormant state功耗更低,随之而来的代价就是在Off状态下只能通过SYS_CTRL和VCHG两个引脚才能唤醒。但是为了能让耳机更省电,很多产品都会选择让其进入Off状态。

高通默认的headset程序在关机后进入的的Dormant状态,这个可以通过实际测量关机后的功耗得到。

经过分析代码后log,我们可以得知在进入最后的关机状态时,程序会运行到shutdown_table的位置:

12bd8ce8-7262-11ee-939d-92fbcf53809c.png

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

12c8a344-7262-11ee-939d-92fbcf53809c.png

这也印证了默认程序并没有进入到Off状态。

解决方法

要让程序关机后进入到Off状态也很简单,只要修改finalPowerOffSleepStep里面的调用(用appPowerDoPowerOff替换appPowerEnterDormantMode)即可:

12e97f88-7262-11ee-939d-92fbcf53809c.png

这样修改后,没记错的话会让芯片在关机状态下的功耗达到微安级别。







审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • sys
    sys
    +关注

    关注

    0

    文章

    8

    浏览量

    9117
  • SRC
    SRC
    +关注

    关注

    0

    文章

    60

    浏览量

    17801

原文标题:如何让QCC517x518x的headset工程在关机后进入到Off state

文章出处:【微信号:TalkBT,微信公众号:蓝牙】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ADP5024为什么会进入低输入电压锁定状态

    我们正在开发一款手持设备用到了ADP5024芯片,现在碰到的现象是上电之后芯片好像就进入到低输入电压锁定状态,BUCK输出对地基本上能测到内部的PULL-DOWN电阻,等VIN放电结束
    发表于 01-09 08:03

    将TC397的MCMCAN模块的canh和canl短接到GND,MCMCAN模块进入到bus off状态无法继续正常发送的原因?

    将TC397的MCMCAN模块的canh和canl短接到GND。按照网络上的资料:此时CAN总线会进入到bus off状态,但当故障移除即通信线正常连接
    发表于 02-01 07:21

    STM32F407VGT6进入freertos就不能再进入到SPI接收中断了的原因?怎么解决?

    裸跑SPI是可以正常进中断,但是freertos是系统中生成的,进入freertos以后就不能再进入到这个接收中断了 能帮忙看看什么原因吗
    发表于 03-13 07:23

    [求助]开机自动关机回到待机状态

    海信3737D液晶彩电,电源插上,电源指示灯红灯亮,按开机开关,电源指示灯变成蓝色,进入正常画面不到三秒自动关机回到到待机状态.请问各位大大这是什么原因.
    发表于 09-02 10:32

    【纯净版系统】如何XP系统快速实现开关机

    只要按一下机箱上的电源按钮,就可以下班走人了。而第二天,按下开机键就可以很 快进入系统,继续昨天未完成的工作。 从待机状态恢复时,可能会被他人偷_kuei电脑中的资料。对此,可在“高级”选项卡中,钩
    发表于 08-06 10:26

    CC2650使能串口不能完全进入睡眠,只能进入到LPM0模式?

    CC2650使能串口不能完全进入睡眠,只能进入到LPM0模式?如何能在使能串口的同时,其设备完全进入到睡眠模式?睡眠的API接口#if
    发表于 03-09 15:13

    cc2650如何在使能串口同时,设备进入睡眠模式?

    本帖最后由 冒汗的心情 于 2016-3-29 11:47 编辑 cc2650如何能在使能串口的同时,其设备完全进入到睡眠模式?使能串口不能完全进入睡眠,只能
    发表于 03-29 11:45

    单片机通过I/O口实现断电自关机时有个小矛盾,可以这样来解决!

    万用表即是)2、S1按下,低电平通过D3使MCU的输入脚ON-OFF电平为低,MCU检测到,通过软件关机(如1所述)D3用于隔离,不然关机状态
    发表于 12-14 20:15

    请问ZLL灯需要调用什么函数网关可以读取到相应的 (不仅仅ON OFF状态) 状态

    本帖最后由 一只耳朵怪 于 2018-6-3 11:26 编辑 我们试图用网关读取ZLL灯ON OFF状态,却无法读到 ON OFF状态,请问ZLL灯需要调用什么函数
    发表于 06-01 12:55

    单片机自动断电或关机电路图讲解

    用于延时关机,象数字万用表即是) 2、S1按下,低电平通过D3使MCU的输入脚ON-OFF电平为低,MCU检测到,通过软件关机(如1所述) D3用于隔离,不然
    发表于 09-18 11:23

    如果设备加入网络,在休眠怎么检测到协调器掉网?

    TI工程师,你们好,我现在有一个终端节点,想做低功耗,现在有几个问题想请教下,谢谢!1、如果设备在没有加入网络的状态下,怎么设备进入到休眠,然后定时唤醒和按键中断唤醒。2、如果设备加入
    发表于 08-05 14:21

    STM32 SWD无法调试或无法进入到main函数是为什么?

    STM32 SWD无法调试或无法进入到main函数是为什么?
    发表于 11-26 06:52

    CH582M BLE如何主动与主机断开连接,进入到广播模式?

    我把这个版区所有的帖子都翻了一遍。还是没有找到答案。作为从机的时候,有两个问题:1,如何主动与主机断开连接,进入到广播模式。我根据一个帖子里的做法,写了如下代码: tmos_snv_read
    发表于 07-27 06:24

    RT-Thread studio jlink最新版本调试hpm6750无法进入到main函数咋办?

    rt thread studio jlink最新版本 调试hpm6750,无法进入到main函数点击“debug”然后就停在这,无法进入到main里,谢谢
    发表于 02-20 14:26

    如何音频文件通过I2S进入到ADAU1701?

    大家好,如题,我想问一下如何音频文件通过I2S进入到ADAU1701??具体要怎么做呢?是要用MCU发送吗?要怎么发送?具体讲讲原理或者例子,谢谢!!
    发表于 11-29 08:19