CYBLE-014008-00 Deep Sleep Current

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

cross mob
ViTi_1549261
Level 3
Level 3
First like received

Hello,

   

I cannot get CYBLE-014008-00 Deep Sleep Current to correct level. Datasheet specifies 1.3 uA current for Deep Sleep Mode.

   

Here is one setup that I have tested:

   

-CYBLE-14008-EVAL connected to CY8CKIT-42 BLE Pioneer Board.

   

-Following application programmed

   
    

#include <project.h>
int main(void)
{
    CySysPmDeepSleep();
    //CySysPmHibernate();
    
}

   
   

-CYBLE-14008-EVAL removed from CY8CKIT-42 BLE Pioneer Board.

   

-Power supplied to CYBLE-14008-EVAL board (J1 pins 23 and 24)

   

-Current is measured from power supply

   

 

   

As a result I am getting currents of 1.1 - 1.3 mA

   

If I comment out CySysPmDeepSleep() and enable CySysPmHibernate() Current goes to specified levels of Hibernate mode.

   

 

   

I have set debug pins to GPIO-mode from PSOC-Creator. 

   

 

   

Could somebody help me to get Sleep current to specified level?

0 Likes
1 Solution
Anonymous
Not applicable

As David pointed out, with BLE in the project, the ECO is enabled in the cy_boot called at bootup. So if you don't need it, you need to call the CySysClkEcoStop() API before going to Deep Sleep.

   

If BLE is active in your project, then ECO clock switch is handled by the BLE Deep Sleep function (CyBle_EnterLPM). The application should consider the BLE Stack LPM state before putting the CPU or the overall device into low power mode. See one of the many example projects from the BLE Pioneer kit and 100 days 100 project repository for details.

View solution in original post

0 Likes
4 Replies
DaPi_1514011
Level 3
Level 3
First like received

Funny you should post that, but I'm trying to track down an exact issue on a ProC BLE module.  Exactly the same current - 1.3mA.

   

I've cut everything back and found that in my test project it's the ECO clock.  Switching on uses 1.3mA, switching off uses nothing (30uA).

   

Trouble is BLE uses ECO and so also uses about that.

0 Likes
Anonymous
Not applicable

As David pointed out, with BLE in the project, the ECO is enabled in the cy_boot called at bootup. So if you don't need it, you need to call the CySysClkEcoStop() API before going to Deep Sleep.

   

If BLE is active in your project, then ECO clock switch is handled by the BLE Deep Sleep function (CyBle_EnterLPM). The application should consider the BLE Stack LPM state before putting the CPU or the overall device into low power mode. See one of the many example projects from the BLE Pioneer kit and 100 days 100 project repository for details.

0 Likes
ViTi_1549261
Level 3
Level 3
First like received

Thanks,

   

 

   

I got it working with your advices By the way, where I can find documentation of system-calls like

   

-CySysClkEcoStop() and

   

-CySysPmDeepSleep()

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

In the "System Reference Guide" from Creator Help menu.

   

 

   

Bob

0 Likes