mikrocontroller.net

Forum: FPGA, VHDL & Co. seriellen ADC auslesen


Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ?

Autor: Reto (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ?

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe das immer noch nicht raus, wie ich mit den beiden LVDS Pins 
umgehe- was muss man da instanzieren, um sein Einzelsignal zu erhalten?

Autor: Andreas Fischer (chefdesigner)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Arbeite dich mal in dieses XAPP ein:

http://www.xilinx.com/support/documentation/applic...
(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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.