cancel
Showing results for 
Search instead for 
Did you mean: 

reverse supply through output

Tamas Novak
Associate III
Posted on December 08, 2015 at 23:19

My STM32F030 is SPI slave to another external MCU.  External host may turn the VCC of my STM32  off.  When this happens SPI_CLK and MOSI pins are still at +3.3V, and these signals back-supply my MCU through outputs' limiting diodes:   STM32's VCC rail goes up to abt +2V and weird things happen. Probably STM32 starts to boot, GPIO pins get initialised, what requires more power, so VCC drops below PDR level.

PDR pulls down RST, and  this oscillates..

Can you see a way to disable this occasional back-powering of STM32 by external pins at

+3.3V ?
1 REPLY 1
John F.
Senior
Posted on December 09, 2015 at 09:41

Depending on the speed you need, you could use a two buffers with open drain outputs between your powered system and the STM32 for the CLK and MOSI signals with pull-up resistors powered from the STM32 side supply.

Alternatively there are gates with 3-state outputs which turn OFF when disabled. Look up the SN74LVC1G125 Single Bus Buffer Gate With 3-State Output for example. In that case you'd use the STM32 supply to turn on a transistor to pull the Output Enable# low. (Or find a buffer with an active high Output Enable.)

Exactly what you do depends on what parts are available to you and what packages you can manage.

The simplest solution is to use pull up resistors on the STM32 side and use diodes to connect between the STM32 inputs and the CLK and MOSI drive signals. In that case the Anode of the diode connects to the STM32 input so it can be pulled low by the driving source but the diodes will prevent the CLK or MOSI drives from powering the STM32.