Hallo zusammen Ich bin zur Zeit daran, eine RX-LVDS-Anbindung an mein FPGA (Stratix III / Cyclone V) zu realisieren. Format: 1-bit Start (1), 10-bit Nutzdaten, 1-bit Stop (0). Meine aktuelle Lösung benötigt 2 differentielle Paare (data_p/n, clk_p/n) plus GND. Denselben Job würde mir ein externer Baustein machen (ds92lv1212a), allerdings ohne das Clock-Paar zu benötigen, er synchronisiert sich auf das Datensignal auf. Ich will möglichst wenig Signale übertragen, aber auch keinen zusätzlichen Chip einsetzen. Gibt es einen Weg, dies auf den obengenannten FPGA zu realisieren? Eine erste Idee wäre das Stichwort "Soft-CDR" gewesen, gibt's aber nur für Stratix V. Hat das jemand schon gelöst? Gruss
LVDS ist erstmal nur ein elektrischer Standard und man kann damit machen, was man will. Wenn die Übertragungsraten nicht zu hoch sind, kannst du auf einem LVDS-Port die gleichen Methoden anwenden, wie wenn du einen einfachen UART implementieren würdest. Abtasten, Startbit erkennen, 10 Bits sampeln, Ende
> ds92lv1212a
Was meinst du wofür der einen Ausgang namens "Clock Recovery" hat ?
Richdisch, damit holt er sich die Clock aus dem Datnestrom und gibt sie
an den dahinterliegenden Baustein weiter damit der nun die anderen
Asugänge Samplen kann. Den haben die Entwickler nicht aus Spaß
drangebastelt.
Schlumpf schrieb: > kannst du auf einem LVDS-Port die gleichen Methoden anwenden, wie wenn > du einen einfachen UART implementieren würdest. > Abtasten, Startbit erkennen, 10 Bits sampeln, Ende Aber nicht, wenn der Datenstrom mit 400MHz angepurzelt kommt... ;-) > Wenn die Übertragungsraten nicht zu hoch sind Laut DB sind es 16..40MHz auf der "langsamen" Seite und bis zu 400MHz auf der LVDS-Seite. Und bei einem Verhältnis von 12:1 ist ein manuelles Clock-Recovery schon nicht ganz einfach...
Richtig, bei 400 MHz wird es sportlich ;-) Aber wir wissen ja nichts über die geforderte Datenrate. Der TO schrieb ja nur, dass er eine Lösung mit einem externen Baustein hätte. Muss ja nicht sein, dass er diese Datenrate auch tatsächlich benötigt. Ein Clock-Recovery im eigentlichen Sinne braucht er bei insgesamt 12 Bit Daten pro Frame nicht. Soweit driften seine Quarze nicht auseinander, dass er hier eine Phasenkorrektur vornehmen müsste. Mit der Startbedingung wird aufsynchronisiert und dann die folgenden paar Bits äquidistant gesampelt.
> Was meinst du wofür der einen Ausgang namens "Clock Recovery" hat ? > Richdisch, damit holt er sich die Clock aus dem Datnestrom und gibt sie > an den dahinterliegenden Baustein weiter damit der nun die anderen > Asugänge Samplen kann. Den haben die Entwickler nicht aus Spaß > drangebastelt. Genau, und diesen Baustein würde ich nun gerne ins FPGA "wegrationalisieren", ohne dass ich aber den Clock auf den Connector geben muss. > Von welchen Datenraten redest du? 324 Mbit/s > Abtasten, Startbit erkennen, 10 Bits sampeln, Ende Leider nein...
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.