Luke Kenneth Casson Leighton
2015-08-22 17:21:46 UTC
hi folks could someone please help analyse this circuit to see if it is correct?
Loading Image...
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.
_______________________________________________
arm-netbook mailing list arm-***@lists.phcomp.co.uk
http://lists.phcomp.co.uk/mailman/listinfo/arm-netbook
Send
Loading Image...
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.
_______________________________________________
arm-netbook mailing list arm-***@lists.phcomp.co.uk
http://lists.phcomp.co.uk/mailman/listinfo/arm-netbook
Send