This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF52840 QSPI XIP and standby

I have been investigating the possibility of using the QSPI external flash peripheral on our NRF chip. After doing a typical qspi read command, the external flash chip would go back to standby mode which uses about 85uA. After doing a xip_function, which looks like a typical read command with a continuous read commands depending on the function, the external flash chip would not go back to standby. This results in 2.3 mA idle draw. The QSPI XIP is functioning but I am wondering why the flash does not go in standby after the XIP operation. I want to know if there is any way to save power while or between using XIP. Is there a way to modify software to ensure standby mode is done after any qspi operation? 

Here is my configuration:

nRF52840, using Macronix MX25L12835F QSPI NOR flash,

Running with SDK14.0, using QSPI library. Dual SPI with mode 0, PP, READ2IO, 32Mhz. 

Parents Reply Children
  • Hi, QSPI will not go into standby and also the external Flash will not go into standby since the CSN line is kept low by the peripheral. A timeout that puts the QSPI into standby when there is no XiP operation for a certain time is a good feature request, but not implemented in any product so far.

    The only workaround that we could imagine is to use a timer/RTC as a watchdog. The CPU needs to clear/restart it from time to time. If it timeout it can trigger TASKS_DEACTIVATE on the QSPI. But then there also needs to be code to activate and initialize it again. Not very nice, but maybe worth for long times between XiP accesses.

     

Related