Wie erhöht man die Spannung eines digitalen Signals?

Ich möchte, dass mein Raspberry Pi GPIO-Port mit einer digitalen Schaltung kommuniziert, die mit der doppelten GPIO-Spannung arbeitet. Die Kommunikation erfolgt mit einer relativ hohen Frequenz (bis zu 500 kHz).

Die Hauptfrage ist, wie ich die Spannung an einem GPIO-Ausgangspin verstärke. Reicht ein einfacher 2n2222-Transistor? Meine größte Sorge ist die Frequenz. (Auch den richtigen Schaltplan und die richtigen Kondensator- / Widerstandswerte erhalten.)

(Bonusfrage ist für die andere Richtung: Wie kann man die Eingangsspannung reduzieren. Mein erster Gedanke ist ein Spannungsteiler mit zwei Widerständen, aber andererseits, wird er bei 500 kHz gut funktionieren?)

bearbeiten:

Offensichtlich habe ich noch nichts von Level-Shifting und Level-Übersetzern gehört. :)

Die Übersetzer, die ich sehen kann, sind jedoch alle 3V3 <-> 5V. Ich hätte gerne etwas Bidirektionales, das mit etwa 7 V betrieben werden kann und 9 V bequem aushält. Was ist der standardmäßige nächste Schritt (falls vorhanden) über 3,3/5? (Ich nehme an, es gibt keine 3V3 <-> 7V-Übersetzer;), aber vielleicht gibt es einen 9V- oder 12V-Standard, der am unteren Ende 5V hat, und ich könnte 3V3 <-> 5V <-> 9V serialisieren?)

Oder gibt es vielleicht eine einfache Möglichkeit, meinen eigenen Übersetzer für meine ungewöhnlichen Spannungsanforderungen zu rollen? (natürlich mit Blick auf 500kHz)

bearbeiten:

Vielen Dank an alle, die einen Spannungsübersetzer vorgeschlagen haben.

Tatsächlich scheint es einen höheren Standard zu geben - für 15-V-CMOS.

Wenn ich das richtig verstehe, können die Signaleingangs- und -ausgangsspannungen durch die für einen Chip bereitgestellten "Stromversorgungs" -Spannungen gesteuert werden. Ich kann also beliebige seltsame Spannungen verwenden, solange ich ein geeignetes Netzteil finde.

Einige Kandidaten sind TI CD40109B, CD4504 und Pololu 2595.

Was ist falsch an der offensichtlichen Antwort, Level-Übersetzer zu verwenden? Genau dafür sind sie gedacht.
Ähnliche Frage zu bidirektionalen Pegelumsetzern. electronic.stackexchange.com/questions/97889/…
Ähnlich, aber anders, da es um die beliebteste Konvertierung geht, dh 3v3-5v, was nicht gut für mich ist.
Der in Sherrillbcs Antwort verwendete BSS138 hat eine Gate-Source-Grenze von 20 V, was für Ihre 9-V-High-Side-Spannung nützlich ist. Viele dieser kleinen FETs haben eine 8-V-Grenze, die für Sie nicht funktionieren würde. Sag nur ;-)

Antworten (3)

Für genau diesen Zweck habe ich den BSS138- Mosfet mit 10k-Klimmzügen verwendet. Ich konnte eine zuverlässige Kommunikation von 250.000 mit einem Mikro erreichen, das mit 16 MHz lief. Ein Step bis 500kHz geht sicher, nur konnte ich das mit einem langsamen Mikro nicht zuverlässig testen.

Außerdem ist der Begriff für das, was Sie beschreiben, als Level Shifting bekannt ;

Geben Sie hier die Bildbeschreibung ein

Sie können ein Board mit denselben Mosfets bei Spark Fun abholen .

Unter Verwendung von 1k-Widerständen anstelle von 10k habe ich die Schaltung für eine SD-Karte bei 2MHz zuverlässig ausgeführt.
Bei höheren Spannungen mit größeren Ausschlägen wird die Leistung jedoch reduziert. Es gibt auch eine Grenze, wie tief Sie gehen können, je nachdem, wie viel Strom der I / O-Pin, der den Schalthebel antreibt, sinken kann.
Der technische Hinweis von Philips, der diese Schaltung erwähnt, erwähnt auch die Verwendung von zwei Mosfets von Angesicht zu Angesicht, um eine Isolierung vorzunehmen. Etwa so: electronic.stackexchange.com/questions/106254/… . Ich mag das, weil ich batteriebetriebene PICs habe, die mit USB-betriebenen seriellen FTDI-Schnittstellen kommunizieren, von denen jede dann ausgeschaltet werden kann, ohne sich Gedanken darüber zu machen, was die Leitung von wem antreibt.

Das kannst du vielleicht gebrauchen . Es ist ein bidirektionaler 8-Kanal-Pegelübersetzer: -

Geben Sie hier die Bildbeschreibung ein

Eine Seite arbeitet mit Logikpegeln von 1,2 bis 3,6 Volt und die andere Seite arbeitet mit Logikpegeln von 1,6 bis 5,5 Volt.

Ich hätte gedacht, dass, wenn Ihre High-Side-Spannungslogik 6,6 Volt beträgt, die Versorgung eines Eingangspins mit einem Logikpegel von 5 Volt (76%) immer noch in Ordnung wäre. Beim Ausspeisen eines 6,6 Volt Logikpegels sollten Sie das Gerät mit einem 1kOhm Vorwiderstand schützen.

Oder Sie könnten dieses Gerät verwenden, das TXS0108E: -

Geben Sie hier die Bildbeschreibung ein

Geschwindigkeiten über 2Mbpsec laut Datenblatt.

Ich glaube nicht, dass die Transistorlösung bei 500 kHz funktionieren wird. Maxim Integrated hat diese netten ICs, die Sie verwenden können. MAX3002 zum Beispiel wandelt jede Spannung in jede Spannung um, ist bidirektional und hat keinen Richtungspin.

500 Kelvin-Hertz sind in diesem Zusammenhang kein sinnvolles Maß.
Ich habe versucht, es zu beheben, aber die Mindestbearbeitung beträgt sechs Zeichen ...