Bring external Memory MX25R64/MX25R32 into deep sleep on nRF54L15

Hello,

already found a description in the Tech Docs, how to bring the external memory into deep sleep on QSPI interface: https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/test_and_optimize/optimizing/power_general.html#put_the_external_flash_into_sleep_mode_in_inactivity_periods

But is this also possible for external memory MX25R64/MX25R32 on nRF54L15.

What needs to be done to bring this one on SPI Interface into deep sleep? Is there already a description how to do this on nRF54L15?

Thanks a lot

Parents
  • Hi

    Are you able to measure the current on the SPI lines or the MX25R64 itself. Does it indeed go into the deep-power-down mode or just a sleep/disabled mode that draws more current than the dpd mode? The first step would be to find out if the current is in fact drawn by the MX25R64F here.

    Best regards,

    Simon

  • Hi  

    I made some more detailed tests now. Following PPK2 measurements are made directly for the MX25R64 supply line:

    So as you can see, here are the ~6.5µA I was looking for.

    When I zoom in, I can see some peaks every ~12.4ms.

    And even if I zoom more into, I can see some actions every ~1ms that still consumes ~4µA.

    When looking on the SPI I see the following:

    So looks like the dpd (deep power down) command was really sent. But why is the external memory, still consuming so much power?

    All I did in my application was to set the following KConfigs:

    CONFIG_SPI=y
    CONFIG_GPIO=y
    CONFIG_FLASH=y
    
    CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=y
    CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=n
    
    CONFIG_PM_DEVICE=y
    CONFIG_POWEROFF=y
    CONFIG_RAM_POWER_DOWN_LIBRARY=y

    And realized that's not necessary, to do the suspending with

    "pm_device_action_run(spi_dev, PM_DEVICE_ACTION_SUSPEND);"

    manually, if CONFIG_FLASH is set this will be done automatically, doesn't matter if I do the suspend or not.

    But the question is still, why the external memory is not in deep power down and consumes just 0,007µA?

    Thanks!

    SJ

Reply
  • Hi  

    I made some more detailed tests now. Following PPK2 measurements are made directly for the MX25R64 supply line:

    So as you can see, here are the ~6.5µA I was looking for.

    When I zoom in, I can see some peaks every ~12.4ms.

    And even if I zoom more into, I can see some actions every ~1ms that still consumes ~4µA.

    When looking on the SPI I see the following:

    So looks like the dpd (deep power down) command was really sent. But why is the external memory, still consuming so much power?

    All I did in my application was to set the following KConfigs:

    CONFIG_SPI=y
    CONFIG_GPIO=y
    CONFIG_FLASH=y
    
    CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=y
    CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=n
    
    CONFIG_PM_DEVICE=y
    CONFIG_POWEROFF=y
    CONFIG_RAM_POWER_DOWN_LIBRARY=y

    And realized that's not necessary, to do the suspending with

    "pm_device_action_run(spi_dev, PM_DEVICE_ACTION_SUSPEND);"

    manually, if CONFIG_FLASH is set this will be done automatically, doesn't matter if I do the suspend or not.

    But the question is still, why the external memory is not in deep power down and consumes just 0,007µA?

    Thanks!

    SJ

Children
No Data
Related