lpcware

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

Hi,


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"
#endif

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

__CRP const unsigned int CRP_WORD = CRP_NO_CRP ;

int main(void)
{
    LPC_SYSCON->PDSLEEPCFG = 0x18ff;
    LPC_SYSCON->PDRUNCFG = 0xedf0;
    LPC_SYSCON->PDAWAKECFG = LPC_SYSCON->PDRUNCFG;

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

    for (;;) __NOP();

    return 0 ;
}
[/collapse]


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


[collapse]


#define SYSPLLCLKSEL_Val      0x00000000
#define SYSPLL_SETUP          0
#define SYSPLLCTRL_Val        0x00000000
#define MAINCLKSEL_Val        0x00000000
[/collapse]


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

Outcomes