Forum: Mikrocontroller und Digitale Elektronik Bidirektionaler 5V<>3.3V Pegelwandler f. Hobbyprojekt gesucht


von T. M. (gmp)


Lesenswert?

Guten Tag zusammen,

ich benötige für ein Hobbyprojekt einen bidirektionalen Pegelwandler, an 
dem auf der einen Seite eine 8Bit Datenschnittstelle + 2 
Handshakeleitungen (5Volt) eines alten Homecomputers angeschlossen 
werden soll und auf der anderen Seite ein WLAN Modul ESP8266, welches 
mit 3,3 Volt arbeitet.
Da die Kommunikation mit maximalen 115200 Baud aufgebaut werden soll, 
wäre es hier wichtig, das der Pegelwandler die Geschwindigkeit nicht 
sonderlich ausbremst.
Was könnte man in diesem Fall empfehlen?

Schon mal vielen Dank, für ein paar Antworten.

Gruß
Thomas

von Stefan F. (Gast)


Lesenswert?

Du redest von einer UART Schnittstelle, die hat unidirektionale 
Leitungen.

Für 115200 Baud 5V -> 3,3V genügt ein simpler Spannungsteiler aus 1k und 
2,2k Ohm. Habe ich wochenlang durchgetestet, mit einem AVR und einem 
ESP8266.

Für die andere Richtung 3,3V -> 5V brauchst du gar keinen Wandler. Der 
Mikrcoontroller erkennt 3,3V bereits einwandfrei als High Pegel. Der PC 
vermutlich ebenfalls.

Ansonsten verwendet man als einfache bidirektionale Pegelwandler oft 
Mosfet Transistoren. Siehe 
https://www.nxp.com/documents/application_note/AN10441.pdf

von Michael U. (amiga)


Lesenswert?

Hallo,

Zustimmung zu  Stefan Us. Alternativ geht auch ein 2,2k PullUp auf der 
RX-Seite am ESP8266 und eine Diode zum TX des alten Homecomputers.
Für die Quittungsleitungen gilt übrigens das gleiche entsprechend der 
Richtung.

Welcher ist das denn? Mir fallen nicht allzuviele ein, die 115200 
konnten.

Falls der Homecomputer eine echte RS232 hat brauchst Du ohnehin noch 
einen Pegelwandler, MAX3232 o.ä. Der erledigt dann auch gleich das 
3,3V-Problem wenn man ihn mit 3,3V betreibt.

Gruß aus Berlin
Michael

von T. M. (gmp)


Lesenswert?

Es handelt sich um einen Commodore64 und der Userport-Schnittstelle. Die 
8 Datenleitungen werden in beide Richtungen, also bidirektional, 
genutzt. Die beiden Handshake-Leitungen jeweils nur in eine Richtung.

von Sigi (Gast)


Lesenswert?

Such mal auf Ebay nach "Level Shifter".
Da findest du dann kleine Platinen mit
8-Bit-BiDir, bei 3.3V<=>5V bis 100MHz.
5 Stück davon ab ~10 Euro.

von Jim M. (turboj)


Lesenswert?

T. M. schrieb:
> Es handelt sich um einen Commodore64 und der Userport-Schnittstelle. Die
> 8 Datenleitungen werden in beide Richtungen, also bidirektional,
> genutzt. Die beiden Handshake-Leitungen jeweils nur in eine Richtung.

Den User Port kann man offenbar auch als UART benutzen. Dann braucht man 
lange nicht soviele Pegelwandler.

von T. M. (gmp)


Lesenswert?

Sigi schrieb:
> Such mal auf Ebay nach "Level Shifter".
> Da findest du dann kleine Platinen mit
> 8-Bit-BiDir, bei 3.3V<=>5V bis 100MHz.
> 5 Stück davon ab ~10 Euro.

Ja, genau so etwas in der Richtung suche ich, das aber als reine 
Chip-Variante (am besten im DIP-Gehäuse), da dieser Pegelwandler später 
auf einer selbsterstellten Platine Platz nehmen soll. Diese Platinchen, 
wie sie überall angeboten werden, sind zu groß. So etwas muss es doch 
als reinen Chip geben.

von Sigi (Gast)


Lesenswert?

T. M. schrieb:
> So etwas muss es doch
> als reinen Chip geben.

