Current slowly creeps upward after entering low power mode

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hi, I'm running into some trouble with power consumption and I'm wondering if this seems like a design problem. Here's the situation:

   

I have a dozen copies of a custom PCBA from a well established assembly house

   

I have an empty project with a single pin assigned to 12.6, and the following code:

   

    pin_SetDriveMode(pin_DM_DIG_HIZ);
    CyDelay(10);
    CyPmSaveClocks();
    CyPmHibernate();

   

I expect this design to draw around a microamp in sleep, but two instances of the board fail to do that. They start out drawing 0.4 mA and slowly creep up over a period of about a minute until they're drawing 4 mA. Toggling the reset line resets the cycle. All the other boards draw less than a uA.

   

I discovered that if I set the drive mode to ALG_HIZ, these boards fall into line (although I do need PICU interrupts on this particular pin). There's a 200 kOhm pulldown on 12.6, and shorting the pin to ground or VDDD doesn't have any effect.

   

Any ideas what could be causing this? DFM things to check? Thanks in advance!

0 Likes
1 Solution
Anonymous
Not applicable

GPIOs retain their state in Low Power. It is recommended that you change the drive modes of possible GPIOs to Analog Hi-Z before hibernate. Also, please change the Debug Select from SWD to GPIO for further reducing the low power current.

View solution in original post

0 Likes
3 Replies
AnkitaS_51
Employee
Employee
100 likes received 50 likes received 25 likes received

Can you share with us the schematic of the board

0 Likes
Anonymous
Not applicable

GPIOs retain their state in Low Power. It is recommended that you change the drive modes of possible GPIOs to Analog Hi-Z before hibernate. Also, please change the Debug Select from SWD to GPIO for further reducing the low power current.

0 Likes
Anonymous
Not applicable

Thanks! Just to follow up, we found a couple issues:

   

- a cold solder joint was causing a GPIO to float intermittently

   

- a pair of I2C pins were pulled up to a 3.3v supply provided by one of the PSoC DACs. The sleep state of that DAC was stable at room temperature for most boards, but started floating consistently at lower temperatures. Setting those pins to ALG_HIZ before hibernate solved the problem.

   

tldr, current leakage through digital input buffers on floating pins

   

 

   

Curious, what exactly is the mechanism for current leakage through floating input pins? I found a page on the TI wiki that suggests high and low side FETs can turn on simultaneously - is that what's happening here?

   

http://processors.wiki.ti.com/index.php/Optimizing_IO_Power_Consumption

   

http://electronics.stackexchange.com/questions/7179/is-it-really-a-bad-idea-to-leave-an-mcu-input-pi...

0 Likes