seriellen ADC auslesen

Gast #850135
Lesenswert?

Ich habe einen AD-Wandler, der serielle LVDS-Signale abgibt. (16 Bit + 
Takt). In Quartus wollte ich einen LVDS Transceiver instanziieren, finde 
aber keinen für 16 Bit. Muss ich da zwei 8-Bitter nehmen ?

Wie speise ich den Takt ein? Der Wandler hat eine interne PLL, mit der 
er exakt wandelt, den würde ich gerne benutzen. Der kommt aber auch über 
LVDS - wie schließe ich den an?

Wie ich es sehe, muss der an den Takteingang des SERDES, aber wie 
bekomme ich aus dem LVDS-Paar einen einzigen Takt ?
Gast #850794
Lesenswert?

>Ich habe einen AD-Wandler, der serielle LVDS-Signale abgibt.
>wollte ich einen LVDS Transceiver instanziieren,
Du kannst entweder einen Sender oder einen Empfänger einsetzen. Willst 
Du beides, musst Du zwei Komponenten benutzen.

> finde aber keinen für 16 Bit. Muss ich da zwei 8-Bitter nehmen ?
Sieht so aus. Ich nehme an, daß das die Zellen nicht können. Allerdings 
habe ich das ausprobiert und sehe, daß auch bei Verwendung von 
Logikzellen vom MegaWiz aus nicht mehr als 10 Bits auf einen Schlag 
umzuwandeln sind, was ich nun nicht kapiere.

Mit 2 x 8 Bit müsste es aber gehen. Hast eben die doppelte Taktrate, 
zumindest auf einer Zwischenstufe.

>Wie speise ich den Takt ein? Der Wandler hat eine interne PLL,
Das haben viele, weil die besser sind, als FPGA-PLLs.

>Der kommt aber auch über LVDS - wie schließe ich den an?
Du nimmst einen der beiden Pins.

>aber wie bekomme ich aus dem LVDS-Paar einen einzigen Takt ?
siehe oben
Gast #851537
Lesenswert?

>Mit 2 x 8 Bit müsste es aber gehen. Hast eben die doppelte Taktrate,
>zumindest auf einer Zwischenstufe.

ok , soweit geht mir das ein. Mir ist aber noch nicht klar, wie ich dann 
zu einem Takt komme?

Muss ich die LVDS-Pins selber abfragen oder gibt es da eine Instanz 
dafür?
Oder route ich einfach den p auf ein Clocknetz ?
Gast #857045
Lesenswert?

Im VHDL Design hast Du nur den einen Pin. Die Zuweisung erfolgt über die 
Bufferdeklaration als LDVS. Die Synthese sagt Dir dann schon, wenn Du 
den n nicht oder falsch angeschlossen hast.

Was mich mal interessieren würde: Kann ich die LVDS-Pins auch "per Hand" 
verarbeiten? MAcht das überhaupt Sinn?
Gast #859458
Lesenswert?

Arbeite dich mal in dieses XAPP ein:

http://www.xilinx.com/support/documentation/application_notes/xapp866.pdf
(den link zur zip findeste im Dokument)

funktioniert super, 16Bit mit sogar 4 Kanälen.
allerdings ist im Schieberegister ein Fehler enthalten, da fehlt ein 
(n-1).
Bei mir läufts mit nem 4x12Bit ADC und 20MS der in LVDS sendet 
wunderbar.
Deine Daten haste dann parallel vorliegen.

gruß

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren