完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
想用esp32做一个蓝牙门磁的接收器。就是蓝牙门磁是一个gatt clinet,当有开关门后,会启动ble连接gatt server。
esp32是一个设备,gatt server。设备基本在deep-sleep模式,rtc定时5s唤醒一次,每次就启动ble 进行广播并维持1s的等待连接。如果没有就进入deep-sleep。 这种模式下,如果没有连接的话,esp32的整体平均功耗能到多少?没有用ulp。理论上应该是官方数据10uA,但是粗略测量会高很多。请问还需要怎么做吗? |
|
相关推荐
1个回答
|
|
ESP32的平均功耗取决于多种因素,包括工作模式、硬件配置和软件实现。在您描述的场景中,ESP32主要在Deep Sleep模式下运行,并通过RTC定时器唤醒进行BLE广播和等待连接。在这种情况下,我们可以分析以下几个方面来估算ESP32的平均功耗:
1. Deep Sleep模式功耗:ESP32在Deep Sleep模式下的功耗非常低,通常在10μA以下。这是由于在Deep Sleep模式下,大部分硬件模块都被关闭,只有RTC定时器和一些基本的电源管理功能在运行。 2. 唤醒和广播功耗:当ESP32从Deep Sleep模式唤醒时,需要消耗一定的能量来启动BLE模块和进行广播。这个过程中的功耗会高于Deep Sleep模式,但通常在几十到几百毫安之间。具体数值取决于BLE模块的工作频率、广播间隔等因素。 3. 等待连接功耗:在广播完成后,ESP32会进入等待连接的状态。这个过程中,BLE模块仍然需要消耗一定的能量来监听来自GATT Client的连接请求。这个功耗通常在几十到几百毫安之间,具体数值取决于BLE模块的工作频率和连接请求的频率。 4. 其他硬件模块功耗:除了BLE模块外,ESP32还可能有一些其他硬件模块在运行,例如GPIO、ADC等。这些模块的功耗也需要考虑在内。 根据您的描述,ESP32在没有连接的情况下,每次唤醒后会进行5秒的广播和1秒的等待连接,然后再次进入Deep Sleep模式。我们可以估算一下平均功耗: 假设唤醒和广播过程中的功耗为100mA,等待连接过程中的功耗为50mA。那么在每次唤醒的6秒内,总功耗为: (100mA * 5s) + (50mA * 1s) = 550mA * s 由于ESP32在Deep Sleep模式下的功耗非常低,我们可以忽略这段时间的功耗。那么在没有连接的情况下,ESP32的平均功耗可以近似为: 550mA * s / (6s + Deep Sleep时间) 由于Deep Sleep时间远大于6秒,所以平均功耗会非常接近于550mA * s / 6s = 91.67mA。 这个数值远高于官方给出的10μA,但请注意,这里的估算是基于一些假设和简化。实际功耗可能会受到硬件配置、软件实现和其他因素的影响。为了降低功耗,您可以尝试以下方法: 1. 优化BLE模块的工作频率和广播间隔,以减少唤醒和广播过程中的功耗。 2. 使用低功耗的硬件模块,例如使用低功耗的GPIO驱动器。 3. 在软件层面,尽量减少唤醒过程中的计算和数据处理,以降低功耗。 4. 使用ULP(超低功耗)协处理器,它可以在Deep Sleep模式下运行,进一步降低功耗。 5. 优化RTC定时器的配置,以减少唤醒次数。 通过这些方法,您可能会在一定程度上降低ESP32的平均功耗,但要达到官方给出的10μA可能仍然具有挑战性。 |
|
|
|
只有小组成员才能发言,加入小组>>
1142 浏览 1 评论
578浏览 6评论
479浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
463浏览 5评论
464浏览 4评论
440浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 00:37 , Processed in 1.321324 second(s), Total 48, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号