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
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
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
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.
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.
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.
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.
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.
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
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
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....
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
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.
Dann schalte mal 5V vor 3,3V ein. Käse.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.