UDB in Deep Sleep

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

cross mob
user_284076
Level 3
Level 3
10 replies posted 10 likes given 5 replies posted

Hi,

 

We want to get below digital circuit running in deep sleep using LFCLK.

Is it possible to do that? Document shows  it is not is there any workaround to get running this functionality in <8uA.

If not possible, Is there any ICs available to implement such logic with low power?

Any suggestions?  we want to match bit pattern and wake up MCU on that event.

user_284076_0-1623917176819.jpeg

Regards,

Hardik Harpal

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

Hardik,

Here's a snip of a document "PSoC 4 Low-Power Modes and Power Reduction Techniques"

link: https://www.cypress.com/file/121271/download 

Len_CONSULTRON_0-1623931673488.png

This and more information such as a power estimator tool can be found at: 

https://www.cypress.com/documentation/application-notes/an86233-psoc-4-low-power-modes-and-power-red... 

You can see that in Deep Sleep mode the UDB logic is in "Retention".  This means the logic states of the DFFs before entering sleep are retained.  However, the logic is dormant while in Deep Sleep.

There are external PLD devices that can operate while you're in Deep Sleep, however I imagine the quiescent current far exceeds 8uA for these devices.

I noticed the following about your design intent:

  • you're using LFCLK to clock the DFFs.   
  • The DFFs are configured as a shift register.
  • The downstream logic with the Control Register is intended to generate an isr to wakeup the CPU if the shift register pattern matches the value in the Control Register.

I hope I got this correct.

Let me post some observations/questions.

Is the input data at Pin_1 clocked by LFCLK also?  If not, the data can easily get out of sync in the Shift Register configuration.

You may what to have the isr synchronized to LFCLK also.  This is to prevent false glitches in downstream XOR and OR logic from falsely triggering an isr.

The isr component is special internal interrupt generation mechanism.  It may not be available in Deep Sleep mode.

Len_CONSULTRON_2-1623933150356.png

 

In general, your desired configuration should not be available in Deep Sleep.

However, take a look at the I2C component.  There is a note in the low power application note about "SCB (I2C address match) wakeup in Deep Sleep.   Maybe this could work for you.

You other choice is to wakeup on a transition on Pin_1 and allow the shift register to be filled.  When filled and a match exists, keep the CPU awake.  If no match, let the CPU go back to Deep Sleep.

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

View solution in original post

0 Likes
2 Replies
Len_CONSULTRON
Level 9
Level 9
Beta tester 500 solutions authored 1000 replies posted

Hardik,

Here's a snip of a document "PSoC 4 Low-Power Modes and Power Reduction Techniques"

link: https://www.cypress.com/file/121271/download 

Len_CONSULTRON_0-1623931673488.png

This and more information such as a power estimator tool can be found at: 

https://www.cypress.com/documentation/application-notes/an86233-psoc-4-low-power-modes-and-power-red... 

You can see that in Deep Sleep mode the UDB logic is in "Retention".  This means the logic states of the DFFs before entering sleep are retained.  However, the logic is dormant while in Deep Sleep.

There are external PLD devices that can operate while you're in Deep Sleep, however I imagine the quiescent current far exceeds 8uA for these devices.

I noticed the following about your design intent:

  • you're using LFCLK to clock the DFFs.   
  • The DFFs are configured as a shift register.
  • The downstream logic with the Control Register is intended to generate an isr to wakeup the CPU if the shift register pattern matches the value in the Control Register.

I hope I got this correct.

Let me post some observations/questions.

Is the input data at Pin_1 clocked by LFCLK also?  If not, the data can easily get out of sync in the Shift Register configuration.

You may what to have the isr synchronized to LFCLK also.  This is to prevent false glitches in downstream XOR and OR logic from falsely triggering an isr.

The isr component is special internal interrupt generation mechanism.  It may not be available in Deep Sleep mode.

Len_CONSULTRON_2-1623933150356.png

 

In general, your desired configuration should not be available in Deep Sleep.

However, take a look at the I2C component.  There is a note in the low power application note about "SCB (I2C address match) wakeup in Deep Sleep.   Maybe this could work for you.

You other choice is to wakeup on a transition on Pin_1 and allow the shift register to be filled.  When filled and a match exists, keep the CPU awake.  If no match, let the CPU go back to Deep Sleep.

Len
"Engineering is an Art. The Art of Compromise."
0 Likes
RodolfoGL
Employee
Employee
250 solutions authored 250 sign-ins 5 comments on KBA

You can use Smart I/O to implement such logic. The Smart I/O can be clocked at LFCK and run in deep-sleep.

But not all PSoC 4s have it.

https://www.cypress.com/documentation/component-datasheets/psoc-creator-component-datasheet-smart-io

0 Likes