7.41. 功耗优化说明
Overview
7.41.1. 操作说明
电压配置
详情查看
系统部分
的VDDIO_SYSVDD_DCDC14系统电压配置说明
tools/isd_config_rule.c
系统频率配置/*clock modules configuration*/ OSC=OSC0; [OSC0|OSC1|OSC_RTC|HTC] OSC_FREQ=24MHz; OSC_HC_EN=0; OSC_1PIN_EN=0; #if defined CONFIG_OVERCLOCKING_ENABLE SYS_CLK=396MHz; [320M 240M 192M 160M 120M 96M 48M 24M 40M 24M,当SYS_CLK为其他值时sdram时钟跟随系统时钟] HSB_DIV=1; [高速总线时钟分频系数 HSB_DIV+1] LSB_DIV=1; [低速总线时钟分频系数 LSB_DIV+1] #else SYS_CLK=320MHz; [320M 240M 192M 160M 120M 96M 48M 24M 40M 24M,当SYS_CLK为其他值时sdram时钟跟随系统时钟] HSB_DIV=1; [高速总线时钟分频系数 HSB_DIV+1] LSB_DIV=2; [低速总线时钟分频系数 LSB_DIV+1] #endif
SYS_CLK配置如上, 频率从大到小, 功耗依次降低, 如需最优功耗, 在不影响程序使用前提下, 往低的配(如opus编解码最小需要在96MHz系统时钟下运行)
sdk_ld_sfc.c
代码段放置与缓存区配置(不带SDRAM情况下)FREE_DACHE_WAY = 7; //max is 7 FREE_IACHE_WAY = 0; //max is 7 CACHE_RAM_SIZE = FREE_DACHE_WAY*4K+FREE_IACHE_WAY*4K;
默认工程FREE_DACHE_WAY配置为7, 如需最优功耗, 则配置成0, 由于此时CACHE_RAM_SIZE = 0, 放在cache_ram的段需要移动位置
. =ORIGIN(cache_ram); .cache_ram_data ALIGN(4): { #include "driver/cpu/wl82/system_data.ld" . = ALIGN(4); // must at tail, make ram0_data size align 4 } > cache_ram .cache_ram_bss ALIGN(4): { *(.memp_memory_x) . = ALIGN(4); // must at tail, make ram0_data size align 4 } > cache_ram
cache_ram_bss
段内容放到ram0_bss
里,cache_ram_data
段内容放到ram0_data
里降低BLE功耗配置(以demo_ble为例)
- 降低BLE模拟发射功率:
需在BLE初始化完后调用, 可以在
app_main.c
bt_ble_module_init()之后调用
void app_main() { puts("------------- demo_ble app main-------------\n"); extern void bt_ble_module_init(void); bt_ble_module_init(); wifi_set_pwr(6); //功率选择档位 0-6, 0功率最低 }
- 降低BLE数字发射功率:
需在BLE初始哈完成前调用, 可以在
app_main.c
bt_ble_module_init()之前调用
void app_main() { puts("------------- demo_ble app main-------------\n"); extern void bt_ble_module_init(void); extern void bt_max_pwr_set(u8 pwr, u8 pg_pwr, u8 iq_pwr, u8 ble_pwr); bt_max_pwr_set(6, 6, 6, 11); //第4个参数为BLE功率参数, 0-11 bt_ble_module_init(); }
蓝牙不操作,只操作wifi的开关控制功耗(如此关wifi, 功耗相当于SDK只开启了蓝牙, 注意函数的调用先后)
//关闭wifi
extern void wifi_rf_off();
wifi_off();
wifi_rf_off();
//开启wifi
extern void wifi_rf_on();
wifi_rf_on();
wifi_on();
7.41.2. 功耗场景
详情参考[场景功耗测试] doc/stuff/场景功耗测试.xlsx