Forum: FPGA, VHDL & Co. LVDS receiver in FPGA-2


von matzunami (Gast)


Lesenswert?

Hallo,
ich  mal mal wider eine Frage zu LVDS.
Kann mir jemand erklären wie das funktioniert mit den Schieberegistern 
paralel_in seriell_out, mit der Taktansteuerung?
Der LVDS Transmitter bekommt von mir einen Takt CLK_in von 20MHz. Laut 
Datenblatt generiert die interne PLL 7 schiebe Takte und ich hab auch 
schon gelesen, dass man das so in der Praxis macht, um nur eine 
Schieberegisterstufe mit der höchsten Frequenz laufen zu lasen. Bei mir 
hatte bisher ein Schieberegister ein Takt zum schieben und ich kann mir 
nicht vorstellen, wie das ein 7 Bit Schieberegister mit 7 Takten macht. 
Sinn und zweck der sache ist, dass gesendete Signal in einem FPGA zu 
empfangen und dazu muss ich erst einmal verstehen, wie genau das signal 
gesendet wird. Versucht die funktion herraus zu bekommen hab ich von dem 
"CS5820" 21:3 LVDS Transmitter.

würde mich freuen wenn mir jemand weiterhelfen kann

von matzunami (Gast)


Lesenswert?

keiner der mir helfen kann?

von Kest (Gast)


Lesenswert?

Formuliere Deine Frage bitte neu. Ich habe nicht verstanden, wie diese 
lautet :-o

Grüße,
Kest

von matzunami (Gast)


Lesenswert?

kurz und knapp... ich möchte einen lvds-receiver in einem fpga 
implementieren und dazu gerne wissen wie der sender genau funktioniert.
Ich werd aus den Datenblättern nicht so richtig schlau.
Speziell die Sache mit der internen Takterzeugung für die Register 
verstehe ich nicht.

von matzunami (Gast)


Lesenswert?

Die Umsetzung des Differenzsignals in TTL Logig im FPGA hab ich schon. 
Nun kommt der Teil, die Bits ordnungsgemäß in ein Schieberegister zu 
schreiben und den Anfang des Datenwortes zu erkennen. Dies muss ja aus 
dem mitgesendetet Takt möglich sein. Um dies richtig zu verstehen, 
wollte ich mir aus dem Datenblatt die Funktionsweise des Senders 
aneignen, was leider bis jetzt ein bischen hängt.

von Kest (Gast)


Lesenswert?

intern wir der Clock entsprechend Deinen LVDS Einstellungen generiert 
(via PLL/DCM). Wenn die Datenrate z.B. 7x höher ist als der LVDS 
referenz clock, dann generiert die PLL den 7x schnelleren Clock.
Mit diesem Clock werden dann die Daten seriell in eine Kette von 7 FF 
geschoben -- hinten kommen dann die seriellen Daten raus.
Wie "genau" diese Takterzeugung funktioniert, weis ich jetzt auch nicht. 
Es kann eine PLL sein oder durch Durchlaufzeiten der Gatter oder was 
weis ich -- hängt wohl von der Technologie des FPGAs ab.

Grüße,
Kest

von Kest (Gast)


Lesenswert?

Ich glaube, Deine Frage hat mit LVDS gar nicht zu tun, sonder mit 
Schieberegistern. Suche einfach bei Google nach "Schieberegistern", 
"shift" register und VHDL/Verilog/FPGA...

Grüße,
Kest

von matzunami (Gast)


Lesenswert?

In LVDS Transmitter'n wird aus dem CLK_in nicht ein Schiebetakt erzeugt, 
sondern (bei mir ein 7 Bit Schieberegister im LVDS Transmitter) 7 
Schiebetakte. Und wie das dann rausgeschoben wird interessiert mich.
Ich hab auch schon bei google unter Schieberegister gesucht aber nix 
gefunden.

von Kest (Gast)


Lesenswert?

Ich bin ratlos, sorry. Was heißt "wie es rausgeschoben wird"? Und dass 
Du über google nichts gefunden hast, glaube ich jetzt mal nicht ;-) 
Willst Du jetzt alles auf Gatterebene wissen? Transistorebene? Wie eine 
PLL funktioniert? Wie ein FF funktioniert?

Grüße,
Kest

von matzunami (Gast)


Lesenswert?

ich weiß wie eine pll funktioniert und ich weiß auch wie ein 
schieberegister funktioniert, mir is aber halt nicht ganz klar wie das 
im lvds transmitter realisiert wird, da wird eben nicht nur ein 
schiebetakt erzeugt.
Man siehts ja auch im datenblatt "Fully integrated on-chip PLL that 
provides 7X CKIN serial shift clock." pro register.

naja trotzdem danke

von matzunami (Gast)


Lesenswert?

kann mir eventuell jemand sagen wie ich am einfachsten in einem virtex 5 
fpga einen lvds receiver implementiere?

von Christian R. (supachris)


Lesenswert?

Du solltest vielleicht bedenken, dass LVDS nicht unbedingt serielle 
Datenübertragung ist. Ebenso erzwingt eine serielle Übertragung nicht 
LVDS. LVDS ist nur der physikalische Standard.
Schau dir im Datenblatt des Virtex 5 die entsprechenden Kapitel zu den 
seriellen Transmittern und Receivern an. Beim Virtex 4 ist es gut 
erklärt, müsste beim Virtex 5 genauso sein (außer dass der eine PLL 
nutzen kann).

von Achim S (Gast)


Lesenswert?

schau dir doch mal die XAPP873 von Xilinx an. Die hat die Anbindung 
eines schnellen DACs über LVDS-Signale zum Thema. Und sie erklärt auch, 
wie du einen OSERDES einsetzt, um die von dir gewünschte Funktionalität 
des Schieberegisters zu erzeugen. Ist also alles drin, was du brauchst, 
sogar mit link auf ein Referenzdesign ...

schöne Grüße

Achim

von matzunami (Gast)


Lesenswert?

ok vielen danken

mfg
matzunami

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.