测试目的:ESP32 Wi-F 和 蓝牙 并存时测量出 sleep 模式下 Wi-Fi 和 蓝牙并存时的电流功耗。

以下是测试环境与过程、测试结果:

1 测试环境与过程:

  • 硬件部分:ESP32-WROVER-B 模组(需要外接 32.768 K 晶振),ESP-IDF: V4.0 (abdf12dc),与一台示波器。

  • 软件部分:在 esp-idf/examples/wifi/power_save 示例里结合了 /esp-idf/examples/bluetooth/bluedroid/ble/ble_ibeacon 示例(将 ble_ibeacon 中实现的功能复制添加到 power_save 即可)。 menuconfig 中可以按照 官方配置 进行配置。如下:

    ESP-IDF menuconfig options:
    Enable Power Management:
    menuconfig ---> Component config ---> Power management --->
    [*] Support for power managementEnable Tickless Idle:
    menuconfig ---> Component config ---> FreeRTOS --->
    [*] Tickless idle support
    (3) Minimum number of ticks to enter sleep mode for (NEW)Note: Tickless idle needs to be enabled to allow automatic light sleep. FreeRTOS will enter light sleep if no tasks need to run
    for 3(by default) ticks, that is 30ms if tick rate is 100Hz. Configure the FreeRTOS tick rate to be higher if you want to allow
    shorter duration light sleep, for example:
    menuconfig ---> Component config ---> FreeRTOS ->
    (1000) Tick rate (Hz)Configure external 32.768Hz crystal as RTC clock source:
    menuconfig ---> Component config ---> ESP32-specific --->
    RTC clock source (External 32kHz crystal)
    [*] Additional current for external 32kHz crystal
    Note that the "additional current" option is a workaround for a hardware issue on ESP32 that the crystal can fail in oscillating.
    Please enable this option when you use external 32kHz crystal. This hardware issue will be resolved in the next ECO chip.Enable Bluetooth modem sleep with external 32.768kHz crystal as low power clock:
    menuconfig ---> Component config ---> Bluetooth ---> Bluetooth controller ---> MODEM SLEEP Options --->
    [*] Bluetooth modem sleep
    Bluetooth Modem sleep mode (ORIG mode(sleep with low power clock))
    Bluetooth low power clock (External 32kHz crystal)
    

2 测试结果:

2.1 BLE 广播(不使用 Wi-Fi)

首先需要验证只用 /esp-idf/examples/bluetooth/bluedroid/ble/ble_ibeacon 示例测试 BLE 广播(不使用 Wi-Fi)的电流功耗,测得的平均功耗与 乐鑫官方数据基本吻合,表格如下:

CPU 频率 adv internal(ms) MODE 平均值 最大值 最小值
80 mHz 20 ms Light-sleep 33.1 mA 142 mA <1 mA
160 mHz 20 ms Light-sleep 34.3 mA 150 mA <1 mA

2.2 BLE 广播(使用 Wi-Fi)

然后将 /esp-idf/examples/bluetooth/bluedroid/ble/ble_ibeacon 示例与 esp-idf/examples/wifi/power_save 示例结合后, 在 menuconfig 按照要求配置与烧写固件后,结果如下:

CPU 频率 adv internal(ms) MODE 平均值 最大值 最小值
80 mHz 20 ms Light-sleep 34.7 mA 166 mA 0.72 mA
80 mHz 80 ms Light-sleep 17.2 mA 168 mA 0.73 mA
80 mHz 160 ms Light-sleep 11.1 mA 166 mA 0.75 mA
160 mHz 20 ms Light-sleep 35.2 mA 166 mA 0.8 mA
160 mHz 80 ms Light-sleep 20.3 mA 168 mA 0.77 mA
160 mHz 160 ms Light-sleep 12.5 mA 166 mA 0.75 mA
240 mHz 20 ms Light-sleep 35.9 mA 166 mA <1 mA
240 mHz 80 ms Light-sleep 15.9 mA 166 mA <1 mA
240 mHz 160 ms Light-sleep 13.0 mA 168 mA <1 mA

3 波形参考

以下为使用 KEITHELEY 数字万用表测试模拟的 BLE & sleep 模式下的波形。

3.1 BLE ADV

此部分为 BLE ADV & sleep 下的相关测试环境及结果。
测试环境:

  • IDF version : 4c81978a3
  • ADV interval : 40 ms - 40 ms
  • CPU frequency : 160 MHz
  • DUAL core

测试结果:(图片横坐标为采样点数,纵坐标为电流值,单位为 A)
每 40 ms 广播一次,广播时的瞬时电流峰值为 130 mA,其余时间为 sleep 模式,电流为 1 mA。

将单个周期放大后如下:

3.2 BLE SCAN

此部分为 BLE ADV & sleep 下的相关测试环境及结果。
测试环境:

  • IDF version : 4c81978a3
  • SCAN interval : 50 ms
  • scan_window : 30 ms
  • DUAL core

测试结果:(图片横坐标为采样点数,纵坐标为电流值,单位为 A)
每 50 ms 扫描一次,扫描窗口为 30 ms。扫描时时的瞬时电流峰值为 130 mA,其余时间为正常模式,电流为 20 mA。

将单个周期放大后如下:

3.3 BLE CONNECT

此部分为 BLE CONNECT & sleep 下的相关测试环境及结果。
测试环境:

  • IDF version : 4c81978a3
  • ADV interval : 40 ms - 40 ms
  • DUAL core

