How to achieve 2µA for KE04

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to achieve 2µA for KE04

1,098 Views
thorgrimner
Contributor II

Hello,

I am using KE04 on a custom board, specifically MKE04Z64VLD4.

The board is currently populated with nothing except the KE04, decoupling capacitors and pull-up for RST.

No I/O pins are connected - only 7:VDD, 8:VDDA, 9:VREFL, 10:VSS/VSSA, 40:VSS, 41:VDD and 63:PTA5/RST.

The processor is powered with 4.1V.

I would like to know what must be done to achieve the very low deep sleep current of 2-40 µA, as per the datasheet. Currently, the processor is drawing ~123µA after entering deep-sleep.

The code I am using is as follows:

void SystemInitHook() {
    // Turn off NMI
    SIM->SOPT0 = 0b1100;

    // Flash LED for a few seconds
    GPIOA->PDDR |= 1 << 25;
    for(uint8_t n = 0; n < 10; n++) {
        GPIO->PSOR = 1 << 25;
        for(volatile uint64_t x = 0; x < 500000; x++);
        GPIO->PCOR = 1 << 25;
        for(volatile uint64_t x = 0; x < 500000; x++);
    }
 
    // Go to deep sleep
    SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;
    __WFI();
}‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

The call chain is <POR> => ResetISR => SystemInit => SystemInitHook, and these functions have not been modified from the default SDK.

ResetISR does __asm("cpsid i"); and SystemInit disables the watchdog.

No other code is being run before the call to SystemInitHook.

Best regards,

Davey Taylor

Labels (1)
0 Kudos
Reply
2 Replies

1,033 Views
thorgrimner
Contributor II

Dear Jing,

LVD was not disabled.

After disabling LVD, current consumption dropped to below 2µA.

Thank you kindly for your assistance!

Best regards,

Davey Taylor

0 Kudos
Reply

1,033 Views
jingpan
NXP TechSupport
NXP TechSupport

Hi Davey,

Do you disable LVD before entering deep sleep? If LVD is enabled, the total current can be 125~130uA. Please see chapter 13 in reference manual.

Regards,

Jing