How to achieve 2µA for KE04

cancel
Showing results for 
Search instead for 
Did you mean: 

How to achieve 2µA for KE04

70 Views
Contributor I

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
2 Replies

5 Views
Contributor I

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

5 Views
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