- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Solved! Go to Solution.
- Labels:
-
PSoC 4 MCU
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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 M B
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Chris,
Thank you for sharing the resolution with the community! 🙂
Rakshith M B