GPIO-Push/Pull und Pull-up-Widerstand?

Ich habe eine Frage zum Verhalten der GPIO-Pins einer MCU, wenn sie in Hardware und Software auf eine bestimmte Weise konfiguriert sind. In diesem Fall verwende ich einen dsPIC33EP, aber ich glaube, diese Frage gilt allgemein für MCUs mit Push / Pull-Ausgängen. An bestimmten Stellen in der Schaltung, die ich entwickle, benötige ich einen Pull-up-Widerstand auf der Leitung, um sicherzustellen, dass der angeschlossene Chip einen Hardware-Standardzustand (in diesem Fall HIGH) hat, auch wenn der PIC ausgeschaltet wurde. Wenn ich diese Leitung auf eine Spannung hochziehe, die gleich oder größer als die Stromversorgung des PIC (3,3 V) ist, der PIC jedoch ein HIGH bei etwas unterhalb dieses Spannungspegels ausgibt ... was passiert mit dem Ausgang des PIC ?

Ich verwende einen 5-V-toleranten Pin am PIC, der in den elektrischen Spezifikationen garantiert, dass er bis zu 3,6 V toleriert, wenn der PIC ausgeschaltet ist, sodass dies kein Problem darstellt. Worüber ich mir nicht sicher bin, ist, wie der PIC einen (kleinen) Überspannungszustand an einem Ausgang über einen Pullup-Widerstand handhabt.

Wenn Vp größer als VOH ist, wird der Chip beschädigt?

GPIO-Setup

Nebenbei bemerkt, ich habe einige Lösungen für dieses Problem in Betracht gezogen und werde diese Ausgänge wahrscheinlich in der Software so einrichten, dass sie sich wie Open-Drain-Typen verhalten. Meine Frage bezieht sich auf die Machbarkeit der Verwendung von PUSH-PULL-Ausgängen, aber wenn jemand andere einfache Lösungen für die Anwendung anzubieten hat, zögern Sie bitte nicht!

Da Sie 3,3 V für den PIC verwenden, warum gibt er 2,4 V als logisch hoch aus?
Es gibt per se nicht konstant ein 2,4-V-Hoch aus, aber das Datenblatt gibt an, dass dies bei einer 3,3-V-Versorgung der garantierte Mindestausgangspegel ist. Die Hauptidee hier ist, dass die Pull-up-Spannung in einigen Fällen höher sein könnte als die Ausgangsspannung.
Dies ist der Worst-Case-Wert, wenn das IO ziemlich viel Strom senkt/liefert.
Ja, das stelle ich mir richtig vor.

Antworten (2)

Was Ihre Lösung tun wird, wenn der PIC ausgeschaltet wird, hängt vom Pin-Typ ab (einige sind 5-V-tolerant, was bedeutet, dass keine Diode an der Stromschiene vorhanden ist).

Betrachtet man die absoluten Höchstwerte für 5-V-tolerante Pins, zeigt sich ein Maximum von 3,6 V, wenn Vdd < 3,0. Ob dies im ausgeschalteten Zustand zutrifft, wird nicht speziell beantwortet, aber da es sich anscheinend um eine elektrostatische Belastungsbewertung handelt, würde ich dies vermuten.

Für den normalen Betrieb hängt die Ausgangsspannung von der Last ab, wie Sie in den Spezifikationen des Ausgangstreibers sehen werden. Obwohl die garantierte minimale Ausgangsspannung 2,4 V beträgt, liegt die wahrscheinlichere Ausgangsspannung für eine Schnittstelle zu einem Eingang mit hoher Impedanz viel näher an Vdd.

Ich stelle fest, dass Sie auf 3,4 V hochziehen - liegt das daran, dass Ihr Modul echte CMOS-Eingänge hat? (Übergänge bei 1/3 und 2/3 Vdd).

Bearbeiten: Die absolute maximale Bewertung des dsPIC33EP für Vdd> 3,0 V an einem 5-V-toleranten Pin beträgt 5,5 V, daher sehe ich kein Problem, wenn Sie das nicht überschreiten.

Etwas Strom fließt in die Leitung, wenn der Pullup Vout überschreitet, so dass der PIC-Ausgang hoch, aber niedriger als der Pullup ist, dann versucht der Pullup, den Pushpull-Ausgang zurückzuspeisen. Vorausgesetzt, Sie schalten die Body-Diode des oberen FET nicht ein (ein Diodenabfall), wäre ich nicht besonders besorgt.

Danke für die Eingabe! Wie in der Frage angegeben, ist der Zustand der Schaltung beim Ausschalten des PIC kein Problem und wurde verifiziert. Die Pullup-Spannung stammt von einer Quelle (die im Wesentlichen garantiert immer eingeschaltet ist), die leichte Schwankungen aufweist. Die Sorge ist, dass in EINIGEN Fällen die Pull-up-Spannung auf der Leitung höher ist als die Ausgangsspannung des PIC. An diesem Punkt bin ich mir nicht sicher, wie der PIC damit umgeht.
Ich weiß nicht, dass dies immer noch für die PICs gilt, aber die 5-V-toleranten IOs von STM32 haben eine ESD-Schutzdiode.

Hier ist eine gängige Schutzmethode für GPIO:

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Wenn Sie IOs mit einer Spannung speisen, die VDD plus Diodendurchlassspannung übersteigt (3,3 + Vf = 3,6, dies ist die maximale Nenneingangsspannung), beginnt die Diode zu klemmen und hält eine akzeptable Spannung aufrecht.

Der GPIO kann also mit jeder Eingangsspannung umgehen, solange der Eingangsstrom begrenzt ist (natürlich durch den Strombegrenzungswiderstand).

Diese ESD-Dioden können nur wenigen mA standhalten, sagen wir 5 mA (ich habe diesen Wert aus dem STM32-MCU-Datenblatt genommen), Sie können den minimalen Widerstandswert mit dieser groben Formel berechnen:

R l ich M ich T = v ich N P u T v D D 5 M A

Sie können GPIO sogar mit Netzspannung versorgen (wenn Sie möchten), wenn es durch einen geeigneten Widerstand geschützt ist.


Hinweis: Die Klemme funktioniert nur, wenn die Versorgungsspannung für den GPIO anliegt.

Tolle Infos! Dies ist ein großartiges Schema für den GPIO-Eingangsschutz. Meine Frage soll jedoch eine Situation untersuchen, in der der PIC einen Ausgang hat, an dem eine höhere Spannung anliegt, wodurch ein Rückwärtsstrom IN den Ausgang fließt. In diesem Fall ist ein sinkender Ausgangsstrom von Belang. Vielen Dank für Ihren Beitrag!
Ich hätte erwähnen sollen, dass dies eine interne ESD-Schutzdiode ist, aber Sie können eine externe Klemme hinzufügen, nur um sicherzugehen.
Hmm, gute Frage.
Ich denke, es wird in Ordnung sein, solange der Pullup-Widerstand nicht so klein ist.