Frage:
Günstigster Weg, um 5V SPI-Signal in 3V SPI zu übersetzen?
Mike
2011-08-14 02:09:45 UTC
view on stackexchange narkive permalink

Ich habe eine MCU, die mit 5 V arbeitet, und ein Display, das einen 3-V-Logikpegel empfiehlt. Sie sind über SPI verbunden, das bis zu 1,5 MHz arbeiten kann. Was ist der beste und der billigste Weg (nicht unbedingt der gleiche), um die 5V in 3V umzuwandeln? Die SPI-Verbindung ist eine Möglichkeit (nur SCK, MOSI, CS; das LCD muss nicht mit der MCU kommunizieren, daher erfolgt die Übersetzung nur von 5 V nach 3 V).

Vielen Dank, Mike

Sechs antworten:
#1
+6
Majenko
2011-08-14 02:16:29 UTC
view on stackexchange narkive permalink

Der einfachste Weg (ich weiß nicht, ob es der beste ist) ist ein einfacher Spannungsteiler. 3,3 V sind 2/3 von 5 V, daher sollte ein 1: 2-Teiler funktionieren:

enter image description here

#2
+4
Russell McMahon
2011-08-14 02:35:12 UTC
view on stackexchange narkive permalink

Ein einfacher Widerstandsteiler ist die billigste Methode und kann Ihren Zwecken gut genug dienen.

Wenn Sie einen kleinen Kondensator über dem oberen Widerstand platzieren, können Sie die durch die kapazitive Last verursachten Kanten ausgleichen. Solange die RC-Zeitkonstante der beiden parallelen Widerstände in Kombination mit der Ausgangslastkapazität viel schneller ist als die Anstiegs- und Abfallzeit der Signale, sollte dieser Kondensator nicht benötigt werden.

Es stehen viele bidirektionale und aktive Lösungen zur Verfügung. Nur als Beispiel für eine kompakte Lösung bietet Maxim MAX3023 4 bidirektionale Treiber in einem TSSOP-Paket.

enter image description here

#3
+3
Olin Lathrop
2011-08-14 02:39:37 UTC
view on stackexchange narkive permalink

Wie Matt sagte, ist der einfachste ein Widerstandsteiler. Der Nachteil ist, dass die Kanten etwas verlangsamt werden. Sie werden wahrscheinlich mit den von ihm angezeigten 1 kΩ und 2 kΩ einverstanden sein, aber es wäre eine gute Idee, die Wellenform mit einem Oszilloskop zu überprüfen.

Wenn Geschwindigkeit ein Problem ist, wie es höchstwahrscheinlich wäre, wenn Wenn Sie den SPI-Bus mit 10 MHz betreiben, ist ein expliziter Pegelwandler wahrscheinlich besser. Diese Chips haben zwei Netzteile und normalerweise einen Richtungseingang, den Sie in Ihrem Fall dauerhaft in eine Richtung binden können.

Was ist mit einem Teiler aus Kondensatoren?
@Dor - das ist wie ein Kartenhaus :-). Es wäre unter bestimmten Umständen anwendbar, aber nicht hier, ohne dass außergewöhnliche Schritte unternommen würden, um den DC-Pegel aufrechtzuerhalten - was hier wichtig ist. .
@Dor: Ein reiner kapazitiver Teiler würde den Gleichstrompegel verlieren und funktioniert daher nicht. Ein kapazitiver Teiler parallel zum Widerstandsteiler kann jedoch verwendet werden, um die unmittelbare Sprungantwort mit der langfristigen Gleichstromantwort in Einklang zu bringen. Genau das tun Oszilloskopsonden. Die Kompensationseinstellung einer Oszilloskopsonde variiert einen der Kondensatoren so, dass die DC- und AC-Teilerverhältnisse übereinstimmen. Der Nachteil eines zusätzlichen kapazitiven Teilers mit dem Widerstandsteiler ist die zusätzliche kapazitive Last.
@Olin Lathrop: Der Grund, warum der rein resistive Teiler die Kanten abrundet, ist, dass parallel zur Unterseite viel mehr parasitäre Kapazität vorhanden ist als oben. Das Ideal wäre, nur an der Oberseite des Teilers eine parallele Kapazität hinzuzufügen, und zwar in einer Menge, die gerade ausreicht, um die Kapazität an der Unterseite zu kompensieren. Dies würde die kapazitive Belastung des Ausgangs erhöhen, wäre aber immer noch geringer als der direkte Anschluss des Ausgangs.
#4
+1
B Pete
2011-08-14 04:43:51 UTC
view on stackexchange narkive permalink

Wenn Ihr Prozessor über offene Drain-Ausgangspins verfügt, können Sie diese direkt an das Display anschließen und der 3,3-V-Versorgung jeder Leitung einen Pull-up-Widerstand hinzufügen. Möglicherweise müssen Sie die Pins mithilfe eines MCU-Registers in den Open-Drain-Modus versetzen.

Hinweis: Ich habe Folgendes geschrieben, bevor ich die Frage erneut gelesen und festgestellt habe, dass es sich um die betreffende SPI-Schnittstelle handelt wird nur ausgegeben und es gibt keine MISO-Leitung. Ich habe es als Referenz belassen.

Wenn Ihr Prozessor 5 V-tolerante Eingänge hat (siehe Datenblatt), können Sie die MISO-Leitung vom Display direkt an die MCU anschließen, vorausgesetzt, das Display Voh ist höher als das MCO Vih Ebene.

#5
+1
bobflux
2017-09-06 21:03:54 UTC
view on stackexchange narkive permalink

Ich würde einen 74LVC -Puffer empfehlen.5 V tolerante Eingänge, 3,3 V Ausgänge, billig, schnell, klein, leicht verfügbar und nur ein Teil zum Löten anstelle vieler Widerstände.

Der LVC126 verfügt auch über einen Drei-Status, was nützlich sein kann.

#6
  0
Paul B.
2017-09-06 17:02:02 UTC
view on stackexchange narkive permalink

Nein, tatsächlich ist die einfachste b> Art der Schnittstelle die, die von der Adafruit Huzzah verwendet wird.eine Diode mit Kathode zum 5-V-Signal und Anode zum ESP8266-Eingang.Dies führt zu keiner b> Verzögerung beim Herunterziehen und es gibt einen internen Standard-Pull-up im ESP8266, obwohl Sie bei Bedarf einen Pull-up von 3,3 V bereitstellen können.

Es gibt keinen Grund, eine Pegelumwandlung von einem ESP8266-Ausgang bereitzustellen, da 3,3 V eine gültige logische HIGH für CMOS bei 5 V ist.

Interne Klimmzüge sind möglicherweise für 1,5 MHz zu langsam (und das LCD hat sie möglicherweise nicht).Wenn Sie einen externen Pullup von 1-2 kOhm hinzufügen, erhalten Sie einen Stromverbrauch, der in etwa dem entspricht, was Olin in seiner Antwort vorgeschlagen hat.


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...