SF32LB525UC6 进入deepsleep后电流还有130多ua

image

除了上面这些io有器件连接,qpsi,iic连接的是六轴加速计,电流最大20ua,其他io引脚都配置为输入下拉模式,其他外设器件都被摘除;休眠时配置了如下:qspi的引脚都做了相关控制;电流还是降不到50ua以内

ble_gap_scan_stop();

HAL_LPAON_Sleep();

rt_pm_run_enter(PM_RUN_MODE_MEDIUM_SPEED);

HAL_RAM_RET_CODE_SECT(BSP_PowerDownCustom, void BSP_PowerDownCustom(int coreid, bool is_deep_sleep))
{

#ifdef BSP_USING_NOR_FLASH2

    HAL_PIN_Set(PAD_PA16, MPI2_CLK,  PIN_NOPULL,   1);
    HAL_PIN_Set(PAD_PA12, MPI2_CS,   PIN_NOPULL,   1);
    HAL_PIN_Set(PAD_PA15, MPI2_DIO0, PIN_PULLDOWN, 1);
    HAL_PIN_Set(PAD_PA13, MPI2_DIO1, PIN_PULLDOWN, 1);
    HAL_PIN_Set(PAD_PA14, MPI2_DIO2, PIN_PULLUP,   1);
    HAL_PIN_Set(PAD_PA17, MPI2_DIO3, PIN_PULLUP,   1);
}

休眠时串口打印为:[pm]S:3,127713

电流波形如下: 感觉还有什么组件在跑;原本板子上的外设应该有iic,spi,lvgl,amoled屏。lvgl任务已经都被屏蔽,spi,amoled屏接口器件也全部摘除

FLASH的CS应当为PULLUP。

另外PSRAM如果没有进入half sleep,会存在约100uA电流。

之前也用过关闭psram,但会出现电流莫名的尖峰。

目前我在睡眠时调用了rt_psram_enter_low_power(“psram1”); // 进入 half_sleep

如上图中出现50ms左右的周期脉冲,最低电流是掉到60ua左右,但峰值电流却偏大很多。

ps:BSP_USING_PSRAM1是有效的

电流出现尖峰是PSRAM进入half sleep的特性,用于定期刷新内部数据,并不是异常。此时虽然存在尖峰,但平均电流会从100uA降低到10uA。如果你用的是Power Profiler,测量这种存在突变的平均电流会有误差,可以尝试换一种测电流的仪器试试。