Setzen Sie GPIO auf Low, während es von einer externen Quelle auf High gezogen wird

Ich habe einen 3,3-V-GPIO, den ich für einen Ausgang konfiguriere und dessen Wert während des Starts auf niedrig eingestellt ist. Aber was passiert, wenn der Pin auch von einer anderen Quelle (dh einem anderen GPIO) auf hoch gesetzt wird?

Also im Grunde

GPIO1 Ausgang und auf Low gesetzt <-------> GPIO2 Ausgang und auf High gesetzt

während des Startvorgangs

Ich weiß, dass dies wahrscheinlich nur einfache Elektronik ist, aber ich habe wirklich keine Ahnung.

Ich vermute, dass die Spannung zwischen ihnen hoch sein wird, solange sie verbunden sind, und wenn sie es nicht sind, wird GPIO1 wieder niedrig sein. Aber bitte kläre mich auf, damit ich das aus meinem Kopf bekomme

Oft kämpfen die Stifte gegeneinander, bis einer von ihnen dauerhaft stirbt. Fügen Sie diesen Pins einen Vorwiderstand hinzu, um zu vermeiden, dass Port-Pins beschädigt werden, wenn die Möglichkeit besteht, dass zwei Ausgangspins miteinander verbunden sind. So etwas wie ein 330-Ohm-Vorwiderstand kann funktionieren, aber Sie sollten sich die elektrischen Spezifikationen der Port-Pins ansehen, um sicherzugehen.
Beachten Sie, dass Sie manchmal bemerken, dass zwei Ausgangspins miteinander verbunden sind. Üblicherweise werden die Pins als "Open-Collector" konfiguriert. In diesem Modus gehen die Pins auf eine niedrige Spannung (0), wenn sie auf niedrig eingestellt sind, und auf einen hochohmigen Zustand, wenn sie auf hoch eingestellt sind. Dadurch können die beiden Ausgangspins miteinander verbunden werden, und mit einem einzigen hinzugefügten externen Pull-up-Widerstand wird dies im Wesentlichen zu einem NOR-Gate-Ausgang. Selbst bei Open-Collector-Ausgängen muss man beim Einschalten auf die Pin-Bedingungen achten und mit dem Worst-Case-Szenario umgehen.

Antworten (1)

Wenn Sie den GPIO des Mikrocontrollers so konfigurieren, dass er niedrig ist, wird seine interne Schaltung so eingestellt, dass sie Strom auf VSS (oder GND, je nachdem, wie die Pins auf dem Teil beschriftet sind) senkt. Das andere Ende des Signals, das Sie sagten, ist wie ein anderer GPIO (vielleicht dieselbe MCU oder vielleicht ein anderer), der auf einen hohen Pegel eingestellt ist, und wird über seine interne Schaltung so konfiguriert, dass er Strom aus der positiven VDD-Versorgung bezieht. Wenn sie also miteinander verbunden sind, fließt Strom vom hohen GPIO zum niedrigen GPIO.

Dieser Zustand wird als Konkurrenz bezeichnet und ist im Allgemeinen nicht sehr gut für die GPIO-Pins. Der Strom, der fließen kann, kann die normalen Quellen- und Senkenstromnennwerte für die Pins bei weitem überschreiten und somit zu dauerhaften Schäden an den Teilen führen, mit denen die GPIOs verbunden sind.

Wenn der Draht, der die beiden Stifte verbindet, im Wettbewerb steht, geht er auf einen Spannungspegel zwischen VDD und VSS. Die beiden GPIO-Schaltungen haben jeweils einen Eigenwiderstand, der den Konkurrenzstrom auf ein gewisses Maß begrenzt. Diese beiden intrinsischen Widerstände wirken wie ein Spannungsteiler, der wiederum den Konkurrenzspannungspegel bestimmt.

Wie Sie bereits vermuten können, ist es keine gute Idee, in einer Konfliktsituation zwei GPIOs konfiguriert zu lassen. Wenn dies eine versehentliche Verbindung ist, sollten Sie den Kurzschluss zwischen den Stiften so schnell wie möglich entfernen, um dauerhafte Schäden an den Geräten zu vermeiden. Andernfalls sollten Sie immer Entwurfsmaßnahmen ergreifen, um das Auftreten von Konfliktbedingungen zu verhindern. Wenn dies unvermeidlich ist, muss Ihr Schaltungsdesign Vorkehrungen zur Begrenzung des Stromflusses auf ein Niveau enthalten, das innerhalb der Designspezifikationen für beide GPIOs liegt. Dieser letzte Punkt ist wichtig, da die Quell- und Senkenspezifikationen der beiden GPIOs unterschiedlich sein können.