乐鑫esp32系列睡眠模式下蓝牙连接功耗测试,新支持ESP-C6,启明云端乐鑫代理商

本教程适用于ESP32-S3、ESP32-C3、ESP32-C6;

睡眠模式介绍

ESP32系列常见的休眠方式有三种,分别为Modem-sleep、Light-sleep 和 Deep-sleep。

Modem-sleep模式:CPU 正常工作,可以对时钟进行配置。 进入 Modem-sleep 模式后,还可以

选择降低 CPU 时钟频率,进⼀步降低电流。休眠期间WiFi或 Bluetooth LE 可保持连接。

Light-sleep模式:CPU 暂停工作,数字内核时钟受限。任何唤醒事件(MAC、主机、RTC 定时器

或外部中断)都会唤醒芯片。休眠期间WiFi或 Bluetooth LE 可保持连接。

Deep-sleep模式:数字内核断电,CPU 内容丢失。RTC 时钟定时器或 RTC GPIO 可以将芯片从Deep-sleep模式中唤醒。进⼊休眠状态后,关闭除RTC 模块外的所有其他模块。休眠期间WiFi或Bluetooth LE无法保持连接。

关于睡眠模式的具体说明请参考睡眠模式文档。

硬件准备

ESP32系列模组既支持外置32.768 kHz 的时钟振荡器作为 RTC 睡眠时钟,也支持外部激励信号(如有源晶振)作为 RTC 睡眠时钟。ESP32外置 32.768 kHz 晶振的电路如下图所示。具体的32k晶振引脚请参考对应芯片的技术规格书

软件准备

部分源码解析

1. 电源管理功能

电源管理功能(power_managenment) 是ESP-IDF中集成的电源管理算法,可以根据应用程序组件的需求,调整外围总线 (APB) 频率和 CPU 频率,并使芯片进入Light-sleep模式,尽可能减少运行应用程序的功耗。

通过调用 esp_pm_configure() 函数,在应用程序中启用动态调频 (DFS) 功能和自动 Light-sleep 模式。此函数的参数 esp_pm_config_t 定义了频率调节的相关设置。在此参数结构中,需要初始化以下

三个字段:

max_freq_mhz :最大 CPU 频率 (MHz),获取 ESP_PM_CPU_FREQ_MAX 锁后所使用的频率。

min_freq_mhz :最小 CPU 频率 (MHz),即未持有电源管理锁时所使用的频率。注意,10 MHz 是生成1MHz的REF_TICK默认时钟所需的最小频率。

light_sleep_enable :没有获取任何管理锁时,决定系统是否需要自动进入Light-sleep状态( true/false)。

2. ble广播间隔

在程序中有个结构体 adv_params,其中有两个变量 .adv_int_min 和 .adv_int_max,这两个参数影响着广播间隔,可设置范围为 0x20~0x4000,广播时间间隔为 Time = N * 0.625 ms。

例如:0x640(十六进制)= 1600(十进制)* 0.625ms = 1s

3. ble连接间隔

当连接成功后,在连接事件中有两个变量 conn_params.max_int 和 conn_params.min_int,这两个参数影响着连接间隔, 可设置范围为0x0006~0x0C80,连接间隔为 Time = N * 1.25 ms

例如:0x320(十六进制)= 800(十进制)* 1.25ms = 1s

注:最大连接间隔是4s,所以当设置超过4s时设置无效,则会变成了默认的间隔,功耗会增加。

完整示例代码链接(基于ESP-IDF release/v5.3版本)

https://gitee.com/SNKjxn/ble_power_save

获取工程后,激活esp-idf并进入工程目录下

设置目标芯片

idf.py set-target (目标芯片型号)

例如:

编译烧录

正常运行log如下:

功耗测试结果参考

注意:下面的测试结果,硬件均为外加32k晶振的单模块。

软件广播间隔1s,连接间隔1s。

ESP32-C3

平均功耗 474ua

ESP32-C6

平均功耗 512ua

ESP32-S3

平均功耗 826ua

 往期推荐 ·

设备智能屏交互响应方案,ESP32-S2芯片技术应用,启明云端乐鑫代理商

乐鑫ESP32-C6支持WiFi 6通信,设备联网交互方案,启明云端乐鑫代理商

乐鑫ESP32系列SOC技术让设备控制更简单,HMI智能屏方案应用

基于ESP32-S3芯片的通用型无线模组方案,启明云端乐鑫一级代理商

  • 18
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值