Kann LED als Pulldown für BOOT0 fungieren?

Entschuldigung, wenn dies eine dumme Frage ist. Ich muss wirklich überarbeitet sein, um selbst keine Antwort zu sehen.

Kurz gesagt, ich möchte den GPIO-Pin freigeben, indem ich die LED auf BOOT0 von STM32L4Q5 verschiebe .

Laut Datenblatt schaltet BOOT0 nach Reset automatisch in den analogen Modus und kann dann als PH3 GPIO verwendet werden. Der einfache Weg, es zu verwenden, besteht darin, einen 10k-Pulldown und einen FET zum Ansteuern der LED hinzuzufügen. Aber was ist, wenn ich den Pin über LED und seinen 300R-Widerstand mit GND verbinde? Wird es während des Zurücksetzens als eine Art Pulldown funktionieren (um vom Haupt-Flash zu booten)?

Unterhalb der Durchlassspannung der LED ist die Impedanz der LED undefiniert und nähert sich schnell einem offenen Stromkreis. Dies ist für einen Pulldown nicht erwünscht: Verwenden Sie immer einen Widerstand parallel.
@ user_1818839 Das ist genau der Grund, warum ich die Frage gestellt habe. Aber dann wäre die nächste Frage: Ist am Eingangspin eine Spannung vorhanden, die ausreicht, um die Diode in den leitenden Zustand zu versetzen?
@Maple Während der Kommentar, dass die LED bei niedrigen Spannungen OC ist, korrekt ist, kann garantiert werden, dass die Spannung bei einem niedrigen Strom nicht über Vf liegt. WENN dies unter Vlow_max liegt, funktioniert es, aber die Fähigkeit des Stifts, zwischen Masse und Vf zu schweben, kann einige Effekte zweiter Ordnung haben.
@RussellMcMahon, also sei im Grunde kein Schlaukopf und füge einen traditionellen Pulldown hinzu, wie es normale Leute tun. Scheint in den meisten Kommentaren Konsens zu sein.

Antworten (2)

Nein, es ist nicht garantiert, dass es funktioniert, da LEDs lichtempfindlich sind und eine gewisse parasitäre Kapazität haben. Um unter allen Bedingungen 100 % zuverlässig zu sein, ist ein separater Pull-Down-Widerstand erforderlich.

Das liegt daran, dass eine LED auch als Photovoltaikzelle fungiert und aufgrund von Licht, das auf die LED trifft, Spannung ausgibt.

Ich habe gerade gemessen, dass eine zufällige SMD-LED mit Vorwiderstand bei hellem Licht 1,24 V misst. Die Eingangsimpedanz des Multimeters beträgt über 10 MOhm, aber die Spannung ist ohne Lastimpedanz und nur mit der MCU höher.

Selbst mit dem Multimeter liegt die LED-Ausgangsspannung also bereits über den typischen CMOS-Eingangsspannungsanforderungen für einen logisch niedrigen Pegel.

In der Praxis könnte die MCU dies immer noch als logisch niedrig verstehen, und die Spannung wird unter normalen Lichtbedingungen niedriger sein. Ich habe eine Taschenlampe zu Demonstrationszwecken verwendet.

Viele andere Schaltungen mit LEDs, die an Pins angeschlossen sind, die möglicherweise drei Zustände haben, oder gelegentlich Eingänge (wie GPIO-Expander), schlagen ebenfalls einen Widerstand über der LED vor, um den Fotostrom zu überbrücken, um unbestimmte schwebende Spannungen zu vermeiden.

Auch der LED-Halbleiterübergang hat eine etwas kleinere Kapazität in der Größenordnung von 10 bis 100 Picofarad.

Wenn Sie die LED einschalten und die MCU zurücksetzen, dauert es einige Zeit, bis die Ladung abgebaut ist, und bis dies der Fall ist, wird der GPIO-Pin als hoher Eingang gelesen. Ein externer Widerstand sorgt auch dafür, dass diese Ladung entladen wird. In einigen Schaltkreisen kann die LED-Kapazität verwendet werden, um Lichtpegel zu messen, indem gemessen wird, wie lange es dauert, bis der Fotostrom die Kapazität auflädt – wodurch die LED effektiv zu einem bidirektionalen Kommunikationsgerät wird.

Was ist, wenn wir die LED-Polarität "umdrehen"? Wird das nicht eine leicht negative Spannung am Pin erzeugen (unter 0 V ziehen) und da die Leistung so gering sein wird, werden die Schutzdioden das gleichrichten?
@akwky würde es, aber dann würde es kein Licht emittieren, wenn der GPIO hoch eingestellt war.
Eine LED mit einem einzelnen Paket, die Rücken an Rücken angeordnet ist, kann funktionieren. Aber nicht zu den niedrigsten Kosten.
Ich würde sagen, der offensichtliche Weg, dies zu umgehen, besteht darin, den 10k-Pulldown parallel zur LED hinzuzufügen, dies sollte die Fotospannung niedrig genug halten.
Ich habe einmal gesehen, wie ein EEPROM seine Werte bei 120 Hz geändert hat, weil ein fluoreszierendes Licht über ihm war. Die Verwendung einer LED oder einer anderen lichtempfindlichen Komponente auf diese Weise könnte die Fehlersuche und den Außendienst interessant machen.
Interessant. Durch diese Logik würde keine LED mit Vf > 2,5 V im Freien von einer 3,3-V-Quelle funktionieren. Und doch habe ich noch nie davon gehört. Ich kann mir nicht helfen, das Gefühl zu haben, dass mehr dahintersteckt als eine einfache Spannungssubtraktion.

Sicher; Sie müssen nur sicherstellen, dass die Spannung unter der niedrigen / hohen Schwelle liegt, wenn man bedenkt, wie viel Strom (unvermeidlich) aus dem Boot-Eingang fließen wird.

Schauen Sie sich Tabelle 62 des Datenblatts an: Der Leckstrom des Boot-Pins sollte im Bereich von höchstens 100 nA liegen, also 3 · 10² Ω · 10⁻⁷ V = 0 V über dem Widerstand und 0 V über dem Übergang der LED Es ist ziemlich sicher, dass die Spannung am Boot-Pin unter der Low-Max-Spannung von 0,3 · VDD liegt.

Das ist ermutigend. Eine andere Option für mich war die Verwendung des NUD3160- Treibers mit seinem integrierten 100k-Pulldown am Eingang. Haarspalterei hier, der Versuch, Kosten und Leiterplattengröße gleichzeitig zu minimieren.