cancel
Showing results for 
Search instead for 
Did you mean: 

IO pins in standby mode

togrady
Associate II
Posted on July 09, 2009 at 04:20

IO pins in standby mode

7 REPLIES 7
togrady
Associate II
Posted on May 17, 2011 at 12:19

I read in the manual that when in standby mode all IO pins become high impedance but does this mean that all IO pins need external pull up (or pull down) to avoid the pin floating. I'm worried about floating inputs (e.g. unused IO) causing excessive power dissipation. It would be a bit of a pain to have to add a pull up for every IO.

My application is battery powered from a 3.6 volt lithium primary cell. Is there any reason I can not run the STM32F103RB direct from the battery.

Regards

Trevor

16-32micros
Associate III
Posted on May 17, 2011 at 12:19

Dear togrady,

In standby mode all I/O are in High Impedance and there is Zero Static Consumption on all I/O, You do not need any External terminators.

Standby is the Best and the lowest power mode (only RTC if enabled + Battery Domain [Back-up Bytes])

In Run mode you can just leave all your unused I/O pins on your PCB not connected and thru software configure them as Push-pull with Data 0.

This maintains a static level with zero consumption and finally is the best reliable mode for EMI and EMS.

STM32 is able to operate from 2.0 to 3.6v with only two exceptions if you have ADC running you need at least 2.4 Volts and if you have USB you need at Least 2.7 Volts. So here operating directly from 3.6V battery ST guarantee all functionalities.

However Having 3.0 Volts Battery :-o, you can save some power and increase your Battery life, if it has the same mA/H as 3.6v One. Thank you.

STOne-32.

[ This message was edited by: STOne-32 on 07-12-2007 20:43 ]

16-32micros
Associate III
Posted on May 17, 2011 at 12:19

Hi obtronix,

Thx for the additional Comments ! This is very useful to be checked first, because for STM32 devices, Stresses above the absolute maximum ratings like VDD-VSS > 4.0Volts :o may cause permanent damage to the device, and Exposure to maximum rating conditions ( Refer to datasheets) for extended periods may affect device reliability. Thx

[ This message was edited by: STOne-32 on 07-12-2007 21:03 ]

obtronix
Associate II
Posted on May 17, 2011 at 12:19

You can't use a 3.6 volt lithium primary cell as it's voltage range is usually 4.3V max at start of life, a 3V lithium you can use, as it's max voltage is around 3.2 to 3.4 volts and drops down to 2V at end of life, the STM32 will work from 2 to 3.6 volts. Check your battery supplier's datasheet to make sure what the max start of life voltage is.

16-32micros
Associate III
Posted on May 17, 2011 at 12:19

Hi,

The App note is made generic, to let the choice open to users depending on final applications , the main purpose is not to let the ports as floating, but to fix them to a static level to avoid first an extra stress/noise, therefore less leakage consumption, second immune versus EMI/EMC stress when we get a loss of Program Counter. Adding an external resistors is good for EMI/EMC but it has an extra cost for the PCB.

Regarding the final question about unused OSC Pins, Please refer to our FAQ & Knowledge Base here

http://www.st.com/stonline/faq/faqview.php?ids=1243

:

1) In 100 and 144 packages, the OSC_IN/OSC_Out pins are a dedicated pins for HSE and mapped respectively on pins 12, 13 and pins 23, 24 for LQFP packages. Although, for BGA 100 and BGA 144 packages, they are mapped respectively on pins C1,D1 and pins D1,E1. In this case the recommended configuration is:

. OSC_In pin must be connected to ground as it is always an input pin

. OSC_Out must be left not connected as it is always an output pin.

2) In LQFP48 and LQFP64 packages, the OSC_IN/OSC_Out pins are mapped on pins 5,6 whereas in the VFQFPN36 package they are mapped on pins 2,3. However the PD0 and PD1 functionality can be remapped by software on these pins. There are two possible configurations:

a) Hardware configuration: Connect the OSC_IN/OSC_Out pins to ground

through a 10K pull down resistors.

b) Software configuration: First, the OSC_IN/OSC_Out pins are left not connected on PCB layout. Then, remap the PD0 and PD1 functionality by software on these pins and configure the PD0/PD1 to Output push-pull forced to 0 logic level(Data Register = 0). This will maintain those I/Os to a fixed level minimizing Noise and external stress on these pins.

The software configuration is recommended to reduce the power consumption and saves cost by avoiding the use of external pull down resistors as the I/O is already connected to the ground internally. Whereas the hardware configuration is recommended to increase the EMC performance.

Cheers,

STOne-32.

[ This message was edited by: STOne-32 on 08-07-2009 22:47 ]

lil-vince
Associate II
Posted on May 17, 2011 at 12:19

Quote:

On 07-12-2007 at 20:39, STOne-32 wrote:

In Run mode you can just leave all your unused I/O pins on your PCB not connected and thru software configure them as Push-pull with Data 0.

This maintains a static level with zero consumption and finally is the best reliable mode for EMI and EMS.

In the application note AN2586 it´s written:

Quote:

Unused I/Os and features

All microcontrollers are designed for a variety of applications and often a particular

application does not use 100% of the MCU resources.

To increase EMC performance, unused clocks, counters or I/Os, should not be left free, e.g.

I/Os should be set to “0� or “1�(pull-up or pull-down to the unused I/O pins.) and unused

features should be “frozen� or disabled.

So, are you sure it´s better to leave them not connected?

And what about OSC_IN and OSC_OUT when unused too?

Thank you

[ This message was edited by: lil-vince on 08-07-2009 17:21 ]

lil-vince
Associate II
Posted on May 17, 2011 at 12:19

Thanks a lot

Vince