nRF52832 Deep Sleep mode Power Consumption with Ram Retention Off

Hi, I am using S112, nRF52832 and SDK SDK_17.1.0_ddde560.

Using below code snippet I am putting device to deepsleep. I have turned off the RAM retention.
However, still I see 0.4uA current draw.
Can you please look into this code and let me know if I am missing on something?


static volatile struct spis *spis0 = (struct spis *)0x40003000;
static volatile struct power *power = (struct power *)0x40000000;
static volatile struct gpio *gpio = (struct gpio *)0x50000000;


static void deepsleep(void)
{
/*
* Only way to recover is to reset ARM
*/
__asm("CPSID i");
spis0->enable = 0;
power->ram0_powerclr = (1 << 17) | (1 << 16);
power->ram1_powerclr = (1 << 17) | (1 << 16);
power->ram2_powerclr = (1 << 17) | (1 << 16);
power->ram3_powerclr = (1 << 17) | (1 << 16);
power->ram4_powerclr = (1 << 17) | (1 << 16);
power->ram5_powerclr = (1 << 17) | (1 << 16);
power->ram6_powerclr = (1 << 17) | (1 << 16);
power->ram7_powerclr = (1 << 17) | (1 << 16);
power->systemoff = 1;
while (1)
{
__asm("wfe");
}
}

Parents Reply
  • Holiday time in Norway .. in case this helps, there is no RAM refresh as the nRF52832 internal RAM is fully static (SRAM) and not dynamic (PSRAM, DRAM, ...) however the internal DC-DC converter which generates 1.3 volts from VDD changes from DC-DC or LDO Mode into Hysteretic Mode in deep sleep which is like skipping a stone across a pond; periodically the external bulk capacitance is charged up (so current pulse) and then the internal supply switched off until the internal voltage decays a little then the process is repeated. Use the PPK2 to see this in operation.

Children
Related