测试结果:(图片横坐标为采样点数,纵坐标为电流值,单位为 A)
有事件 & 广播发生时瞬时电流值较高,其余时间为 sleep 模式,电流为 1 mA。

  • BLE 连接前

    将单个周期放大后如下:

  • BLE 连接后

    将单个周期放大后如下:

ESP32 测试(十):ESP32 Wi-Fi 和 蓝牙 并存时开始睡眠模式的电流功耗相关推荐

  1. SimpleFOC之ESP32(十)—— ESP-NOW和力矩反馈

    目录 说明 一.ESP-NOP 1.1.简介 1.2.硬件准备 1.3.代码演示 1.3.1.官方示例 1.3.2.代码改进简化 二.力矩反馈 2.1.Dagor项目介绍 2.2.ESP32drive ...

  2. ESP32 测试(五): Light-sleep 模式下的电流功耗测试及特性(使用 Wi-Fi)

    一. 测试目的 经常会有开发者提出基于 ESP32 Light-sleep 模式下的电流功耗问题,本文将测试在连接 Wi-Fi 的情况下 Light-sleep 模式下的 ESP32 的电流功耗. 二 ...

  3. Arduino ESP32:测试GPIO中断功能

    Arduino ESP32:测试GPIO中断功能 ESP32:测试GPIO中断功能 实例代码 /*测试GPIO中断功能接线说明: 按键1接23,按键2接18 */#include <Arduin ...

  4. wifi射频测试(esp32整体测试以及整改)

    wifi射频测试(esp32整体测试以及整改) wifi性能直接关系到产品的连接稳定性,为了得到满意的wifi效果,一般从以下几点进行测试,验证设计产品的稳定性,如果认为自己的产品wifi性能不稳定, ...

  5. 菜鸟哥玩蓝牙Ble4.0系列 ESP32初玩篇① Scan —— 扫描周边蓝牙,了解BLE扫描的方方面面

    文章目录 1.前言 2.ESP32 Scan案例 2.1 直接打开官方示例 3.Scan核心库 -- BLEScan 3.1 管理扫描 3.1.1 创建扫描对象 -- BLEScan 3.1.1.1 ...

  6. ESP32学习microPython之(4)--蓝牙应用1--控制LED

    注:对于ESP32开源技术感兴趣的可以加群,我们一起探索交流学习,群号:782473783.群名:ESP32开源技术交流群. 前言 前面已经有多篇文章将在ESP32上使用MicroPython进行开发 ...

  7. ESP32 学习笔记(二十二)睡眠模式

    睡眠模式 睡眠模式 概述 WiFi/BT 和睡眠模式 唤醒源 定时器 Touch pad External 唤醒(ext0) External 唤醒(ext1) ULP 协处理器唤醒 GPIO 唤醒( ...

  8. 了解ESP32睡眠模式及其功耗

    陈拓翻译 2022/05/30-2022/05/30 原文 https://lastminuteengineers.com/esp32-sleep-modes-power-consumption/ 毫 ...

  9. ESP32第一章esp32简介

    ESP32第一章esp32简介 ESP32模块及开发板 ESP-IDF ESP32模块及开发板 ESP32是乐鑫信息科技(以下简称乐鑫)推出的一块WIFI芯片.ESP32 集成了天线开关.射频 bal ...

最新文章

  1. linux_一些shell命令分析记录
  2. 机器学习-损失函数 (转)
  3. Hibernate.cfg.xml配置文件结构详解
  4. Bzoj1269 [AHOI2006]文本编辑器editor
  5. 【Python】扫盲帖:关于在Windows、Linux和Mac上安装设置Python的问题
  6. Scala编译器安装,开发工具安装,通过IDEA创建scala的工程代码,Scala SDK的设置
  7. 蓝牙驱动卸载后自动安装_智能产品 | 安装水循环系统后,全自动洗车机洗车会更节水吗?...
  8. 汇编loop指令及用法解释
  9. RandomStringUtils的使用
  10. DateOnly和TimeOnly类型居然不能序列化!!! .Net 6下实现自定义JSON序列化
  11. [Beego] [bootstrap-paginator]实现分页功能
  12. 由条件熵与无条件熵的关系引出的不等式证明题(不会抄答案系列)
  13. Cocos2d入门--2-- 三角函数的应用
  14. opencart笔记
  15. 项目管理工具project软件学习(四) - 日历保存为模板、日历重命名、删除
  16. 关于过程改进和能力提升
  17. 通过IGT-DSER网关实现各品牌PLC之间,PLC与工业机器人(ModbusTCP)之间通讯
  18. 【深度学习】初次接触
  19. 游戏娱乐型型计算机装机配置单,组装配置单-急求 I5 性能最好的 电脑配置的 各种大型游戏能完美流畅的玩 价钱 和配置什么的 求详细...
  20. 优秀员工是公司最大的财富

热门文章

  1. Linux安装 VMware tools 工具的方法(转,已测试成功)
  2. MATLAB 画图--图形属性设置
  3. F1C100S电阻触摸屏驱动
  4. offsetof函数的实现
  5. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: FUNCTION wm.concat does not exist
  6. 程序员2011精华本
  7. html下拉控件 拼音检索和中文检索,Combobox控件实现汉字按拼音首字母检索
  8. CentOS 7中DHCP的介绍与搭建DHCP中继服务(理论+实践)
  9. 微信小程序之顶部导航栏(选项卡)实例 —— 微信小程序实战系列(1)
  10. 如意人生守护·典藏版:论赔付力度,这款产品是碾压级的!