请选择 进入手机版 | 继续访问电脑版
查看: 1333|回复: 0

QN908x低功耗蓝牙芯片低功耗简介

[复制链接]
  • TA的每日心情
    开心
    2021-12-31 14:33
  • 签到天数: 45 天

    [LV.5]常住居民I

    48

    主题

    131

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1129
    最后登录
    2024-3-29
    发表于 2019-5-30 12:59:46 | 显示全部楼层 |阅读模式
    Bluetooth LE技术在许多日常使用的设备中随处可见,包括联网手表、跟踪标签、运动和健身传感器、医疗传感器以及移动设备等,除此之外在智能家居里也有诸多应用,例如智能门锁和照明,这些设备设计优化最重要的指标之一就是功耗,功耗也是衡量一款芯片的重要指标。
    QN908x是恩智浦专为可穿戴设备、物联网等需要低功耗,且具备蓝牙连接功能的电子设备设计的SoC,其具有超低的功耗和极高的吞吐率。该产品可在纽扣电池等小容量电池的驱动下长时间运行。
    11111.png
    图1 Bluetooth Low Energy应用


    影响QN908x功耗的因素


    对于一个蓝牙产品,功耗的控制与产品的成功与否至关重要,本文只讨论与QN908x芯片硬件相关的影响功耗的因素,关于应用程序及协议栈等方面的因素,不在本文讨论的范围内。


    DCDC/LDO


    QN908x内部提供LDO和DCDC两种电源模式,将外部电压转换为QN908x芯片内数字电路、模拟电路以及RF的工作电压。
    使用LDO不需额外增加电感和电容,可以节省成本,接收灵敏度会比DCDC模式高1~2dBm;使用DCDC可以最大限度的降低功耗,且仅需额外增加两个电感和一个电容。软件可通过函数POWER_EnableDCDC()开启DCDC。
    22222.png
    图2 LDO与DCDC电源电路示意图


    功耗模式


    QN908x支持多种功耗模式,包括Active、Sleep和Power down模式,Power down式还分为Power down1和 Power down0模式。
           Active模式:CPU内存和外设时钟全部使能,CPU全速运行;
           Sleep模式:MCU时钟停止,CPU处于挂起状态,未关断外设的时钟处于开启状态,处理器、外设寄存器、内部RAM和引脚电平都保持;
            Power down0模式:系统及外设时钟停止,仅有32kHz时钟保持,RTC、ACMP和Sleep Timer可以通过寄存器配置使能或停止。
            Power down1模式:系统所有时钟停止,只能通过外部中断唤醒。


    时钟


    QN908x的AHB和APB总线的时钟在开发阶段都是可以配置的。降低时钟可以降低功耗。


    外设


    QN908x的系统外设的电源和时钟都是可以通过寄存器控制的,及时停止时钟和电源可以降低功耗。
    QN908x数据手册中有各个外设的功耗参数,可供参考。


    IO漏电


    QN908x的IO端口,除PB00和PB01引脚外,其他IO在缺省状态时均为输入上拉。
    在调试功耗性能时,GPIO的状态必须与外设电路匹配,阻止漏电情况发生。对于未使用引脚,建议设置为输出高阻。。


    Bluetooth LE 模块


    Bluetooth LE射频模块在Active模式下具有很好的功耗表现。QN908x在使用3.0V供电、启用DCDC、使用32MHz外部晶体、0dBm发射功率的工作情况下:TX状态时芯片整体功耗峰值为3.5mA,RX状态时芯片整体功耗峰值为3.5mA。
    影响射频模块功耗的因素,广播间隔:在广播期间,发送广播数据的间隔会影响设备的功耗。在QN908x的SDK中可通过函数Gap_SetAdvertisingParameters()修改广播参数。
    33333.png
    图3 Bluetooth LE在广播间隔1秒与广播间隔100ms时的功耗


    同时,广播包长、广播类型及发射功率都会影响BLE的功耗。包长越短,发射功率越低,功耗越小。
    连接间隔:与广播间隔类似,增加连接间隔时间也会降低设备的功耗。在QN908x的SDK中通过函数Gap_UpdateConnectionParameters()修改连接参数。
    传输速率:QN908x可支持蓝牙5.0的2M模式。2M模式会更省电。


    从细节降低功耗


    低功耗的设计需“精打细算”,每一句代码都有可能影响到整体功耗,以下总结一些通用技巧:
          1.使能低功耗模式;
          2.设置合适的总线时钟频率;
          3.及时关闭外设电压和时钟;
          4.根据外围电路设置GPIO,避免GPIO漏电;
          5.设置合适的广播间隔和连接间隔。


    低功耗配置与使能


    在QN908x的SDK中,共有四个Bluetooth LE的样例工程使能了低功耗功能,分别是:Power profiling、heart rate sensor、temperature collector/sensor。


    基于QN908x SDK的固件架构,使能低功耗非常简单。具体步骤如下:


    1. 在app_preinclude.h使能如下的宏定义:
    44444.png
    2. 在board.h中添加声明:
    66666.png
    3. 在board.c文件中的函数:BOARD_WakeupRestore()和BOARD_PrepareDeepSleep()这两个函数内增加对用户外设处理操作。


    4. 通过PWR_DisallowDeviceToSleep()和PWR_AllowDeviceToSleep()函数禁止或允许系统进入低功耗。


    5. 使用函数PWR_PreventEnterLowPower(true)或使用PWR_PreventEnterLowPower(false)阻止或允许系统进入低功耗。


    6. 在相应的文件中添加头文件#include "PWR_Interface.h"。


    总结


    本文简要介绍了影响QN908x功耗的因素及如何使能低功耗。QN908x具有优秀的低功耗性能,是一颗十分适合可穿戴设备和IoT市场的芯片。


    作者:刘佳       文章出处:恩智浦MCU加油站




    11111签到
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-3-29 17:01 , Processed in 0.114723 second(s), 20 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表