Forum: Mikrocontroller und Digitale Elektronik Wozu Pull-Down Widerstand?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Johnson 3. (johnson3000)


Angehängte Dateien:

Bewertung
-1 lesenswert
nicht lesenswert
Hallo zusammen,

könnt ihr mir bitte erläutern, ...

1) ... wozu ich den Pull-Down Widerstand am Pin OE (Output Enable) 
benötige?

Nach meinem Verständnis dienen Pull-Up und Pull-Down Widerstände der 
ermeidung eines Kurzschlusses. Anhand des angehängten Bildes 
Pull_Up_Widerstand.png" (siehe 
https://www.electronics-tutorials.ws/de/logische/pullup-widerstaende.html) 
würde dieser auftreten, wenn die Schalter geschlossen werden. Schließe 
ich den Pin OE direkt an VCC oder GND an, entfällt somit die 
Notwendigkeit eines Pull-Down Widerstands. Dasselbe gilt, wenn ich den 
Pin mit Hilfe meines Arduino schalte, der über entsprechende interne 
Elektronik verfügt. Stimmt das so?

2) ... wie ich den Widerstand auf Basis der Angaben im Datenblatt 
dimensioniere?

Nach meinem Verständnis schwankt die Spannung am Pin OE aufgrund von 
Ruheströmen im Chip. Angenommen, der OE-Pin soll dauerhaft LOW sein, so 
müsste der Widerstand derart dimensioniert werden, dass der Ruhestrom 
bei einer Spannung kleiner der maximalen LOW-Spannung V_IL (Low-level 
input voltage für OE, 6.3 Recommended Operating Conditions) noch 
abgeleitet wird. Als Basis würde ich den High impedance state output 
current I_OZ (6.5 Electrical Characteristics) nehmen. Stimmt das so?

3) ... ob sich das Spannungspegelwandler für SPI-Kommunikation eignet, 
welche Kenngrößen relevant sind und wie ich die maximale zulässige 
Übertragungsrate ermittele?

Kann ich mich direkt an der Datenrate orientieren, die im Datenblatt 
angegeben wird: z.B. 60 Mbps (6.9 Timing Requirements: VCCA = 3.3 V ± 
0.3 V) oder sind hier noch andere Aspekte zu berücksichtigen?


Grüße

Jonny

: Bearbeitet durch User
Beitrag #6404113 wurde vom Autor gelöscht.
von Matthias S. (Firma: matzetronics) (mschoeldgen)


Bewertung
4 lesenswert
nicht lesenswert
Johnson 3. schrieb:
> Nach meinem Verständnis dienen Pull-Up und Pull-Down Widerstände der
> ermeidung eines Kurzschlusses.

Nö. Pullup oder Pulldown Widerstände ziehen eine Leitung bei Inaktivität 
auf einen definierten Pegel. Das hat nichts mit Kurzschluss zu tun. In 
deinem Fall wird OE auf low gezogen, solange der ansteuernde Controller 
noch keinen definierten Pegel liefert.

