Unreasonable power consumption of LPC1114/302 in Deep Power-down mode

Discussion created by lpcware Employee on Jun 15, 2016
Latest reply on Jun 15, 2016 by lpcware
Content originally posted in LPCWare by ut_conrad on Fri Jun 14 00:25:20 MST 2013


I need to use LPC1114/302 in Deep Power-down mode in order to conserve battery power. However, the current consumption is still about 1.5mA when Deep Power-down mode is enabled. The following is one of my test programs:

[collapse title=Deep Power-down Mode Test Program]

#ifdef __USE_CMSIS
#include "LPC11xx.h"

#include <cr_section_macros.h>
#include <NXP/crp.h>

__CRP const unsigned int CRP_WORD = CRP_NO_CRP ;

int main(void)
    LPC_SYSCON->PDRUNCFG = 0xedf0;

    LPC_PMU->PCON = 0x02;
    SCB->SCR |= (1 << 2);    // Set SLEEPDEEP bit
    SCB->SCR &= ~(1 << 2);    // reset SLEEPDEEP bit

    for (;;) __NOP();

    return 0 ;

I have also changed system_LPC11xx.c to use IRC instead of crystal


#define SYSPLLCLKSEL_Val      0x00000000
#define SYSPLL_SETUP          0
#define SYSPLLCTRL_Val        0x00000000
#define MAINCLKSEL_Val        0x00000000

During testing, the only connections to the MCU LPC1114/302 are the SWCLK, SWDIO, VDD and VSS pins. I have also tried setting all I/O pins to GPIO (except SWCLK and SWDIO) and output at low level. The result is still the same. Note that the program execution stops at __WFI(). Without the __WFI(), the current is much higher.

I have run similar program using LPCXpresso LPC11U14 board (LPC11U14/201), and the current is less than 100uA.

Can anyone tell me what can be the problem? My program or the MCU.

Thank you in advance.

-- Conrad