这是描述信息

乐鑫esp32 c3蓝牙芯片功耗模组智能照明电源管理实战

乐鑫esp32 c3蓝牙芯片功耗模组智能照明电源管理实战

乐鑫esp32 c3蓝牙芯片功耗模组智能照明电源管理实战

乐鑫esp32 c3蓝牙芯片功耗模组智能照明电源管理实战

乐鑫esp32

乐鑫esp32 c3蓝牙芯片功耗模组智能照明电源管理实战,在了解 ESP32-C3 电源管理和低功耗模式后,就可以在开发实际的物联网项目时选择合适的电源管理方案进行低功耗优化。本文将继续围绕智能照明工程,介绍如何运用乐鑫esp32 c3蓝牙芯片功耗模组电源管理方案和低功耗模式进行低功耗优化。


在智能照明工程中,为了使智能照明产品通过低功耗认证,同时节约能源,需要尽可能降低芯片在运行时的功耗。结合之前的内容,考虑在 Deep-sleep 模式下,LEDC无法正常工作,并且 Wi-Fi和 Bluetooth LE 连接无法保持,从而无法接收用户的控制命令。所以在该智能照明产品中通常结合使用乐鑫esp32 c3蓝牙芯片功耗模组Wi-Fi Modem-sleep 模式、Bluetooth LE Modem-sleep 模式电源管理、自动进入 Light-sleep 模式,这种组合可将智能照明产品功耗降至低。使用这种组合后:


在开灯状态下,通过获取电源管理锁保证 LED PWM 工作正常同时 Wi-Fi和 Bluetooth LE保持连接以接收用户的控制命令,并且通过使用 Wi-Fi 的 Modem-sleep 模式和 Bluetooth LE的Modem-sleep模式,能降低射频电路工作时间以降低功耗。


在关灯状态下,通过释放电源管理锁,能让 CPU 在空闲时进入 Light-sleep 模式,以便进步降低功耗。
下面将进一步介绍如何在智能照明工程中使用这种组合,分为两步:
第一步:乐鑫esp32 c3蓝牙芯片功耗模组配置电源管理功能、启用自动进入 Light-sleep 模式、打开 Wi-Fi的 Modem-sleep 模式和Bluetooth LE的Modem-sleep 模式。
第二步:在应用程序中完成电源管理锁的相关操作,使LED 调光驱动正常工作。


配置电源管理功能
(1)启用电源管理(Power Management)功能和自动进入 Light-sleep 模式。在启用电源管理功能时,先需要在 menuconfig 中配置相应的选项;其次要在应用程序中调用 esp_pm_configure()函数,使用乐鑫esp32 c3蓝牙芯片功耗模组时对应的参数是esp_pm config_esp32c3_t。
(2)配置Wi-Fi & Bluetooth modem sleep。配置 Wi-Fi& Bluetooth modem sleep的步骤如下:
第一步,配置Bluetooth modem sleep,只需要在menuconfig中配置这个选项。
第二步,配置 Wi-Fi的Modem-sleep 模式,需要在初始化 Wi-Fi后,调用乐鑫esp32 c3蓝牙芯片功耗模组esp wifi_set_ps(wifi_ps_type_t type)函数完成 Modem-sleep 模式的配置。在本书介绍的智能照明工程中的用法如下:


1.#define LISTEN_INTERVAL 3
2.wifi_config_t wifi_config = (
3.    .sta ={
4.    .ssid="SSID",
5.    .password="Password",
6.    .listen_interval = LISTEN_INTERVAL,
7.    },
8.    };
9.    ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA));
10.    ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_STA, &wifi_config));
11.    ESP_ERROR_CHECK(esp_wifi start());
12.    
13.ESP_ERROR_CHECK(esp_wifi_set_ps(WIFI_PS_MAX_MODEM));


使用电源管理锁
当LEDC 使用除 REE_TICK 之外的时钟源时,是受动态调频影响的,应用程序需要添加代码完成获取/释放电源管理锁的操作,LEDC 才能正常工作。因此,在应用中需要使用电源管理锁来保证在 LEDC 工作时,APB 时钟不发生变化。乐鑫esp32 c3蓝牙芯片功耗模组具体用法为:在初始化LED驱动程序时,初始化ESP_PM_APB_EREQ_MAX类型的电源管理锁;当LED开始工作时(开灯),获取该电源管理锁;在 LED 停止工作时(关灯),释放该电源管理锁。在本文介绍的智能照明工程中的用法如下:


1.staticesp_pm_lock_handle_t s_pm_apb_lock= NULL;
2.
3.if (s_pm_apb_lock == NULL) {
4.if(esp pmlock create(ESP PMAPB FREQ MAX,0,"l apb",
5.&s_pm_apb_lock) != ESP OK) {
6.ESP_LOGE(TAG,"esp pm lock create failed");
7.}
8.}
9.
10.while (1) {
11.ESP_ERROR CHECK(esp_pm_lock_acquire(s_pm_apb_lock));
12.ESP_LOGI(TAG,"light turn on");
13.for (ch=0;ch< LEDC_TEST_CH_NUM;ch++) {
14.ledc_set_duty(ledc_channel[ch].speed mode,
15.ledc_channel[ch].channel,LEDC_TEST_DUTY);
16.ledc_update_duty(ledc_channel[ch],speed mode,
17.ledc channel[ch].channel);
18.}
19.vTaskDelay(pdMS_TO_TICKS(5 *1000));
20.
21.ESP_LOGI(TAG,"light turn off");
22.for (ch= 0;ch <LEDC_TEST_CH_NUM;ch++) (
23.ledc_set_duty(ledc_channel[ch].speed_mode,
24.ledc_channel[ch].channel, 0);
25.ledc_update_duty(ledc channel[ch].speed_moder
26.ledc channel[ch].channel);
27.}
28.ESP_ERROR_CHECK(esp pm lock release(s pm_apb_lock));
29.vTaskDelay(pdMS TO TICKS(5 *1000));,
30.}


验证功耗表现
在完成电源管理和低功耗优化配置后,可以测试乐鑫esp32 c3蓝牙芯片功耗模组实际的功耗表现,了解其是否满足功耗要求根据认证要求,实际测试的对象既可以是整个照明灯具,也可以是无线模组。当测试无线模组时,可以使用直流电源作为无线模组的电源,在两者之间串接功率分析仪,用于功耗数据的收集、分析。本文所用的功率分析仪是 Joulescope: Precision DC EnergyAnalyzer。在与功耗相关的认证要求中,针对智能照明设备,通常需要测量关灯状态、Wi-Fi 保持连接状态时的平均电流。


介绍了 ESP32-C3 支持的电源管理和 Modem-sleep、Light-sleep、Deep-sleep 等模式,以及它们的功能和用法。除此之外,本文还介绍了如何进行低功耗调试。本文以智能照明工程为例,介绍如何使用电源管理功能和低功耗模式,并测量实际的功耗。

地址:深圳市宝安区西乡街道麻布社区宝安互联网产业基地A区6栋7栋7706

邮箱:Sales@ferry-semi.com

版权所有©2020  深圳市飞睿科技有限公司  粤ICP备2020098907号    飞睿科技微波雷达wifi模块网站地图