I am using a LPC802 in deep power down mode, the current should be 0.15uA, but I have a 13,8uA current consumption.
Following the example "power_mode_switch_lpc.c":
I configure the wakeup pin:
POWER_DeepPowerDownWakeupSourceSelect(kPmu_Dpd_En_Pio0_17);
where:
static inline void POWER_DeepPowerDownWakeupSourceSelect(uint32_t wakeup_pin)
{
PMU->WUENAREG |= wakeup_pin;
}
and to enter deep power down mode call the function:
POWER_EnterDeepPowerDownMode();
where:
void POWER_EnterDeepPowerDownMode(void)
{
uint32_t pmsk;
pmsk = __get_PRIMASK();
__disable_irq();
/* make sure NODPD is cleared */
PMU->PCON = (PMU->PCON & (~(PMU_PCON_PM_MASK | PMU_PCON_NODPD_MASK))) | PMU_PCON_PM(kPmu_Deep_PowerDown);
/* enable Deepsleep mode in the ARM-CORTEX M0+ SCR register */
SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;
/*clear wake up pin status flag*/
PMU->WUSRCREG |= PMU_WUSRCREG_WUSRCREG_MASK;
/* Enter powerdown mode */
__WFI();
/* disable Deepsleep mode in the ARM-CORTEX M0+ SCR register */
SCB->SCR &= ~SCB_SCR_SLEEPDEEP_Msk;
__set_PRIMASK(pmsk);
}
All the pins are without external connections, except wakeup pin, where I have an external pullup
Hello, I asked for get more details because in my department does not have that board, the engineer that help me have these comments.... I have tested the customer's code in LPC802 EVK, according to my test results the power consumption when deep power down is 0.18uA. Just changed the wakeup pin from P0_17 to P0_8 based on LPC802 EVK.
I doubt this issue was caused by customer's board, suggest try to change the WAKEUP pin to test this issue.
Best regards,
Pavel
Thank you Pavel. Which is the value of the pullup resistance you have in your wakeup pin?
Best regards,
Eva
Hello, they mentioned P0_8 based on LPC802 EVK.
Best regards,
Pavel
Hello, I suggest removing the 56k RPUL. To test this issue
Best regards,
Pavel
Hello, if I remove 56k pullup, current consumption increases up to 45 uA
Hello, I have checked the code, suggest mode the below configuration to test this issue.
Do not disable the GPIO0 clock,
Because I don't have your board, it's limited for me to check this issue.
Best regards,
Pavel
Hello Pavel,
I tried your suggestion, but the result is the same. I have the same current consumtion either I call LP_PreEnterLowPower function or not.
In Deep power down mode, power is shut off to entire chip except for the WAKEUP pins, digital peripherals are off, and PIOn_m pins are Floating, so that makes sense.
I could think that I have a problem in PCB, but if I enter power down mode instead of Deep power down mode, the current consumption goes to 6uA, that is the value in datasheet. So that makes me think that something is wrong in software.
I have measured current through pullup resistor, it is 0,4uA aprox, so it seems that 13uA consumption is internal.
Best regads
Hello, let me get more information.
Best regards,
Pavel
Hello Pavel,
I am using a custom board, all the pins are disconnected except the wake up pin (it has an external pullup resistor of 56komhs), and VDD is 3v3.
I am using a polimeter in series with VDD to measure the current. If I write value 0x02 in PMU->PCON PM bits(power down mode) instead of value 0x03 (deep power down mode), I measure a current of 6uA (same as datasheet).
The temperature is 22ºC.
Regarding pins I tryed floating pins and also with all pins configured as GPIO outputs driven LOW and pull-up resistors disabled, but result is the same. User manual says:"All functional pins are tri-stated in deep power-down mode except for the WAKEUP pin".
The debugger is disconnected from the board.
Best regards,
Eva
Hello, my name is Pavel, and I will be supporting your case, let me get into your case when I have more information I will contact you.
Best regards,
Pavel
Hello Pavel, any news regarding this issue? 6uA is too much for my application, I would need a current consuption below 1uA.
Thank you in advance.
Thank you Pavel.
If I write value 0x02 in PMU->PCON PM bits using the same function, the current consumption goes to 6,5uA (power down mode)
With 0x03 value (deep power down mode), consumption is 13,8uA
Hello, sorry for the late response, I´m following your case, I have some questions about it.
Could you let me know if you are using a EVK or custom board?
Could you share a schematic about how you are made the measure?
The table on it has this note.
[1] Typical ratings are not guaranteed. The values listed are for room temperature (25 C), VDD = 3.3 V.
What kind of temperature do you have?
See the Fig 19. Deep power-down mode.
Did you put floating the unused pins?
[3] IDD measurements were performed with all pins configured as GPIO outputs driven LOW and pull-up resistors disabled.
In addition, please make sure you DISCONNECT the board with IDE debugger when measure.
Best regards,
Pavel
Hello Pavel,
I am using a custom board, all the pins are disconnected except the wake up pin (it has an external pullup resistor of 56komhs), and VDD is 3v3.
I am using a polimeter in series with VDD to measure the current. If I write value 0x02 in PMU->PCON PM bits(power down mode) instead of value 0x03 (deep power down mode), I measure a current of 6uA (same as datasheet).
The temperature is 22ºC.
Regarding pins I tryed floating pins and also with all pins configured as GPIO outputs driven LOW and pull-up resistors disabled, but result is the same. User manual says:"All functional pins are tri-stated in deep power-down mode except for the WAKEUP pin".
The debugger is disconnected from the board.
Best regards,
Eva