Warum ist der Pull-up-Widerstand im OUTPUT-Modus deaktiviert?

Ich habe in vielen Mikrodatenblättern festgestellt, dass der interne Pull-up-Widerstand automatisch deaktiviert wird, wenn sich der GPIO im OUTPUT-Modus befindet, aber ich bin mir nicht sicher, ob ich verstehe, warum. Wird im OUTPUT-Modus niemals ein Pull-up-Widerstand benötigt? Schätzen Sie die Erklärung

"Wird im OUTPUT-Modus niemals ein Pull-up-Widerstand benötigt?" Ja, es wird nie benötigt.

Antworten (2)

Wenn sich der Ausgang im Ausgangsmodus befindet, treibt er entweder hoch oder niedrig.

Wenn es hoch fährt, trägt ein Pull-up wenig dazu bei, den verfügbaren Strom zu erhöhen, wodurch der Ausgang hoch gedrückt wird.

Wenn es niedrig ist, erhöht ein Pull-up nur den Stromverbrauch und lässt den Ausgang mehr Strom sinken, um den Ausgang niedrig zu halten.

Im Ausgangsmodus sind Mikrocontroller (normalerweise) im Push-Pull-Modus konfiguriert, sodass sie ihn aktiv ansteuern. Nur bei offenem Abfluss wollen/brauchen Sie einen Klimmzug.

Sie können dies im CMOS im Grunde als PMOS- und NMOS-Transistoren sehen, die jeweils den Ausgang HIGH oder LOW treiben. Ein Pullup führt dazu, dass der NMOS-Transistor unten kämpfen muss, um die Spannung auf 0 zu treiben, wodurch Energie verschwendet wird.

Sie können sich das Bild unten ansehen, das eine digitale CMOS-Ausgangsstufe zeigt (eigentlich ein Inverter, der als Puffer fungiert).

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

@ThePhoton Du hast recht. Ich habe mir die Frage nicht gut genug angesehen und etwas anderes angenommen.
"Nur bei offenem Drain willst/brauchst du einen Klimmzug." Ist dieses Gerät spezifisch? Tut mir leid, wenn das eine dumme Frage ist, aber haben bestimmte Mikrocontroller Open-Drain-Ausgänge, bei denen Sie auf jeden Fall einen Pull-up in OUTPUT benötigen würden?
@ user28915: Nicht per se, aber die Verwendung eines internen Pullups beseitigt/reduziert die Notwendigkeit eines externen Pullups auf zB SPI- oder I2C-Verbindungen.
Also frage ich, weil mir eine Situation gegeben wurde, in der ein bestimmter interner Pull-up-Widerstand des Mikrocontrollers deaktiviert ist, aber ich verwende den GPIO, um einen BJT anzusteuern, und ich kann im Datenblatt nicht finden, ob der GPIO ein offener Abfluss ist. Ich hoffe das ergibt Sinn..
@ user28915: GPIOs sind Push-Pull, sofern nicht anders angegeben.
@ user28915: Im 8051 ist Port 0 Open Drain. Sie müssten das Datenblatt für den von Ihnen verwendeten Mikrocontroller studieren, um festzustellen, ob er Open-Driain-Ausgangsports hat.