Hi!
On Sat, Aug 22, 2015 at 2:21 PM, Luke Kenneth Casson Leighton lkcl@lkcl.net wrote:
hi folks could someone please help analyse this circuit to see if it is correct?
http://hands.com/~lkcl/ttl_logic_circuit.png
the requirement:
- an STM32F's "BOOT0" is, by default "pulled to GND" in order that
"normal" operation happens
- the boot operation needs to be selectable by a GPIO from a main CPU
(TTL, with a different voltage)
- if however the main CPU's GPIO is *DISCONNECTED*, "normal" operation
of the STM32F is required.
so, the main things here are:
the STM32F is run from a 3.3v supply
the CPU can be a totally different TTL voltage level from the
STM32F. it could be 5.0V, it could be 3.3v, it could be 3.0v, it could be even 1.8v.
- the default behaviour needs to be "pull to GND", even if the input
is floating.
A little late to the discussion, but I would use something like: https://github.com/sparkfun/Logic_Level_Bidirectional
The schematic is here: https://cdn.sparkfun.com/datasheets/BreakoutBoards/Logic_Level_Bidirectional...
To assure that the output is low when the LV input is disconnected, you could add a resistance from the input to ground, I would use a 2k resistor, so that at 1.8V the gate has 1.5V, setting a low state in the output.
This circuit is cheap, and you would use only 3 resistors and one FET.
Daniel.