一只啥时候瘦 发表于 2025-11-28 15:10:25

Nordic 芯片低功耗模式仍耗电,关键优化点?

电池供电设备即使进入低功耗模式,电流仍维持在 50μA 以上,核心因外设、中断与定时器配置未优化:​

[*]外设彻底断电 / 反初始化:Idle 模式下仅休眠外设(如nrf_uart_disable())仍会耗电,需调用nrf_uart_uninit()反初始化,SPI/TWI/ADC 同理;FPU(浮点单元)未关闭会增加 10μA 功耗,可执行nrf_cpuid_set_feature(CONFIG_FPU, false)禁用。​


[*]中断与 GPIO 优化:GPIOTE 中断默认高精度模式耗电 10~20μA,改用低精度模式(nrf_gpiote_configure()设为 NRF_GPIOTE_CONFIG_SENSE_LOW);未使用的 GPIO 配置为输出低电平,避免浮空漏电流。​


[*]定时器替换:硬件 Timer(如 TIMER0)Idle 功耗 5~50μA,改用 app_timer(基于 RTC1)功耗降至 0.2μA,示例:​





APP_TIMER_DEF(m_low_power_timer);​

app_timer_create(&m_low_power_timer, APP_TIMER_MODE_REPEATED, timer_handler);​

app_timer_start(m_low_power_timer, APP_TIMER_TICKS(1000), NULL); // 1s唤醒一次​






进阶优化:启用 RAM 降功耗模式(sd_power_mode_set(NRF_POWER_MODE_LOWPWR)),并关闭 DMA 控制器;可借助 PPK2 工具逐模块测量功耗,定位隐藏的耗电点(如未关的 DMA 会增加 15μA 功耗)。

页: [1]
查看完整版本: Nordic 芯片低功耗模式仍耗电,关键优化点?