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ß
@ 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)
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?
@ 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!)
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).
@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.
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!
Achso falls es noch jemanden interessiert und der Vollständigkeit halber: http://www.xilinx.com/support/documentation/user_guides/ug190.pdf Seite 224
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.
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.
@ 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?
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)
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.