Forum: Mikrocontroller und Digitale Elektronik 3.3V zu 1.8V LVCMOS


von Holger (Gast)


Lesenswert?

Hallo zusammen

Ich möchte gerne ein RGB-Interface (3.3V) mit einem 1.8V RGB-Interface 
verbinden.

habe dazu im Internet diese Methode gefunden:

https://www.idt.com/us/en/support/knowledge-base/how-interface-33v-lvcmos-18v-lvcmos-idt-timing-devices

Eigentlich eine Terminierung mit direkter Pegelwandlung.

Denkt ihr, dass es da Probleme geben kann bei einem Takt von bis zu 165 
MHz?

Danke schonmal.

von Holger (Gast)


Lesenswert?

Vorallem dachte ich, dass bei 24 Leitungen plus Steuerleitungen, dies zu 
einem schönen Bauteilfriedhof führt. Daher wäre mir ein QFN oder noch 
besser ein SOIC fast lieber.

Gibts da brauchbares?

von HildeK (Gast)


Lesenswert?

Gerade für die relativ hohen Geschwindigkeiten ist das die beste 
Methode.
Die Quellwiderstände benötigst du hier sowieso, hinzu kommen 'nur' die 
50Ω-Abschlusswiderstände. So groß ist das 'Grab' dann doch nicht.

von Holger (Gast)


Lesenswert?

Danke für deine Antwort.

Habe hier noch einen Shifter gefunden:
http://www.ti.com/product/SN74AVC16T245

Was mich hier etwas irritiert:
1
380 Mbps (1.8 V to 3.3 V Level-Shifting)

Würde von der Datenrate her ja genügen. Jedoch steht da nur 1.8V to 
3.3V. Bei mir wäre es ja die andere Richtung. Die Richtung lässt sich 
bei diesem Modell übrigens über einen DIR pin definieren.

Gelten die 380 Mbps wohl auch für die andere Richtung?

Und benötige ich dann auch hier die 50 Ohm Terminierungswiderstände, 
auch wenn die Logiklevel bereits korrekt sind?


Danke

von HildeK (Gast)


Lesenswert?

Holger schrieb:
> Würde von der Datenrate her ja genügen. Jedoch steht da nur 1.8V to
> 3.3V. Bei mir wäre es ja die andere Richtung. Die Richtung lässt sich
> bei diesem Modell übrigens über einen DIR pin definieren.

Du musst eben nicht nur den fett gedruckten Teil des Datenblattes lesen 
:-).
Auch auf der ersten Seite steht:

This allows for universal low-voltage bidirectional translation between 
any of the 1.2-V, 1.5-V, 1.8-V, 2.5-V, and 3.3-V voltage nodes.

von Holger (Gast)


Lesenswert?

Ok, danke für die Antwort.
Somit sollte die Datenrate weiterhin gelten.

Fragt sich nur noch, ob ich denn auch hier terminierungswiderstände 
benötige...

von Holger (Gast)


Lesenswert?

Ich sehe gerade. Beim Eval-Board dieses Chips, haben die 33 Ohm als 
Serienterminierung verwendet. Wobei dort die Logiklevel identisch waren.


Also sollte ich evtl. sowas tun:

[Chip 3.3V] - [33 Ohm] -- [Level Shifter] - [33 Ohm] - [1.8V Chip]

Was meint ihr?

von HildeK (Gast)


Lesenswert?

Holger schrieb:
> Also sollte ich evtl. sowas tun:

Wenn du ein Eval-Board hast, dann mach es so wie dort vorgeschlagen.
Ich kenne den Baustein selbe nicht und weiß deshalb nicht, ob da aktive 
Buffer enthalten sind oder ob es nur FETs sind.
Ich vermute ersteres, dann wäre dein zweifache Terminierung richtig.
Aber sparst du jetzt irgendwie Platz oder Geld ein? Das erschließt sich 
mir nicht ganz ...
Vorher hatte man zwei Widerstände (Rs und R2) pro Leitung, jetzt hat man 
auch zwei und noch zusätzlich den Baustein, der Levelshifting in beide 
Richtungen kann, welche du aber nicht benötigst.

von Holger (Gast)


Lesenswert?

HildeK schrieb:
> Wenn du ein Eval-Board hast, dann mach es so wie dort vorgeschlagen.

