mikrocontroller.net

Forum: FPGA, VHDL & Co. LVDS mit Spartan 3


Autor: FPGA-User (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hat einer Erfshrung mit LVDS-Übertragung mittel eines Spartan 3 ?

Es geht darum, Videosignale mittels LVDS direkt auf einen Spartan 3 zu
geben. Angeblich hat der FPGA bestimmte Pin-Kombinationen, die für LVDS
geeignet sind.

Hat jmd. Erfahrungen damit und kann mir mehr Informationen darüber
geben (z.B. welche Pins dazu geeignet sind, ob es generell geeignet
ist, störende Effekte etc.) ?

Wie lese ich die LVDS-Signale dann aus (RGB-Werte) ?

Danke und Gruß

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau mal unter ibuf_selectio.pdf in deinem ISE Verzeichniss nach, dort
sind dann die verschiedenen IO Buffer aufgelistet, die du je nach dem
welches IO Format du benutzt in dein Design einbinden musst.


component IBUF_selectIO
port (O : out STD_ULOGIC;
I : in STD_ULOGIC);
end component;

Das Auslesen geht so vonstatten wie du es gewöhnt bist.

Der Spartan hat eine Reihe von Bänken, je nach größe des FPGA
unterschiedlich viele. Du darfst nur ein bestimmtes IO Format auf einer
Bank benutzen, sonst meckert die ISE beim place and route.

Ich weiss allerdings nicht, ob nur bestimmte Pins einer Bank für LVDS
geeignet sind. Am besten machst du mal ein Probedesign mit fast leerer

Architectur. Du solltest allerding input pins lesen und Output pins mit
einem Signal beaufschlagen. Die gelesenen Pins irgendwie auswerten ,
sonst werden die IO Buffer herrausoptimiert und am besten wieder auf
die Ausgangsbuffer legen, sonst (Fehler bei Bitfile generation wenn ich
mich nicht irre).

Allerdings habe ich leider noch keine Erfahrung mit LVDS machen können.
Deine Erkenntnisse diesbezüglich würden mich aber schon interessieren.

G. Tobias

Autor: Sven Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin...

Es gibt vordefinierte Paare die als p und n des jeweiligen LVDS Buffers
funktionieren. Wenn du die PACE Software von Xilinx benutzt kannst du
irgendwo die Option "shof diff. pairs" anwählen. Im Pinout werden
dann kleine Striche eingeblendet, das sind die Paare.

Die Einschränkung der IO Stds bezieht sich meistens nur auf Versorgung
und Termination. Also eine Spannung und eine Termination (oder keine)
pro Pin. Die Components die du brauchst sind IBUFDS und OBUFDS => siehe
Doku.

Du solltest dich aber auf jeden Fall auch um Terminierung,
Treiberanpassung und Leitungsimpedanz kümmern, sonst kannst du deine
Signale schätzen, nicht einlesen!

--
 Sven Johannes

Autor: FPGA-User (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK, da gibts also noch mehr FPGA-User, der Beitrag is nich von mir
:-)))

Autor: Hoschi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi FPGA-User,

wenn Du LVDS mit dem FPGA benutzen willst, mußt Du auch dran denken,
die speziellen VCCIO-Pins des FPGA's mit 1,8V zu versorgen (siehe PDF
von Xilinx).

Ich kann Dir aus eigener Erfahrung aber davon abzuraten die LVDS-Option
des FPGAs zu nutzen, benutze lieber 'normale'-IOs und schalte dahinter
LVDS-Treiber. Und wie von Sven schon angesprochen, vergiss nicht die
LVDS-Signale abschliessen (meist um die 100Ohm)

Autor: FPGA-User (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vieln Dank für die Beiträge, aber mir ist so einiges noch nicht klar:

- benötige ich wirklich die 1,8V zur Versorgung ? Wozu dient diese
Spannung ? Wo steht es, dass man diese Spannung braucht ?

- gibt es irgendwelche application notes von Xilinx, in denen die
Benutzung genauer beschrieben ist ?

- wie lese ich die LVDS-Kanäle aus. Ich will RGB-Daten direkt an das
FPGA übertragen(6Bit je Farbe über einen LVDS-Kanal und einmal Clock -
also insgesamt benötige ich 4 LVDS-Kanäle)

- wie und wo muss ich die Inputs definieren ?

Schon mal vielen Dank

Autor: Sven Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin...

In dieser Reihenfolge:
- Spartan 3 Platform FPGA Handbook Seite 21. Allerdings unterstützt ein
S3 nur LVDS_25, also 2,5V an den Vcco, nur für Out. Wenn du nur lesen
willst brauchst du die Sapnnungen wohl nicht.

- Ja. Bei Xilinx lvds und ggf. spartan3 in die Suche klopfen und Feuer.


- Siehe Protokoll deines Senders. Die Bits werden ja wohl in
definierter Reihenfolgen auflaufen. CLK lieferst du mit, also hopp in
die Register.

- Instanziiere vier IBUFDS und ab dafür. Musst nur aufpassen das du die
Eingänge des Buffers an passende Pins hängst. (Constraints)

--
 Sven Johannes

Autor: F01Qx (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@FPGA-User:
Du willst wahrscheinlich ein digitales Videosignal (DVI oder
LVDS-Schnittstelle zum Notebook-TFT) einlesen.
Vielleicht helfen dir die Datei im Anhang und
www.mikrocontroller.net/attachment.php/215456/tft_xga_lvds.pdf

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.