1 Reply Latest reply on Jul 16, 2018 12:35 AM by Gyan Chand

    DeepSleep Mode




      I’m a German student in electronic engineering and using the CYBLE-014008-Eval with the Pioneer Kit in my bachelor dissertation. It’s about replacing infrared in remote controls with BLE. A modified UART protocol is used as interface -> a startcondition is followed by a frame of UART Bytes. The startcondition will be cut in software before the input-signal is routed to a UART component.


      The attached project is based on “Day020_BLE_UART” in “100_Projects_in_100_Days” .


      It’s working very well so far inclusive the normal sleep-mode but I have to reduce the power consumption while advertising a bit more. I tried to use “deepsleep” but every experiment failed. The current was still at ~5mA. 0,5mA is from an external circuit.


      I tried to apply different examples read “AN92584 - Designing for Low Power…” and looked in this community, but I haven’t found what I am doing wrong. If I replace " CySysPmSleep();” with “CySysPmDeepSleep();” in the main-function the controller is freezing. Reducing the clock frequency is not possible because than the program isn’t working correctly after that.

      All the other codes used in the examples haven't worked too.


      Thank you!

        • 1. Re: DeepSleep Mode
          Gyan Chand

          Hello jan.raiff_3478636 ,


               As you might have already gone through the AN 92584 and have seen in table #2 that in System DeepSeep only available Digital Peripherals are WDT, BLESS ,SCB(I2C/SPI only) and not Timers and UART and hence if you  put the system in DeepSleep ,you would not be able to generate the correct 'StartCondition' of your frame. Once the system goes into DeepSleep Low Power state only available sources for waking up the system in your project are BLESS( BLESS interrupt at every Advertisement and Connection interval ) and LP Comparator.

          All your protocol timings are dependent on UDB Timer ISR.