Dir bleibt dann nichts anderes übrig als
entweder auf SMD umzustellen oder aber
die Platine mit Pinheader als Pseudo-DIP
zu verwenden. DIP-Chips mit diesen
Eigenschaften gibt es glaube ich nicht.

von T. M. (gmp)


Lesenswert?

Ich habe mir jetzt mal einen 8-Bit Pegelwandler mit dem Texas 
Instruments Chip TXB0108 besorgt, doch irgendwie stehe ich mit dem Teil 
auf Kriegsfuß. Hat vielleicht jemand schon damit gearbeitet? Mir ist 
auch die Funktionsweise dieses OE-Pins nicht ganz klar.
Wenn ich diesen auf High lege, dann hat komischerweise auch jeder IO-Pin 
automatisch ein High-Signal. Das kann doch so niemals funktionieren.
Vielleicht hat einer einen Tipp für mich.

VG
Thomas

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Eventuell hat eine der beiden Seiten (Computer oder ESP) interne Pull-Up 
Widerstände und du mißt im Tri-state dann eben High?

Das ist aber auch kein steckbarer Chip! Also Vcca bekommt 3,3V, ebenso 
der OE-Pin. Vccb geht an 5V. Dann sollte es gehen.
Hint im DB:: Eine Diode zwischen Vcca=Anode und Vccb=Kathode ist auch 
nötig, damit Vcca nie über Vccb liegt. Dann sollte es gehen. Habe den 
Chip noch nie selbst benutzt.

Die einfachste Methode ist einfach ein Längswiderstand von ca. 10K-100K. 
Diese Methode benutzt die chipinternen ESD-Dioden. Die Baudrate ist ja 
eher 'langsam'. Das funzt definitiv.

Auch eine CD4066 könnte funktionieren. Aber auch dies nur eine Idee, die 
ich noch nie probierte. Müßte man mal ins Datenblatt schauen.

Meine eigene Methode verrate ich aber nicht.

Und hier schauen. Aber du mußt nach bidirektional selektieren:
https://www.mikrocontroller.net/articles/Pegelwandler

: Bearbeitet durch User
von Theo (Gast)


Lesenswert?

Google ist dein Freund.
Hier gabs schon mal nen Thread, in dem es einer mit 2 Widerständen und 
einem FET geschafft hat. Ich glaub du findest das, wenn nicht. Selber 
Kopf anstrengen.

Sorry für meine Hilfsbereitschaft aber diese Trolls die immer das selbe 
fragen....

von mahwe (Gast)


Lesenswert?

MAX3391EEUD
davon 2 ins datenblatt schauen denn gibt es auch bidirektional

von Clemens L. (c_l)


Lesenswert?

T. M. schrieb:
> TXB0108 besorgt, doch irgendwie stehe ich mit dem Teil
> auf Kriegsfuß.

Lies das Datenblatt, und http://www.ti.com/lit/pdf/scea043.

> Mir ist auch die Funktionsweise dieses OE-Pins nicht ganz klar.
> Wenn ich diesen auf High lege, dann hat komischerweise auch jeder
> IO-Pin automatisch ein High-Signal.

Hast du denn auf der anderen Seite ein Low-Signal angeschlossen? "jeder 
IO-Pin" klingt irgendwie so, als ob das nicht der Fall ist.

Ohne Schaltplan kann dir keiner helfen!

: Bearbeitet durch User
von dasrotemopped (Gast)


Angehängte Dateien:

Lesenswert?

Ein "Spannungsteiler" mit Widerstand(270Ohm) und Zener Diode(3,45-3,6V 
Zener Spannung) ist das richtige. Benötigt keine Steuerleitung, der R 
und die parasitäre Kapazität der Diode in Sperrichtung ergeben zwar 
einen Tiefpass, aber  bei einem UART gibt das noch kein Problem. 
Mehrfach verwendet und für gut befunden. Bidirektional und transparent 
für die Anwendung.

Gruß,

dasrotemopped.

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Dann schalte mal 5V vor 3,3V ein. Käse.

von Kaj (Gast)


Angehängte Dateien:

Lesenswert?

Ich werf mal einfach die App-Note AN97055 in den Raum.

Ein 2N7000 oder ähnliches und das läuft.


Bi-directional level shifter for I²C-bus and other systems.
https://cdn-shop.adafruit.com/datasheets/an97055.pdf

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.