4 Replies Latest reply on Jan 16, 2017 6:57 AM by epr_1639216

    Minimum Power Draw Modes

      I've been testing the power modes on the CYBLE-022001-00 EVAL kit, and I've run into a brick wall on a couple of things:


      When I attempt to use the CySysPmStop() function call to turn everything off and set the unit into "stopped" mode, the unit switches from drawing almost no power to drawing 6 mA of power. There's no way this is the stop mode listed in the spec as using "90 nA" of current?


      What could be causing this?


      Also, I'm having issues with the DeepSleep() and Hibernate() modes as well, as those are using between 7.5 and 8 uA, but the spec lists them as 1.3 uA and 150 nA respectively. Currently, I'm turning off the ILO,WCO, and ECO clocks, and calling both Sleep() and Stop() on all components that are on with no effect on the power consumption.


      Is this normal for the unit to use 8 uA when in hibernate and deepsleep?


      edit: This current draw is being caused by Resistive pull-up resistors (3 of them). Unfortunately, I need to use them to detect a button press while in hibernate mode; Is there a way to reduce the current draw from these pins while they wait for a button press signal to wakeup from hibernate?

        • 1. Re: Minimum Power Draw Modes

          Are the pull up resistors external or internal?





          • 2. Re: Minimum Power Draw Modes

            They are the internal pull-up resistors configured using the schematic GUI. 8 uA seems like a lot for the pull-ups, but I havn't had time to track down the internal resistor values as of yet.

            • 3. Re: Minimum Power Draw Modes

              I assume you did set the debug to "GPIO" to reduce power. Have you seen AN86233 already?


              A good idea is to change the pin drive modes before going to sleep. Internal resistor is ~560k afaik.





              • 4. Re: Minimum Power Draw Modes

                I did change the setting from "debug SWD" to "GPIO" and that reduced some of the power. The main problem I'm struggling with is that I want the device to be able to wake up from hibernate on the GPIO pins being pulled to ground by an active-low switch, but since the external circuitry doesn't have a pull-up wired to the pins I'm worried that changing the drive mode of the pins to Analog-Hi-Z will cause it to float (Which would lead to random resets/interrupts on the GPIO and would negatively affect battery performance and application usage).


                I did see the AN86233 pdf, thanks for linking though :)


                I'm gonna try switching the drive modes on the pins before hibernate and see if I can get that to work properly, otherwise I will need to redesign with an external pull-up or just accept the 8 uA loss...