SF32LB525UC6 still has over 130 uA current after entering deepsleep

image

In addition to the above IOs with device connections, qspi and iic are connected to a six-axis accelerometer with a maximum current of 20uA. All other IO pins are configured as input pull-down mode, and all other peripheral devices have been removed. During sleep, the following configuration is applied: the qspi pins are controlled accordingly, but the current still cannot be reduced to below 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);
}

The serial port print during sleep is: [pm]S:3,127713

The current waveform is as follows: It feels like some component is still running. The original board peripherals should include iic, spi, lvgl, and an amoled screen. The lvgl tasks have all been disabled, and the spi and amoled screen interface components have also been completely removed.

FLASH’s CS should be PULLUP.

Additionally, if PSRAM does not enter half sleep, there will be approximately 100uA current.

I have also tried disabling PSRAM before, but there would be unexplained current spikes.

Currently, during sleep, I call rt_psram_enter_low_power(“psram1”); // enter half_sleep

As shown in the figure above, there is a periodic pulse of about 50ms, with the minimum current dropping to around 60uA, but the peak current is much larger.

PS: BSP_USING_PSRAM1 is valid.

Current spikes are a characteristic of PSRAM entering half sleep, used to periodically refresh internal data, and are not an anomaly. While there are spikes, the average current drops from 100 µA to 10 µA. If you are using a Power Profiler, measuring the average current with these sudden changes will have errors. You can try using a different current measurement instrument.