Deep sleep power comsuption issues

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

cross mob
chwa_1570756
Level 4
Level 4
25 sign-ins 25 replies posted 10 replies posted

Hello,

I use a 4246AZI mcu, before enter into deep sleep mode, I make all components go to _sleep() and set all pins  as Analog HIZ state except for one pin left for interrupt wakeup, I am sure all of  pins no DC push or pull current loop , but I can messure about 800uA current when in deep sleep mode, which exceed my design target of 10uA, anything I miss consider?

 I know to lower the clock freqency helpful for reducing the current, as my design need full speed response in normal run mode, so I set the IMO clock as 48MHz, anyway I guess the mcu will automatically stop HSI/IMO clock and clcoked by ILO in deep sleep mode,is it right?

 

Best regards,

Chirs Wang

0 Likes
1 Solution
chwa_1570756
Level 4
Level 4
25 sign-ins 25 replies posted 10 replies posted

Hello,

When I try to remove a small 5v-to-3.3v regulator on the board, then I can get 1.5uA current in deep sleep mode,it's nice!

thanks for your reply.

Chris

View solution in original post

0 Likes
5 Replies
Rakshith
Moderator
Moderator
Moderator
250 likes received 1000 replies posted 750 replies posted

Hello Chris, 

Can you please create an empty project and send the device to Deep Sleep mode? Please let me know the current reading with this project.

 I guess the mcu will automatically stop HSI/IMO clock

Yes, that is correct IMO is disabled in Deep Sleep mode. The resource availability table for your reference - 

Rakshith_0-1616774664879.png

 

Thanks and Regards,
Rakshith M B
0 Likes
MikeAustin
Level 4
Level 4
25 replies posted 25 sign-ins 10 replies posted

Two things worth checking:

1.  Design Wide Resources > System > Programming/Debugging > Debug Select is set to "GPIO" and not "SWD", and you are Building your code in "Release" mode (not "Debug")

2.  If you have an I2C component, you are using pins 5[0] and 5[1] for these.

I found both of those had a significant impact on current draw in Hibernate mode for a project I was working on, so suspect it would be similar for DeepSleep.

Cheers,

Mike

0 Likes
chwa_1570756
Level 4
Level 4
25 sign-ins 25 replies posted 10 replies posted

Hello Rakshith&Mike,

I have created an empty project  without  IP component and solder off all the hardware parts connected to MCU, I am sure there is no any current loops at all of MCU pins, meanwhile set the debug port SWD as GPIO pin, the code is very simple as below:

void main(void)

{

while(1)
{

   CyDelay(1000);
   CySysPmDeepSleep();
}

}

I use a 3.7V Li battery as power supply and ties a current meter, then  the current I read is:

13.5mA  in normal mode @HFCLK=48MHz 

7.2mA  in normal mode @HFCLK=24MHz

90uA  in deep sleep mode 

I still could not get arround 10uA in deep sleep mode, should I assign all of unused pins with a exact definition and then set them as HIZ anolog state?

Best regards,

Chris

 

0 Likes
chwa_1570756
Level 4
Level 4
25 sign-ins 25 replies posted 10 replies posted

Hello,

When I try to remove a small 5v-to-3.3v regulator on the board, then I can get 1.5uA current in deep sleep mode,it's nice!

thanks for your reply.

Chris

0 Likes
Rakshith
Moderator
Moderator
Moderator
250 likes received 1000 replies posted 750 replies posted

Hi Chris, 

Thank you for sharing the resolution with the community! 🙂

Thanks and Regards,
Rakshith M B
0 Likes