乐鑫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芯片的通用型无线模组方案,启明云端乐鑫一级代理商

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/726238.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

康谋分享丨从CAN到CAN FD:ADTF在汽车网络中的应用

来源:康谋分享丨从CAN到CAN FD:ADTF在汽车网络中的应用 原文链接:https://mp.weixin.qq.com/s/qCrsXV0D8No3bH6QsgupHg 欢迎关注虹科,为您提供最新资讯! #CAN #CAN FD #ADTF 随着汽车电子技术的发展,车辆…

直播电商源码(直播带货,短视频带货,DIY首页,商城运营)

随着互联网技术的飞速发展,直播电商已成为数字营销的新宠儿。直播电商源码作为支撑这一商业模式的技术基础,其重要性不言而喻。本文将深入探讨直播电商源码的概念、功能以及在现代电商领域的应用。 直播电商源码概述 直播电商源码,简而言之…

【C++题解】1324 - 扩建鱼塘问题

问题:1324 - 扩建鱼塘问题 类型:分支问题 题目描述: 有一个尺寸为 mn 的矩形鱼塘,请问如果要把该鱼塘扩建为正方形,那么它的面积至少增加了多少平方米? 输入: 两个整数 m 和 n 。 输出&…

北京大学数字普惠金融指数(2011-2022年)

北京大学数字普惠金融指数(2011-2022年),包含省市县三级数据 数据年限:省级、地级市(2011-2022年);区县(2014-2022年) 数据格式:excel、pdf 数据来源&#xf…

作为老司机,网站啥调性,第一屏就看出来了,还需往里看么。

网站的第一屏指的是用户在打开网站时首先看到的内容区域。这个区域通常包括网站的头部、导航栏、主要的视觉元素和重要的信息。第一屏的设计和呈现方式会对用户的第一印象产生重要影响,因此它能够决定网站的整体调性。 以下是一些原因解释为什么第一屏决定了网站的整…

[SAP ABAP] MESSAGE消息处理

常用的MESSAGE命令的字符 信息类型描述EError 出现错误消息,应用程序在当前点暂停 WWarning 出现警告消息,用户必须按Enter键才能继续应用程序 IInformation 将打开一个弹出窗口,其中包含消息文本,用户必须按Enter键才能继续 SSu…

忘记 iPhone 密码:如果忘记密码,如何解锁 iPhone

为了提高个人数据的安全性,用户通常会为不同的帐户和设备创建不同的复杂密码。虽然较新的 iPhone 型号具有生物识别和面部解锁功能,但这些功能并不总是有效 - 如果您忘记了 iPhone 的密码,您可能会遇到麻烦。 iPhone 用户和 Android 用户一样…

Python12 列表推导式

1.什么是列表推导式 Python的列表推导式(list comprehension)是一种简洁的构建列表(list)的方法,它可以从一个现有的列表中根据某种指定的规则快速创建一个新列表。这种方法不仅代码更加简洁,执行效率也很…

ARM64汇编0C - inlinehook

本文是ARM64汇编系列的完结篇,主要利用前面学过的知识做一个小实验 完整系列博客地址:https://www.lyldalek.top/article/arm 这里只讨论 ARM64 下的 inlinehook,做一个简单的demo,只是抛砖引玉,有兴趣了解更多细节的可…

Treeselect是介绍及使用(梳理了我使用这个组件遇到的大部分问题)

介绍: Treeselect是一款基于Vue.js的树形选择器组件,可以快速地实现树形结构的选择功能。 这里梳理了我使用这个组件遇到的大部分问题 安装依赖: 首先,你需要在你的项目中安装Treeselect的依赖。这通常可以通过npm或yarn等来完…

多线程(总结黑马程序员)

一、什么是线程? 是一个程序内部的一条执行流程 多线程是什么? 多条线程由CPU负责调度执行 多线程的创建方式一:继承Thread类 //1.继承Thread类 public class MyThread extends Thread {//2.必须重写run方法Overridepublic void run() {…

理解HTTP请求格式

HTTP概念 HTTP全称HyperTextTransfer Protocol(超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议;HTTP是一个客户端(用户)和服务端(网站)之间请求和响应的标准。 HTTP 协议是以 ASCII 码传输&…

FreeRtos-13资源管理

一、临界资源是什么 要独占式地访问临界资源,有3种方法: 1.公平竞争:比如使用互斥量,谁先获得互斥量谁就访问临界资源,这部分内容前面讲过。 谁要跟我抢,我就灭掉谁: 2.中断要跟我抢?我屏蔽中断 3.其他任务要跟我抢?我禁止调度器,不运行任务切换 二、暂停调度器…

【漏洞复现】极限OA video_file.php 任意文件读取漏洞

免责声明: 本文内容旨在提供有关特定漏洞或安全漏洞的信息,以帮助用户更好地了解可能存在的风险。公布此类信息的目的在于促进网络安全意识和技术进步,并非出于任何恶意目的。阅读者应该明白,在利用本文提到的漏洞信息或进行相关测…

线性回归模型介绍

线性回归模型是一种统计方法,用于分析两个或多个变量之间的关系。它通过拟合一条直线(称为回归线)来描述因变量(或目标变量)和一个或多个自变量(或预测变量)之间的关系。这种模型主要用于预测和解释变量间的线性关系。以下是线性回归模型的简单介绍: 1. 线性回归模型的…

文本挖掘与可视化:生成个性化词云的Python实践【7个案例】

文本挖掘与可视化:生成个性化词云的Python实践【7个案例】 词云(Word Cloud),又称为文字云或标签云,是一种用于文本数据可视化的技术,通过不同大小、颜色和字体展示文本中单词的出现频率或重要性。在词云中…

技术支持与开发助手:Kompas AI的革新力量

一、引言 随着技术发展的迅猛进步,技术开发的高效需求日益增加。开发人员面临着更复杂的项目、更紧迫的时间表以及不断提高的质量标准。在这种背景下,能够提供智能支持的工具变得尤为重要。Kompas AI 正是在这种需求下应运而生的。它通过人工智能技术&a…

Arduino平台软硬件原理及使用——电位器模块的使用

文章目录 一、电位器工作原理 二、电位器与滑动变阻器的异同 三、电位器模块在Arduino中的使用 一、电位器工作原理 上图为市面上常见的电位器元件实物图,其结构及封装根据不同的应用场景也有着不同,但其原理及本质基本一致。 电位器是具有三个引出端、…

车牌号识别(低级版)

import cv2 from matplotlib import pyplot as plt import os import numpy as np from paddleocr import PaddleOCR, draw_ocr from PIL import Image, ImageDraw, ImageFont# 利用paddelOCR进行文字扫描,并输出结果 def text_scan(img_path):ocr PaddleOCR(use_a…

[Mysql] 数据库基本概念

前言---数据库系统发展史 当今主流数据库介绍 一、操作系统 Linux操作系统 :RedHat CentOS Debian Ubuntu OpenSUSE 信创标准 会让系统逐渐国产化 国产系统:华为 欧拉 阿里 龙蜥 腾讯 tencentOS 银河麒麟 中标麒麟…