von Guest (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Pull Up/Down sind idr. da wenn man immer definierte Zustände will auch 
wenn beispielsweise der Treibende Pin im Reset State High-Z ist (z.B. 
µC) oder wenn man open drain/collector Ausgänge hat.

Die können im ersten Fall hochohmig sein (10k oder mehr) oder müssen im 
zweiten Fall je nach Geschwindigkeit dimensioniert werden.

von Johnson 3. (johnson3000)


Bewertung
-2 lesenswert
nicht lesenswert
Ok, und warum lasse ich den Widerstand dann nicht weg und schließe 
direkt an VCC oder GND an?

von Guest (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wirklich?

was meinst du was dein open D/C pin oder dein Push Pull ausgang macht 
wenn du das machst?

Richtig du schließt deine Versorgung kurz.......

von M. K. (sylaina)


Bewertung
1 lesenswert
nicht lesenswert
Johnson 3. schrieb:
> Ok, und warum lasse ich den Widerstand dann nicht weg und schließe
> direkt an VCC oder GND an?

Weil so ein Pin u.U. eine niederohmige Verbindung, je nach 
Schaltzustand, zu Vcc oder GND herstellen kann. Dann kann es ganz schön 
knallen wenn der Pin extern mit Vcc verbunden ist und interne nach GND 
schaltet ;)

von Johnson 3. (johnson3000)


Bewertung
-1 lesenswert
nicht lesenswert
Matthias S. schrieb:
> Johnson 3. schrieb:
>> Nach meinem Verständnis dienen Pull-Up und Pull-Down Widerstände der
>> ermeidung eines Kurzschlusses.
>
> Nö. Pullup oder Pulldown Widerstände ziehen eine Leitung bei Inaktivität
> auf einen definierten Pegel.

Guest schrieb:
> was meinst du was dein open D/C pin oder dein Push Pull ausgang macht
> wenn du das machst?
>
> Richtig du schließt deine Versorgung kurz ...

Also was nun?

Bitte berücksichtigt auch die Fragen 2 und 3. Danke ;)

Johnson 3. schrieb:

> 2) ... wie ich den Widerstand auf Basis der Angaben im Datenblatt
> dimensioniere?
>
> Nach meinem Verständnis schwankt die Spannung am Pin OE aufgrund von
> Ruheströmen im Chip. Angenommen, der OE-Pin soll dauerhaft LOW sein, so
> müsste der Widerstand derart dimensioniert werden, dass der Ruhestrom
> bei einer Spannung kleiner der maximalen LOW-Spannung V_IL (Low-level
> input voltage für OE, 6.3 Recommended Operating Conditions) noch
> abgeleitet wird. Als Basis würde ich den High impedance state output
> current I_OZ (6.5 Electrical Characteristics) nehmen. Stimmt das so?
>
> 3) ... ob sich das Spannungspegelwandler für SPI-Kommunikation eignet,
> welche Kenngrößen relevant sind und wie ich die maximale zulässige
> Übertragungsrate ermittele?
>
> Kann ich mich direkt an der Datenrate orientieren, die im Datenblatt
> angegeben wird: z.B. 60 Mbps (6.9 Timing Requirements: VCCA = 3.3 V ±
> 0.3 V) oder sind hier noch andere Aspekte zu berücksichtigen?

von Pandur S. (jetztnicht)


Bewertung
0 lesenswert
nicht lesenswert
Weshalb dort ein Pulldown sein muss...
Naja. Wenn dein controller noch nichts liefert.
1) Dein controller hat waehrend des Resets  einen Tristate Output.
2) Dann gibt es einen Moment wenn der Controller noch nicht
   programmiert ist. Dann ist der Ausgang Tristate
3) Und dann gibt es auch noch die Programmierphase. Dann ist der Ausgang 
Tristate

Alles klar.

Einen Pulldown wuerde ich unbesehen zB 10k nehmen. Falls es um lowpower 
geht, das Datenblatt studieren, ob allenfalls auch 100k gehen.

: Bearbeitet durch User
von Gustl B. (-gb-)


Bewertung
0 lesenswert
nicht lesenswert
Zu dem TXS0108E:

Ich habe den schon mehrmals verwendet, auch für schnelles SPI. Ich hatte 
da weder Pullup noch Pulldown Widerstände an den Leitungen. Der Baustein 
ist recht pflegeleicht.

Du kannst ja mal deine Schaltung hier hochladen, dann gucke ich sie mir 
an.

von brause (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Gustl B. schrieb:
> Ich hatte
> da weder Pullup noch Pulldown Widerstände an den Leitungen.

Pulldown wäre auch eher kontraproduktiv ;)
Siehe dabla...

von Clemens L. (c_l)


Bewertung
1 lesenswert
nicht lesenswert
Johnson 3. schrieb:
> wozu ich den Pull-Down Widerstand am Pin OE (Output Enable)
> benötige?

