You are here

PSoC 3 Sleep Mode Projects with various wake-up sources | Cypress Semiconductor

PSoC 3 Sleep Mode Projects with various wake-up sources

Summary: 6 Replies, Latest post by BMAH on 07 Dec 2013 11:24 AM PST
Verified Answers: 0
Last post
Log in to post new comments.
BMAH's picture
Cypress Employee
224 posts

 Projects describing Sleep Mode in PSoC 3 with various wake-up sources have been shown. A document is also attached describing the same.

BMAH's picture
Cypress Employee
224 posts
BMAH's picture
Cypress Employee
224 posts

Attaching the Project

BMAH's picture
Cypress Employee
224 posts

It is recommended to disable RTC Interrupt before entering Sleep Mode. Once the device wakes up from sleep during the One PPS Event, first restore the clock and then enable the RTC Interrupt. This would help to execute large RTC ISR code quicker. This is because CyPmSaveClocks() function could decrease master clock frequency. If the RTC Interrupt is enabled after the clock configuration is restored, this would help the ISR to be executed faster.

user_276170980's picture
User
57 posts

But what if our application requires the use of RTC interrupt even during sleep mode?

Regards.

BMAH's picture
Cypress Employee
224 posts

 Hi Goose,

For PSoC 5 architectures (both PSoC 5 and PSoC 5LP devices), an interrupt is required for the CPU to wake up, so interrupt is disabled for PSoC3 only.

If your application ( PSoC 3 Based) requires RTC interrupt even in sleep, then you should not disable the interrupt before sleep , however you may have to have to compromise for larger current consumption.

BMAH's picture
Cypress Employee
224 posts

 When I2C is used as a wake-up source, there is no need to need not use I2C_SaveConfig() and I2C_RestoreConfig(). 

The Sleep and Wakeup APIs will call SaveConfig()and RestoreConfig() respectively. So there is no need to explicitly call these APIs.

 I2C_Wakeup() would actually call I2C_RestoreConfig(). You can refer the implementation of I2C_Wakeup() in the I2C_PM.c file. So if we are again calling the I2C_RestoreConfig() after I2C_Wakeup(), there can be issues since you are trying to reconfigure I2C while it performs transaction. The device would wake-up only once after an I2C Address Match. I2C Operation fails on subsequent sending of data.

So there is no need to need not use I2C_SaveConfig() and I2C_RestoreConfig() before sleep and wake-up respectively.

 

Log in to post new comments.