2018-02-26 05:39 AM
Hi all,
I have a STM32L073 on a custom application.
I'm having some strange behavior with open pins.
Particularly, PH1 and PC3 are floating, nothing is connected to them. When both are set as Digital In the current consumption is as follow:
PH1PC3Current
PullupPullup
+0.0uA
Pullup
No pull+0.0uA
No pull
Pullup
+0.0uA
No pull
No pull
+50.0uA
From the table, the first three results are reasonable, because even with pullups, the pins are floating so there's no extra consumption. However, it's weird that I get an extra 50uA when both pullups are deactivated.
I'm curious to understand what is the relation between the pins, only when both are at no pull I get extra consumption and they're floating. Also, if pins are analog, any combination yields +0.0uA.
I couldn't find proper pin diagrams to see how could this happen. Any input is welcomed.
Thanks!
2018-02-26 02:51 PM
Floating pins with no pullup/pulldown present a high impedance and may pick up easily external electromagnetic noise. This is amplified by the input buffer up to saturation, which means that internal circuits connected to the input buffer (e.g. input of the IDR register, inputs of the GPIO matrix multiplexors, the EXTI circuitry) are toggled, possibly rapidly. This causes the extra supply current, as all these circuits represent some parasitic capacitance which is rapidly charged/discharged, and also there is some 'crossover' current during the CMOS structures switching.
Pins set to analog have disabled the input digital buffer so the above effect won't happen.
JW