Das Datenblatt sagt:
> When the output-enable (OE) input is low, all outputs are placed in the
> high-impedance (Hi-Z) state.
>
> To ensure the Hi-Z state during power-up or power-down periods, tie OE to
> GND through a pull-down resistor.

Wenn dir der Zustand der I/O-Pins während des Anschaltens egal ist, dann 
kannst du OE direkt mit VCC verbinden.

> wie ich den Widerstand auf Basis der Angaben im Datenblatt
> dimensioniere?

Der Leckstrom des Eingangs ist nicht I_OZ, sondern I_I. (Also nicht 2 
µA, sondern 2 µA. :-)

Oder nimm einfach 10 kΩ.

> ob sich das Spannungspegelwandler für SPI-Kommunikation eignet

Der TXS hat in den Datenleitungen eingebaute Pull-Up-Widerstände, du 
kannst dort also keine Pull-Downs benutzen. Und wenn du die SPI-Ausgänge 
deiner Chips nicht aus Versehen als Open-Drain konfiguriest hast, dann 
ist 60 Mbps korrekt.

: Bearbeitet durch User
von Axel S. (a-za-z0-9)


Bewertung
1 lesenswert
nicht lesenswert
Johnson 3. schrieb:
> Ok, und warum lasse ich den Widerstand dann nicht weg und schließe
> direkt an VCC oder GND an?

Wenn du OE ständig auf H halten willst, dann kannst du den natürlich 
direkt mit Vcc verbinden. Aber der Schaltungsvorschlag aus dem 
Datenblatt geht davon aus, daß du den OE Pin des TXS0108 mit einem Pin 
des µC steuerst. Und dann darfst du den natürlich nicht direkt mit Vcc 
oder GND verbinden. Denn dann könnte der µC den Pegel ja nicht mehr 
ändern.

Direkte Verbindung von OE mit GND ist in jedem Fall sinnlos. Dann wäre 
der TXS0108 permanent hochohmig und man könnte ihn gleich komplett 
weglassen.

Nochwas. Die beiden Verwendungen von Pullup/Pulldown Widerständen, die 
du zeigst, sind grundsätzlich unterschiedlich. Denn einmal hängt der 
Pullup an einem Eingang, das andere Mal ein Pulldown an einem 
Ausgang. Und zwar sogar an einem Gegentakt-Ausgang. In diesem Fall hat 
der Pulldown nur einen einzigen Zweck: einen definierten Logikpegel 
herzustellen, so lange der Ausgang inaktiv ist (hier z.B. wenn der µC im 
Reset ist).

von Johnson 3. (johnson3000)


Bewertung
0 lesenswert
nicht lesenswert
Clemens L. schrieb:

> Der TXS hat in den Datenleitungen eingebaute Pull-Up-Widerstände, du
> kannst dort also keine Pull-Downs benutzen. Und wenn du die SPI-Ausgänge
> deiner Chips nicht aus Versehen als Open-Drain konfiguriest hast, dann
> ist 60 Mbps korrekt.

Open-Drain bezeichnet eine Schaltung aus Pull-Up-Widerstand und MOSFET. 
Was hat das mit der Übertragungsfrequenz meiner SPI Schaltung zu tun?

Axel S. schrieb:
> Nochwas. Die beiden Verwendungen von Pullup/Pulldown Widerständen, die
> du zeigst, sind grundsätzlich unterschiedlich. Denn einmal hängt der
> Pullup an einem Eingang, das andere Mal ein Pulldown an einem
> Ausgang. Und zwar sogar an einem Gegentakt-Ausgang. In diesem Fall hat
> der Pulldown nur einen einzigen Zweck: einen definierten Logikpegel
> herzustellen, so lange der Ausgang inaktiv ist (hier z.B. wenn der µC im
> Reset ist).

Wieso ist der Pin OE ein Gegentakt-Ausgang? Nicht der Chip erzeugt eine 
Spannung sondern meine Beschaltung.

