Forum: Mikrocontroller und Digitale Elektronik LVCMOS33 Terminierung mit 50OHM notwendig/erlaubt?


von Termi (Gast)


Lesenswert?

Hallo,

Folgende Konstellation:
-----------------------

FPGA_VIRTEX5_LVCMOS33 --> ADN4667_LVDS_DRIVER

- Wegstrecke vom LVCMOS33 Ausgang zum LVDS_Driver Eingang = 5cm.

Frage:
------

Ist am Eingang des LVDS_Drivers eine Terminierung nötig?

Überlegung:
-----------

Der Ausgangsstrom eines LVCMOS33-Ausgangs wird nicht mehr als 24mA 
betragen. Terminiere ich mit 50 Ohm sinkt die Spannung auf 1,2V, was 
nicht mehr als High Pegel beim LVDS_Driver erkannt wird.

Also Terminierung ganz weglassen? Überlegungen richtig?

Danke und Gruß

von Falk B. (falk)


Lesenswert?

@ Termi (Gast)

>FPGA_VIRTEX5_LVCMOS33 --> ADN4667_LVDS_DRIVER

>- Wegstrecke vom LVCMOS33 Ausgang zum LVDS_Driver Eingang = 5cm.

>Ist am Eingang des LVDS_Drivers eine Terminierung nötig?

Siehe Wellenwiderstand.

>Der Ausgangsstrom eines LVCMOS33-Ausgangs wird nicht mehr als 24mA
>betragen. Terminiere ich mit 50 Ohm sinkt die Spannung auf 1,2V, was
>nicht mehr als High Pegel beim LVDS_Driver erkannt wird.

So geht es also nicht ;-)

>Also Terminierung ganz weglassen? Überlegungen richtig?

Nö. Lies den Artikel. Du kommst allein drauf (und es ist pädagogisch 
wertvoll)

von Termi (Gast)


Lesenswert?

Falk B. schrieb:

>>Also Terminierung ganz weglassen? Überlegungen richtig?
>
> Nö. Lies den Artikel. Du kommst allein drauf (und es ist pädagogisch
> wertvoll)

Hi Falk!

Danke für die Rückmeldung.

Die Sache mit dem Wellenwiderstand ist mir klar ;-). Allerdings stellt 
sich die Frage ob eine externe Terminierung nötig ist. Eine 
Serienterminierung am Ausgang des FPGA ist wohl nicht nötig?

von Falk B. (falk)


Lesenswert?

@ Termi (Gast)

>Die Sache mit dem Wellenwiderstand ist mir klar ;-).

Wenn es das wäre, würdest du die Frage nicht stellen.

>Allerdings stellt
>sich die Frage ob eine externe Terminierung nötig ist. Eine
>Serienterminierung am Ausgang des FPGA ist wohl nicht nötig?

Ich wiederhole mich. Lies den Artikel Wellenwiderstand in RUHE und 
denk drüber nach. Dort steht alles drin!

(Nein, ich verrate die Lösung nicht. Wenn jemand diese einfache Frage 
nicht mit der eigenständigen Lektüre und Nachdenken lösen kann, dann 
sehe ich schwarz, dann das wäre fast uner Arduino-Niveau!)

von Termi (Gast)


Lesenswert?

Ich präzisiere meine Ausage mal: Der Ausgangsstrom des LVCMOS33-Pins ist 
beim FPGA konfigurierbar (von 2...24mA). Entspricht dies nicht bereits 
einer einstellbaren Impedanz und somit einer einstellbaren 
Serienterminierung?

Es geht mir im Prinzip nur darum, ob generell überhaupt ein externes 
Bauteil nötig ist (Parallelterminierung scheidet aus, bleibt nur die 
Serienterminierung).

von Falk B. (falk)


Lesenswert?

@Termi (Gast)

>Ich präzisiere meine Ausage mal: Der Ausgangsstrom des LVCMOS33-Pins ist
>beim FPGA konfigurierbar (von 2...24mA). Entspricht dies nicht bereits
>einer einstellbaren Impedanz und somit einer einstellbaren
>Serienterminierung?

Nein, zumal diese Angaben rein statisch sind. HF-mäßig haben sie nur 
bedingt Einfluß.