Bei dem Eval-Board wird eben 3.3V mit 3.3V Logik verbunden. Daher nur 
ein mässig passendes Beispiel.

Dort gibt es lediglich eine Serienterminierung ohne einen 50 Ohm am 
Ende.

von Clemens L. (c_l)


Lesenswert?

Holger schrieb:
> Somit sollte die Datenrate weiterhin gelten.

Nein. Das Datenblatt sagt "200 Mbps (Level-Shifting to 2.5 V or 1.8 V)".

200 Mbps sind 100 MHz, aber ich weiß nicht, ob dein Originalsignal 165 
MHz oder 165 Mbps hat.

Aber für das Verringern der Spannung von unidirektionalen Signalen 
brauchst du nicht unbedingt einen Levelshifter, sondern kannst auch 
irgendeinen Treiber mit überspannungsfesten Eingängen benutzen, z.B. 
SN74AVC16244 (345 Mbps) oder SN74AUC16244 (555 Mbps).

> Beim Eval-Board dieses Chips, haben die 33 Ohm als Serienterminierung
> verwendet.
> Also sollte ich evtl. sowas tun:
>
> [Chip 3.3V] - [33 Ohm] -- [Level Shifter] - [33 Ohm] - [1.8V Chip]

Das Eval-Board hat Widerstände auf beiden Seiten, weil Signale in beide 
Richtungen übertragen werden könnten.

Die Impedanz eines CMOS-Eingangs ist ungefähr unendlich, also brauchst 
du 33 Ω nur am Ausgang. Und AVC/AUC-Treiber brauchen normalerweise 
überhaupt keine Widerstände, weil sie spezielle Ausgangstreiber haben, 
die ihre Impedanz während des Schaltvorgangs ändern.

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


Lesenswert?

Clemens L. schrieb:
> ... für das Verringern der Spannung von unidirektionalen Signalen
> brauchst du nicht unbedingt einen Levelshifter, sondern kannst auch
> irgendeinen Treiber mit überspannungsfesten Eingängen benutzen

Oder halt einfach 2 (in Worten: zwei) Widerstände pro Signal.
Wobei der eine Widerstand (Serienterminierung 33Ω) wohl schon da ist.
Wäre das zu einfach oder was?

von Holger (Gast)


Angehängte Dateien:

Lesenswert?

Clemens L. schrieb:
> 200 Mbps sind 100 MHz, aber ich weiß nicht, ob dein Originalsignal 165
> MHz oder 165 Mbps hat.

Ja, das Signal hat 165MHz (Pixelclock von 1920p HDMI RGB Daten)

Clemens L. schrieb:
> Aber für das Verringern der Spannung von unidirektionalen Signalen
> brauchst du nicht unbedingt einen Levelshifter, sondern kannst auch
> irgendeinen Treiber mit überspannungsfesten Eingängen benutzen, z.B.
> SN74AVC16244 (345 Mbps) oder SN74AUC16244 (555 Mbps).

Vielen Dank für diesen Hinweis!
Letzterer würde dann wohl in Frage kommen.

Clemens L. schrieb:
>> [Chip 3.3V] - [33 Ohm] -- [Level Shifter] - [33 Ohm] - [1.8V Chip]
>
> Das Eval-Board hat Widerstände auf beiden Seiten, weil Signale in beide
> Richtungen übertragen werden könnten.

Das obige Beispiel befindet sich nicht auf dem EVAL. Das war mein 
Vorschlag.
Auf dem EVAL ist ebenfalls nur Unidirektional. Dort befindet sich kein 
Level-shifter, da alles 3.3V Logik ist.

Clemens L. schrieb:
> Die Impedanz eines CMOS-Eingangs ist ungefähr unendlich, also brauchst
> du 33 Ω nur am Ausgang. Und AVC/AUC-Treiber brauchen normalerweise
> überhaupt keine Widerstände, weil sie spezielle Ausgangstreiber haben,
> die ihre Impedanz während des Schaltvorgangs ändern.


Ich verstehe deine obige Aussage nun nicht ganz.
Empfiehlst du mir nun, von meinem 3.3V ausgang zu meinem 1.8V LVCMOS 
Eingang lediglich einen Serienwiderstand einzubauen?

