2009-07-08 07:20 PM
IO pins in standby mode
2011-05-17 03:19 AM
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 Trevor2011-05-17 03:19 AM
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 ]2011-05-17 03:19 AM
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 ]2011-05-17 03:19 AM
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.
2011-05-17 03:19 AM
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 : 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 ]2011-05-17 03:19 AM
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 ]2011-05-17 03:19 AM
Thanks a lot
Vince