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

cross mob
Jdo300
Level 1
Level 1
10 sign-ins 5 questions asked 5 sign-ins

I'm currently finalizing a hardware design using the PScC6 Creator module and want to know if any of the available IO pins can be used to wake the PSoC6 out of deep sleep or hibernate mode? Currently, I have a push-button connected to pin P9.2, which will ground it when pressed. My idea is to include a denounce circuit inside the PSoC6 (based on this app note here) and wake it from the lowest possible sleep mode. Are there any other things I need to consider for this use case?

 

Thanks!

Jason O

0 Likes
1 Solution
BragadeeshV
Moderator
Moderator
Moderator
First question asked 1000 replies posted 750 replies posted

Hi @Jdo300,

Any port's GPIO  interrupt can wakeup the device from System Deep sleep mode (both the cores are put in Deep Sleep).  However, the GPIOs are in the frozen state when in Hibernate mode. Therefore, you need to use the dedicated Hibernate Wakeup pin to wake the device from Hibernate mode. Please check the device datasheet to know which GPIO can be used as the wakeup pin for Hibernate mode.

BragadeeshV_0-1615788595172.png

BragadeeshV_1-1615788729557.png

 

 

Regards,
Bragadeesh

View solution in original post

0 Likes
3 Replies
BragadeeshV
Moderator
Moderator
Moderator
First question asked 1000 replies posted 750 replies posted

Hi @Jdo300,

Any port's GPIO  interrupt can wakeup the device from System Deep sleep mode (both the cores are put in Deep Sleep).  However, the GPIOs are in the frozen state when in Hibernate mode. Therefore, you need to use the dedicated Hibernate Wakeup pin to wake the device from Hibernate mode. Please check the device datasheet to know which GPIO can be used as the wakeup pin for Hibernate mode.

BragadeeshV_0-1615788595172.png

BragadeeshV_1-1615788729557.png

 

 

Regards,
Bragadeesh
0 Likes

Hello Bragadeesh,

Thank you very much for pointing me in the right direction. Regarding debouncing of either of the hibernate pins, can I still create a debounce circuit like the one in the example here?
https://www.cypress.com/file/127081/download 

Or would I need to use an external pull-up resistor to trigger the chip out of hibernate?

Thank you,

Jason O

0 Likes
BragadeeshV
Moderator
Moderator
Moderator
First question asked 1000 replies posted 750 replies posted

Hi @Jdo300 ,

It is recommended to add an external pull up or pull down resistor to the wake up pin depending on whether you configure the pin to be active high or active low wakeup. The wakeup pin is high impedance digital and does not have internal pull up/ down resistors. You need to use the API Cy_SysPm_SetHibernateWakeupSource() and enum cy_en_syspm_hibernate_wakeup_source_t 
to set the wake up input source and it's polarity. See PDL API documentation for details:

https://cypresssemiconductorco.github.io/mtb-pdl-cat1/pdl_api_reference_manual/html/group__group__sy...

The wakeup pin is active low by default.

Regards,
Bragadeesh