Oder Würdest du zwischen [3.3V] und [1.8V LVCMOS] noch einen 
Levelshifter in Form eines SN74AUC16244  einsetzen? Aber dafür auf die 
Widerstände verzichten?

Axel S. schrieb:
> Oder halt einfach 2 (in Worten: zwei) Widerstände pro Signal.
> Wobei der eine Widerstand (Serienterminierung 33Ω) wohl schon da ist.
> Wäre das zu einfach oder was?

Du meinst sowas, wie ich im Anhang habe?

von Holger (Gast)


Angehängte Dateien:

Lesenswert?

Hier habe ich nun eine Version mit dem neuen Levelshifter.

Müsste dies ohne Serienterminierung funktionieren?

Oder sollte ich zumindest in der linke Seite (3.3V) eine 
Serienterminierung einfügen?

Danke!

von Holger (Gast)


Angehängte Dateien:

Lesenswert?

Hier noch die Version mit Widerständen.

Ich gehe davon aus, dass dies wohl das optimum sein müsste.

Was meinen die Experten?

von HildeK (Gast)


Lesenswert?

Holger schrieb:
> Ich gehe davon aus, dass dies wohl das optimum sein müsste.

Wahrscheinlich nicht!

Es hängt davon ab, wie lang die Leitungen sind. Wo kommt Video_IN her? 
Wie lang sind diese Leitungen? Die Serienwiderstände müssen ganz nahe an 
der Quelle sitzen, sonst bewirken sie nichts.
Wenn zwischen den AUC16244 und dem DS90C187 nicht nur wenige cm (mm) 
Leitung sind, dann müssen auch Serienterminierungswiderstände an den 
Ausgang der 16244!

Wie ich schon schrieb: für mich wäre das Optimum ein Serienwiderstand 
direkt an der Quelle, der an die Leitung angepasst ist und am Ende der 
Leitung ein Abschlusswiderstand zur Pegelwandlung. So, wie in deinem 
IDT-Link vorgeschlagen. Zumal das noch die billigste und platzsparendste 
Lösung ist.

Und bei den Technologien, die behaupten, keine Terminierung zu 
benötigen, wäre ich vorsichtig. Gerade ICs mit 'eingebauten' 
Serienterminierungen haben mir schon manches graue Haar verursacht 
(Xilinx Zynq, i.MX6).

von Holger (Gast)


Angehängte Dateien:

Lesenswert?

Danke für deine Antwort.


Das alles befindet sich auf einem Board.

Vom ADV7610 gehts direkt zum DS90C187

Da liegen dann vielleicht 50mm dazwischen.

Hab mal noch eine Systemübersicht erstellt.

Am Bus hängt auch noch ein FPGA.
Eventuell würde es dann sinn machen, dieses auch mit an die 1.8V zu 
hängen (Variante 1 im Bild). Da dies dann nach dem 244er Treiber wäre. 
Vorausgesetzt ich würde den 244er einsetzen.

Jedenfalls denke ich, dass dieses Szenario eher gegen die 
Widerstandslösung spricht.

von Holger (Gast)


Lesenswert?

Ich denke ich wechsle am besten den Receiver (DS90C187) durch einen 3.3V 
kompatiblen aus.

Dann hab ich die Probleme weg :)

von Clemens L. (c_l)


Angehängte Dateien:

Lesenswert?

HildeK schrieb:
> Und bei den Technologien, die behaupten, keine Terminierung zu
> benötigen, wäre ich vorsichtig. Gerade ICs mit 'eingebauten'
> Serienterminierungen haben mir schon manches graue Haar verursacht
> (Xilinx Zynq, i.MX6).

AVC/AUC haben keine fest eingebauten Serien-Terminierungs-Widerstände; 
sie schalten zwischen verschieden Impedanzen um:
http://www.ti.com/lit/pdf/scea006
http://www.ti.com/lit/pdf/scea027

Wer (durch Erfahrung) paranoid genug ist, sieht am Anfang von langen 
Leitungen wenigstens 0 Ω vor, um die Terminierung bei Bedarf anpassen zu 
können.

von Clemens L. (c_l)


Lesenswert?

Holger schrieb:
> Dann hab ich die Probleme weg :)

Aber nicht die Frage der Terminierung ...

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.