>Es geht mir im Prinzip nur darum, ob generell überhaupt ein externes
>Bauteil nötig ist (Parallelterminierung scheidet aus, bleibt nur die
>Serienterminierung).

Schon mal ein richtiger Gedanke. Geh doch einfach mal die Betrachtung 
des Artikels (TIPP! Anstiegszeit) hier durch und rechne nach.

von Termi (Gast)


Lesenswert?

So ich bins nochmal :-)

Danke Falk für deine Denkanstöße.

Es ist nun so, dass der FPGA intern schon die Terminierung 
(Serienterminierung) ermöglicht. Somit brauche ich keine extra Bauteile 
mehr. Das wars eigentlich schon was ich wissen musste. Der 
Wellenwiderstand der Leitung wird nat. entsprechend dimensioniert.

Nochmals Danke und schönes Wochenende!

von Termi (Gast)


Lesenswert?

Achso falls es noch jemanden interessiert und der Vollständigkeit 
halber:

http://www.xilinx.com/support/documentation/user_guides/ug190.pdf

Seite 224

von HildeK (Gast)


Lesenswert?

Termi schrieb:
> Es ist nun so, dass der FPGA intern schon die Terminierung
> (Serienterminierung) ermöglicht.

Leider sind diese internen Terminierungen nicht immer besonders toll, 
dafür per SW einstellbar. Sind eben Nachbildungen eines ohmschen 
Verhaltens mittels Stromquellen, deren Wirkung über den ganzen Signalhub 
nicht ordentlich ohmisch ist. Ich habe da schon mal Schiffbruch erlitten 
- war aber kein Xilinx-Baustein.
Mein Tipp: für die Taktleitungen einen externen, echten Widerstand 
vorsehen und erst nach Verifikation in deiner Umgebung kannst du dann 
ev. mit 0R bestücken oder ihn beim Redesign dann weglassen. Die 
Datenleitungen sind weniger kritisch.

von Termi (Gast)


Lesenswert?

HildeK schrieb:
> Termi schrieb:
>> Es ist nun so, dass der FPGA intern schon die Terminierung
>> (Serienterminierung) ermöglicht.
>
> Leider sind diese internen Terminierungen nicht immer besonders toll,
> dafür per SW einstellbar. Sind eben Nachbildungen eines ohmschen
> Verhaltens mittels Stromquellen, deren Wirkung über den ganzen Signalhub
> nicht ordentlich ohmisch ist. Ich habe da schon mal Schiffbruch erlitten
> - war aber kein Xilinx-Baustein.
> Mein Tipp: für die Taktleitungen einen externen, echten Widerstand
> vorsehen und erst nach Verifikation in deiner Umgebung kannst du dann
> ev. mit 0R bestücken oder ihn beim Redesign dann weglassen. Die
> Datenleitungen sind weniger kritisch.

Hi Hilde,

Welchen FPGA hattest du denn? Meines Wissens nach Arbeiten die Xilinx 
mit einem Referenzwiderstand. Beim Spartan6 beispielsweise wird im 
Datenblatt schon auf die Ungenauigkeit hingewiesen. Dort heißt es:
1
The Spartan-6 FPGA programmable output driver impedance feature is similar to the DCI  feature available in many other Xilinx FPGA fa
2
milies. However, an important difference is 
3
that the programmable output driver impeda
4
nce is not calibrated, and therefore some 
5
variation to the target output impedance valu
6
e will exist across process, temperature, and 
7
voltage variations. Proper evaluation of the system should always include signal integrity
In einem Xilinx Forum schrieb ein Moderator, man könne die 
Serienterminierung durch die Einstellung der Treiberstärke in etwa 
hinbiegen (was nun im Widerspruch zu Falks Aussage steht, die 
Treiberstärke wäre nur statischer Natur).

"The other good news?  Yes, 8 or 6 mA is very close to 50 ohms:  USE IT! 
(if your pcb is 50 ohms, that is)."

https://forums.xilinx.com/t5/Spartan-Family-FPGAs/Spartan-6-LVCMOS33-output-termination/td-p/323197
analysis, ideally by using Xilinx IBIS models and running IBIS 
simulations.

