PSoC5LP : Wake up from hibernate mode by PICU

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

cross mob
lock attach
Attachments are accessible only for community members.
MiNe_85951
Level 7
Level 7
Distributor - TED (Japan)
50 likes received 500 replies posted 50 solutions authored

Dear Sirs and Madams,

We would like to confirm about wake up by PICU from the hibernate mode.

The following code on line 1231 of cyPM.c,

I understand that wakeup will start this process.

    CY_PM_WFI;  // line 12331

What are the conditions for moving to this process?

(a) Pin component irq goes to High

(b) ISR is enabled (Derived)

(c) Both (a) and (b)

I have confirmed that the condition is (c),

In other words, is it correct to understand that PICU is not only the pin component irq but also ISR by iqr?

I decided the reason by the following test using CY8CKIT-059.

The following configuration of the attached project works fine.

pastedImage_0.png

Even if you change it as shown below, it will return to normal.

pastedImage_1.png

However, if the ISR component is excluded as shown below and the ISR process in main.c is commented out, it will not wake up.

pastedImage_2.png

Regards,

0 Likes
1 Solution
Len_CONSULTRON
Level 9
Level 9
Beta tester 500 solutions authored 1000 replies posted

MaMi,

I tested your project.   I can reproduce your results.

The best I can figure is that assigning the irq SW is not enough.   You need the isr connection to all the Application Build phase to route the SW interrupt to the wakeup_out of the PICU.   Otherwise the code doesn't come back from the CY_PM_WFI of the hibernate action.

There is this section of the Pin component datasheet.

pastedImage_2.png

Having an irq component is small price to pay for a much needed feature such as Hibernate mode.

Len

Len
"Engineering is an Art. The Art of Compromise."

View solution in original post

0 Likes
5 Replies