Axel S. schrieb:
> Wenn du OE ständig auf H halten willst, dann kannst du den natürlich
> direkt mit Vcc verbinden. Aber der Schaltungsvorschlag aus dem
> Datenblatt geht davon aus, daß du den OE Pin des TXS0108 mit einem Pin
> des µC steuerst. Und dann darfst du den natürlich nicht direkt mit Vcc
> oder GND verbinden. Denn dann könnte der µC den Pegel ja nicht mehr
> ändern.

Verstehe ich auch nicht. Wenn ich den Pegel an OE durch einen uC 
erzeuge, brauche ich nach meinem Verständnis den Pull-Down nicht mehr. 
Es sei denn, mein uC liefert kein Signal, weil er im Reset o.ä. ist. 
Meintest du das?

von Axel S. (a-za-z0-9)


Bewertung
1 lesenswert
nicht lesenswert
Johnson 3. schrieb:
> Axel S. schrieb:
>> Nochwas. Die beiden Verwendungen von Pullup/Pulldown Widerständen, die
>> du zeigst, sind grundsätzlich unterschiedlich. Denn einmal hängt der
>> Pullup an einem Eingang, das andere Mal ein Pulldown an einem
>> Ausgang. Und zwar sogar an einem Gegentakt-Ausgang. In diesem Fall hat
>> der Pulldown nur einen einzigen Zweck: einen definierten Logikpegel
>> herzustellen, so lange der Ausgang inaktiv ist (hier z.B. wenn der µC im
>> Reset ist).
>
> Wieso ist der Pin OE ein Gegentakt-Ausgang?

Der Pulldown hängt nicht nur am OE Pin. Da ist auch noch ein GPIO des 
µC im Spiel. Und der ist natürlich ein Ausgang, schließlich soll der den 
TXS0108 freigeben bzw. sperren können. So lange der µC den TXS0108 nicht 
freigibt (mit einem H-Pegel an OE), macht der gar nichts.

>> Wenn du OE ständig auf H halten willst, dann kannst du den natürlich
>> direkt mit Vcc verbinden. Aber der Schaltungsvorschlag aus dem
>> Datenblatt geht davon aus, daß du den OE Pin des TXS0108 mit einem Pin
>> des µC steuerst. Und dann darfst du den natürlich nicht direkt mit Vcc
>> oder GND verbinden. Denn dann könnte der µC den Pegel ja nicht mehr
>> ändern.
>
> Verstehe ich auch nicht. Wenn ich den Pegel an OE durch einen uC
> erzeuge, brauche ich nach meinem Verständnis den Pull-Down nicht mehr.
> Es sei denn, mein uC liefert kein Signal, weil er im Reset o.ä. ist.
> Meintest du das?

Das meinte ich nicht nur, das schrieb ich auch. Lies die Antworten doch 
einfach mal komplett

von Johnson 3. (johnson3000)


Bewertung
-1 lesenswert
nicht lesenswert
Axel S. schrieb:
> Das meinte ich nicht nur, das schrieb ich auch. Lies die Antworten doch
> einfach mal komplett

Ich habe deine Antwort durchaus komplett gelesen, aber in meiner 
Erfahrung haben sich Rückfragen bewährt. Gefühlte neunzig Prozent der 
Antwortgeber ignorieren schlicht die Fragestellung, vereinfachen sie 
oder formulieren ihre Antworten schlicht unpräzise. Zum Beispiel habe 
ich eingangs nach der Berechnung des Pull-Down Widerstands gefragt. 
Außer vielleicht Clemens ist in 10 Antworten nicht einer auf die Frage 
eingegangen.

Die Rückfrage war hier vielleicht überflüssig. Aber ums kurz zu fassen: 
Danke, ich habe die beiden Punkte verstanden. ;)

Wäre noch die Teilfrage offen:

Johnson 3. schrieb:
> Clemens L. schrieb:
>
>> Der TXS hat in den Datenleitungen eingebaute Pull-Up-Widerstände, du
>> kannst dort also keine Pull-Downs benutzen. Und wenn du die SPI-Ausgänge
>> deiner Chips nicht aus Versehen als Open-Drain konfiguriest hast, dann
>> ist 60 Mbps korrekt.
>
> Open-Drain bezeichnet eine Schaltung aus Pull-Up-Widerstand und MOSFET.
> Was hat das mit der Übertragungsfrequenz meiner SPI Schaltung zu tun?

von Gustl B. (-gb-)


Bewertung
0 lesenswert
nicht lesenswert
Johnson 3. schrieb:
> Wäre noch die Teilfrage offen:

Erste Seite im Datenblatt aus dem ersten Post hier:
•  Maximum data rates
–  110 Mbps (push pull)
–  1.2 Mbps (open drain)

: Bearbeitet durch User
von M. K. (sylaina)


Bewertung
1 lesenswert
nicht lesenswert
Johnson 3. schrieb:
> Verstehe ich auch nicht. Wenn ich den Pegel an OE durch einen uC
> erzeuge, brauche ich nach meinem Verständnis den Pull-Down nicht mehr.

Im normalen Betrieb (Wenn alles Eingeschaltet und initialisiert ist) 
hast du recht, da brauchst du in der Schaltung den Pull-Down nicht da ja 
im normalen Betrieb die Zustände des OE-Pins immer klar definiert sind 
(Ann.: Das Programm des uC ist fehlerfrei). Der Pull-Down wird z.B. für 
das Einschalten gebraucht denn in der Initialisierungsphase kann es 
durchaus sein, dass der OE-Pin „macht was er will“. Der Pull-Down sorgt 
dafür, dass auch in solchen Betriebszuständen der OE-Pin stets ein 
definiertes Signal hat und die Schaltung zu jeder Zeit in einem sicheren 
Betriebszustand ist. Das ist der Sinn und Zweck eines jeden 
Pull-Downs/Pull-Ups. ;)

von Arduino Fanboy D. (ufuf)


Bewertung
-2 lesenswert
nicht lesenswert
Johnson 3. schrieb:
> Zum Beispiel habe
> ich eingangs nach der Berechnung des Pull-Down Widerstands gefragt.
> Außer vielleicht Clemens ist in 10 Antworten nicht einer auf die Frage
> eingegangen.
Warum sollte man das auch tun?

Johnson 3. schrieb:
> Ich habe deine Antwort durchaus komplett gelesen, aber in meiner
> Erfahrung haben sich Rückfragen bewährt. Gefühlte neunzig Prozent der
> Antwortgeber ignorieren schlicht die Fragestellung, vereinfachen sie
> oder formulieren ihre Antworten schlicht unpräzise.
Ich danke dir für diese Klarstellung.

Da war es dann ja richtig hier bisher nicht zu antworten.

90% der Antwortenden ignorieren die Fragen.
Der Fragesteller ignoriert 90% der Antworten.

So kann man mit viel Glück eine positive Kommunikationsrate von 5% 
erreichen.
Also sind solche Unterhaltungen eher wertlos, bis unangenehm.
Energieverschwendung.

Und Tschüss...

: Bearbeitet durch User
von Johnson 3. (johnson3000)


Bewertung
0 lesenswert
nicht lesenswert
Gustl B. schrieb:
> Erste Seite im Datenblatt aus dem ersten Post hier:•  Maximum data rates
> –  110 Mbps (push pull)
> –  1.2 Mbps (open drain)

Peinlich - da habe ich vor lauter Tabellen wohl das offensichtliche 
übersehen. Allen, die verstehen wollen, warum die Übertragungsraten 
unterschiedlich sind, kann ich den folgenden Artikel empfehlen:
https://www.mikrocontroller.net/articles/Ausgangsstufen_Logik-ICs

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.