von Falk B. (falk)


Lesenswert?

@ Termi (Gast)

>In einem Xilinx Forum schrieb ein Moderator, man könne die
>Serienterminierung durch die Einstellung der Treiberstärke in etwa
>hinbiegen

Mit der Betonung auch "hinbiegen".

> (was nun im Widerspruch zu Falks Aussage steht, die
>Treiberstärke wäre nur statischer Natur).

Naja, es ist keine exakte Wissenschaft ;-)

>"The other good news?  Yes, 8 or 6 mA is very close to 50 ohms:  USE IT!
>(if your pcb is 50 ohms, that is)."

Hast du wirklich 50 Ohm Leitungen?

von Termi (Gast)


Lesenswert?

Nachtrag:

Hier Das Datenblatt vom Spartan6:

http://www.xilinx.com/support/documentation/user_guides/ug381.pdf

Auf Seite 16.

Der Virtex5 ist da wohl genauer was die Impedanzanpassung betrifft (DCI)

von Termi (Gast)


Lesenswert?

Falk B. schrieb:
> @ Termi (Gast)
>
>>In einem Xilinx Forum schrieb ein Moderator, man könne die
>>Serienterminierung durch die Einstellung der Treiberstärke in etwa
>>hinbiegen
>
> Mit der Betonung auch "hinbiegen".

Hi Falk,

Ich bin da ganz Deiner Meinung (also auch etwas skeptisch).
Beim Virtex5 mache ich mir da allerdings keine Gedanken. Aber die 
Angaben zum  Spartan6 (mit dem ich mich auch beschäftige) sehen nicht so 
vertrauenserweckend aus :-/

> Hast du wirklich 50 Ohm Leitungen?

Die Leitungen (Leiterbahnbreite bei gegebenem Abstand zur Massefläche) 
lasse ich mir vom Leiterplattenhersteller berechnen und bin da bislang 
sehr gut gefahren.

von HildeK (Gast)


Lesenswert?

Termi schrieb:
> Hi Hilde,
HildeK bitte!
>
> Welchen FPGA hattest du denn?
Kein FPGA, sondern einen Freescale Grafikprozessor. Wie gut das jeweils 
implementiert ist, hängt eben auch vom Know-How und den Ansprüchen des 
Herstellers ab.

Du wirst sicher mit der internen Quellterminierung auskommen. Zumal es 
nur 5cm an Leitungslänge sind (obwohl, die Virtex sind recht schnell).
Außerdem: eine Ablage von 10% ist da völlig harmlos. Es wird nicht so 
heiß gegessen wie gekocht :-).
Außerdem: was für eine Eingangsspezifikation hat dein LVDS-Treiber? Es 
kann durchaus sein, dass der auch einen größeren Überschwinger oder 
Unterschwinger per Spezifikation verträgt. Dann brauchst du bei 5cm 
vielleicht gar nichts.
Falls einstellbar: lieber etwas zu niedrig terminieren, das gibt dann 
zwar leichte Überschwinger, aber gleichzeitig bleibt auch das Signal 
steiler.

Es ist jedenfalls auch bei Xilinx so, dass aus den Angaben der 
einstellbaren Treiberstärke, der SlewRate usw. nicht zuverlässig gesagt 
werden kann (zumindest steht das nicht im Datenblatt), welcher 
Serienwiderstand dabei emuliert wird. Aber der Support hat ja eine 
Definition abgegeben, das ist schon mal ganz gut.

von Dirk (Gast)


Lesenswert?

Den LVDS-Modus vom FPGA wolltest Du nicht nehmen?

Termi schrieb:
> Also Terminierung ganz weglassen?
Ja, Mut zum Risiko!

Was hast Du für Messmöglichkeiten zur Verfügung?
Welche Datenrate soll genutzt werden?
Wie die Terminierung dimensioniert werden sollte, hängt ja auch von der 
Eingangskapazität des LVDS-Treibers ab. Dazu habe ich auf die Schnelle 
im Datenblatt nichts finden können.

Im Zweifelsfall (wie schon geschrieben wurde) Widerstände vorsehen. Mit 
0 Ohm kann man die immer noch bestücken.

Dirk

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.
Lade...