Skip to main content
trevor23
Associate III
August 22, 2012
Question

high STOP mode current

  • August 22, 2012
  • 6 replies
  • 1609 views
Posted on August 22, 2012 at 17:29

In STANDBY mode my board current drops to 300uA which is as expected. However if I use STOP mode it is 880uA. I had expected STOP mode to be only 20 - 30 uA more than STANBY. In STOP mode I turn all pins to analog in floating (as they would be in STANDBY mode) but still the current is more than 500 uA more then expected. 

I've used stop mode on other projects without this problem so I'm a bit confused. Any ideas what to try next?

Regards

Trevor
    This topic has been closed for replies.

    6 replies

    ken239955
    Associate II
    January 1, 2013
    Posted on January 01, 2013 at 01:30

    This is common knowledge. You have power down all subsystems for lowest current drain.

    trevor23
    trevor23Author
    Associate III
    January 1, 2013
    Posted on January 01, 2013 at 16:16

    This is the note from the low power application note AN2629 (page 11):

    The ADC or DAC can also consume power during the Stop mode, unless they are disabled before entering it. To disable them, the ADON bit in the ADC_CR2 register and the ENx bit in the DAC_CR register must both be written to 0.

    http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/CD00171691.pdf

    @sprague.jj

    No problem. Glad it helped.

    @STOne-32

    This was on a STM32F103ZEH but I presume the same would apply to at least all 103 range.

    @Ken

    This is specific to ADC (and DAC). This is not required for other peripherals as the peripheral clocks stop in STOP mode.

    jj2
    Associate
    January 1, 2013
    Posted on January 01, 2013 at 16:30

    Ken, ''This is common knowledge.'' 

    Common to whom - mon ami?  Do not different vendors of ARM MCUs utilize their own ''methods/procedures'' to manage MCU peripherals?  Devil very often lies in detail - I am in distrust of such, unreferenced, ''common knowledge.''   (note - you provided no attribution)

    Should Trevor's recent assertion re: ''clock kill'' be correct - your idea of disabling ''each/every'' is to excess - and may cause issues - as ''each/every'' sub-system must now start from cold...

    trevor23
    trevor23Author
    Associate III
    December 31, 2013
    Posted on December 31, 2012 at 18:22

    Took some finding but the solution here is that you must disbale the ADC (or DAC) in STOP mode even though the peripherial clock will be stopped. A one liner on this was added to the low power application note online but was not in my older printed version (lesson learned on printing manuals). Add this before entering STOP mode.

    ADC_Cmd(ADC1, DISABLE);

    Hope this saves someone else from suffering this issue.

    jj2
    Associate
    December 31, 2013
    Posted on December 31, 2012 at 19:23

    How kind of you - our group was about to walk down exact same path (we also print manuals).

    Thank you - very much appreciated!

    Nickname12657_O
    Associate III
    December 31, 2013
    Posted on December 31, 2012 at 21:53

    Hi Trevor,

    Can you please provide on which product/part number of our STM32 MCUs series, you experiment this behavior  ?

    Cheers,

    STOne-32.