2012-08-22 08:29 AM
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 Trevor2012-12-31 04:30 PM
This is common knowledge. You have power down all subsystems for lowest current drain.
2013-01-01 07:16 AM
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.2013-01-01 07:30 AM
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...2013-12-31 09:22 AM
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.2013-12-31 10:23 AM
How kind of you - our group was about to walk down exact same path (we also print manuals).
Thank you - very much appreciated!2013-12-31 12:53 PM
Hi Trevor,
Can you please provide on which product/part number of our STM32 MCUs series, you experiment this behavior ? Cheers, STOne-32.