Kommunikation mit zwei Multigigabit-Transceiver(GTX)

Gast #3279121
Lesenswert?
• ▲
▼
Hallo,
hat schon von euch jemand nähere Erfahrung mit den GTX gemacht?

Mein Problem ist folgendes:

Ich nutze den integrierten Biterrorrate-Tester (IBERT) von Xilinx um 
meine Virtex-5 GTX Transceiver zu untersuchen. Wenn ich keinen 
SMA-Kabelloop von TX auf RX ziehe, dann schaffe ich auch bei 5 Gigabit 
ein BER < 1E-13 (fast keine Fehler messbar). Also alles soweit in 
Ordnung.

Nun selbes Spiel mit zwei FPGA-Boards. Hier erreiche ich nach justieren 
der Equalizer(im 1-Board-Kabelloop war das fast nicht nötig) eine BER 
von 1E-5. Da man ja sicher diesen Transceivern für die Kommunikation zu 
einem anderen Gerät nutzt, verwundert mich diese hohe BER.

Nun meine Frage, ist dies normal? An welchen Stellen sollte ich nochmal 
nachschauen bzw. gibt es hier ein allgemeines Problem?

Gruß
#3279143
Lesenswert?
• ▲
▼
Hast du denn die Clock Correction aktiviert wenn du von Board zu Board 
gehst? Ansonsten müsstest du von einem externen Oszillator beide 
REF-Clocks mit dem selben Takt versorgen. Ohne Clock Correction driftet 
das weg und du hast natürlich eine hohe Fehlerrate. Ich hab hier ein 
Design mit 2,5GBit/s vom ML605 (GTX) auf das SP605 (GTP) bzw. auch aufs 
AC701 (GTP) und nutze die Clock Correction, also nur 4 SMA Kabel (50cm) 
zwischen den Boards. Fehlerrate liegt bei 0 auch nach Tagen.
Gast #3279719
Lesenswert?
• ▲
▼
Das ist ein interessanter Punkt.

Meine Annahme war, dass der CDR-Clock für die empfangenen Daten genommen 
wird. Anscheinend wird aber dann doch mit dem Refernenztakt 
weitergearbeitet (Taktübergang am Elastic Buffer), wodurch das o.g. 
Problem entsteht.

Schonmal Danke, das erklärt warum mein Design viel bessere BER erreicht 
als der Board-Board IBERT.

Hättest du noch eine Idee wie man den IBERT am einfachsten für zwei 
Boards konfiguriert? Oder muss ich damit auskommen, dass dieser für zwei 
unabh. Referenztakte nicht ausgelegt ist? Einfach ClockCorrection 
aktivieren wird wohl nicht funktionieren?

Vielen Dank schonmal :)
#3279957
Lesenswert?
• ▲
▼
Stimmt, das reicht natürlich nicht. Du musst ja auch alle Nase lang dann 
die vereinbarte Clock Correction Sequenz senden. Ich hatte mir dann eine 
kleine Platine gebaut, die einen LVDS Oszillator drauf hat und einen 1:2 
Verteiler, damit ich beide Boards per SMA Kabel mit dem REF Clock 
versorgen kann. Die Null Fehler mit Clock Correction erreiche ich mit 
meinem eigentlichen Design, zumindest bisher und trotz SMA Kabel. Das 
Ziel-Design wird dann per Steckkarte angebunden und mit REF Clock 
versorgt um den Stress dort nicht zu haben.
Was ich auch mal probiert hatte: Den 200MHz Oszillator nehmen, per DCM 
auf 125MHz bringen und per LVDS am USER GPIO ausgeben. Dann ein passiver 
Verteiler für die beiden Boards. Das hatte auch geklappt. Musst nur den 
GTX erst vom Reset loslassen, wenn das LOCK vom DCM da ist. Für Tests 
reicht das auch.
Gast #3280279
Lesenswert?
• ▲
▼
Schade. Also bleibt nur Refclock rüberschleifen als Lösung, was gerade 
in dem Design nicht geht.

Immerhin weiß ich jetzt, dass ich den 2-Board-Wert nicht trauen kann und 
der OnBoard-Loop aussagekräftiger ist.

Anscheinend habe ich noch einen anderen Fehler im Design. Unangenehm 
natürlich, wenn die Simulation sagt es wäre in Ordnung.

Danke nochmals, den Referenztakttest werde ich für spätere Design im 
Auge behalten.
Gast #3281424
Lesenswert?
• ▲
▼
funktioniert jetzt tadellos!

hatte leider noch txreset/rxreset auf Flanke der Locked-Signale gesetzt 
und damit Resetpulse ausgelöst. Für niedrige Geschwindigkeiten kein 
Problem. Anscheinend jedoch, wenn es schneller wird (in der Sim lagen 
wohl die Phasen idealer). Nach Richtigsetzen funktioniert es nun wie 
erwartet.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.