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.
R28 ensures that the transistor is, by default, ON, so that R2 is connected to GND and thus BOOT0 operates in "normal" mode.
however current will flow from EXT_BOOT0 if it is "high", which would start fighting with VCC_SYS_3V3 if EXT_BOOT0 is over 3.3v, so D1 stops that from happening.
i think i'm stuck though when it comes to pulling EXT_BOOT0 down to "GND" because actually it will be TTL 0.7v (or so), which, when the diode is taken into account (another 0.7v), i don't think it's enough to switch off the transistor.
... so.... help! what do i do?
tia,
l.