You are here

Low Power Modes | Cypress Semiconductor

Low Power Modes

Summary: 5 Replies, Latest post by Gautam Das on 09 Jan 2012 10:56 PM PST
Verified Answers: 0
Last post
Log in to post new comments.
trotis85's picture
User
33 posts

Hello,

I'm testing the low power modes of Psoc3:

- On one hand, I've read on AN66083 that when the device is in Sleep mode, "all subsystems except supervisory modules such as CTW and WDT (if enabled) are disabled".

- On the other hand, in the head "Switching to Sleep Mode" advices that, before you call the Sleep function(CyPmSleep()), you've to call the Sleep Component routines (Component_Sleep()).

I've tried a Creator Project which uses a Comparator in order to make a LED light up. I haven't used the function Comparator_Sleep() and, when the device goes to Sleep mode, the Comparators still working. Why the Comparator works despite the device is in Sleep Mode? Is it actually the device in Sleep mode or do you have to use the Component Sleep function?

Thank's. Regards.

user_1377889's picture
User
10803 posts

 

 

the system reference says:

Instance Low Power APIs

Most components have an instance-specific set of low power APIs that allow you to put the component

into its low power state (sleep or hibernate). These functions are listed below generically. Refer to the

individual data sheet for specific information regarding register retention information if applicable.

the comparator has some even extrodnary APIs, the Pins-component has none. I think it may be rather necessary to keep some IO-Pins alife (in a sleeping machine) and to power down others (set to digital Hi-Z)

 

There is a lot to do to power down (and to power up again) a chip: saving the clocks, saving the component's states, powering down the components (in the richt order) handle the interrupts and then, finally, go to sleep.

Happy snoozing

Bob

dasg's picture
Cypress Employee
730 posts

Hi Trotis85,

 

When you intend to go to sleep and don't want the comparator to be active during the sleep period, you'll have to use the <Comparator>_Sleep( ) API. This will save the power state of the comparator and stop the comparator. This will help in reducing the power consumed during sleep. Upon wakeup, you must use the API <Comparator>_Wakeup( ) to restore its config and reenable it.

However, if your application demands that the comparator be active during Sleep, you should leave it untouched. The device will go to sleep, there is no doubt about that. You can do a sanity check by measuring the current consumed during sleep as against the active mode.

You also have provision to use comparator as a source of wakeup from sleep. There is API support for this too.

trotis85's picture
User
33 posts

Thank's bob and dasq.

Dasq, I find interesting to mesure the current in Sleep vs Active modes. Does the Psoc3 or Creator have any tool to do these?

Regards.

user_1377889's picture
User
10803 posts

That's a cat biting its own tail (smile)! If your PSoC is asleep it cannot measure and if you measure your PSoC it cannot fall asleep.

If you have got a second system, you can measure the voltage over a shunt-resistor to calculate current.

Bob

dasg's picture
Cypress Employee
730 posts

Hi trotis85,

 

As Bob has already mentioned, during sleep the CPU and other peripherals will be powered down. So, you will not be able to measure the current consumed.

The best way to compare the current consumed is to use an external ammeter to measure the current the device draws when in active mode to the current drawn when it is in sleep.

If your application requires that some blocks still be active during the low power mode, then "Standby" mode would be an alternate choice. In this mode you can selectively enable or disable the individual analog / digital blocks.

Log in to post new comments.