cancel
Showing results for 
Search instead for 
Did you mean: 

PSoC 4 MCU

New Contributor II

I am currently working on a small BLE-epaper interface with the CYBLE-212020 module.

SPI-Communication and different sleep-modes work fine, But now I am struggling with the extended power saving modes.

You can find the core application in the attached zip-bundle.

I measured the current with a UNI-T Multimeter in the CY8CKIT--042-BLE-Pioneer kit with the CYBLE-212020-Eval board.

Main clock is 24MHz and current consumption in active mode is around 11mA. During the first 10s, the high speed advertising interrupt causes a current consumption of around 3mA. The next 20s it drops down to below 2mA for the slow advertising.

But after that it rises to 12mA again for some seconds and then only drops to 4-5mA, when the device should be in stop mode.

I expect that the current consumption in deep sleep is not accurate, because of the high frequency between sleep and active, but for the stop mode it should be precise.

When I use a custom PCB for the CYBLE-212020 module, The values are a little bit lower, but still in stop mode the current is nearly up to 2mA, with no additional pheripheral hardware around. No LEDs, no epaper, nothing.

Did I forget anything before entering Stop mode?

Or what is the reason for that high current consumption?

Thanks

Andreas

0 Likes
Reply
1 Solution
Moderator
Moderator

Hello,

Before entering Stop mode, it is necessary to configure the input wakeup polarity of the dedicated WAKEUP pin using the CySysPmSetWakeupPolarity() API. I don't think you are doing it in the project. Also, to ensure that the device enters Stop mode, make sure that the state of the WAKEUP pin is opposite to the wakeup polarity set by the API.

Please refer to this KBA which details how to place the BLE module in Stop mode - Place PSoC 4 BLE, PRoC BLE, and EZ-BLE Modules in Stop Mode - KBA218957

-Sayani.

View solution in original post

0 Likes
Reply
2 Replies
Moderator
Moderator

Hello,

Before entering Stop mode, it is necessary to configure the input wakeup polarity of the dedicated WAKEUP pin using the CySysPmSetWakeupPolarity() API. I don't think you are doing it in the project. Also, to ensure that the device enters Stop mode, make sure that the state of the WAKEUP pin is opposite to the wakeup polarity set by the API.

Please refer to this KBA which details how to place the BLE module in Stop mode - Place PSoC 4 BLE, PRoC BLE, and EZ-BLE Modules in Stop Mode - KBA218957

-Sayani.

View solution in original post

0 Likes
Reply
New Contributor II

Hi Sayani,

Thanks for this hint! It was the missing piece of this puzzle!

Now the current stays as low as 40uA!

I didn't really need a wakeup pin, because I will interrupt the power source for the next start, but with this additional line:

CySysPmSetWakeupPolarity( CY_PM_STOP_WAKEUP_ACTIVE_HIGH );

and the pin 2.2 configured as WAKEUP and defaults to low it works.

Thank you very much!

Andreas

0 Likes
Reply