www.mikrocontroller.net

Forum: FPGA, VHDL & Co. DVI input via fpga


Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

mich beschäftigt heute nur die Realisierbarkeit mit heutiger günstiger 
Technik, ich habe schon des längeren die Absicht so ein Gerät zu 
"basteln".


Ich würde gerne mit Hilfe eines FPGAs ein DVI Signal aus meinem PC 
(Auflösung 1024x768 würde reichen) in Graustufen wandeln, komprimieren 
und mit wenigen Bildern pro Sekunde per Netzwerk verschicken.
Dafür würde ich das Bild gerne ersteinmal pixelweise in einen Ram 
einlesen und von dort aus weiterbearbeiten.

Das ganze dann woanders wieder auspacken und auf einem Display 
darstellen.


Nun die Frage... Laut Wikipedia unterstützt ein normaler dvi einzelkanal 
port bereits 3,7gbit/s.

Gehe ich richtig in der Annahme, dass ich derartige Symbolraten mit 
preisgünstigen FPGAs nie und nimmer hinbekomme?


Beste Grüße

Autor: Georg A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt Dinge, die will man nicht selber machen, ausser man hat viel 
Geld oder viel Zeit oder wenig Platz zur Verfügung ;)

Für DVI gibt es so schöne fix&fertige Chips, die die 
Seriell/Parallel-Wandlung machen und die man (im Gegensatz zu HDMI wg. 
dem HDCP) auch "einfach so" bekommt. Schau zB. mal den TFP403 von TI 
oder den AD9982 an. Gibts bei Digikey und kosten EINZELN nur ca. 10EUR, 
und sind auch nicht BGA. Dahinter kann man dann ganz bequem FPGAs 
(Spartan&Co) setzen. Bei dem Preis dürfte ich für eine vollständig 
integrierte FPGA-Realisierung max. 5-10min nachdenken und 
implementieren, damit sich Eigenbau wirklich rechnet ;)

Autor: Georg A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Edit: Der AD9882 wars...

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey Georg,

erstmal danke für die fixe Antwort :)

Für mich ist das relativ absolutes Neuland. Kennt jemand evtl.  ein 
bereits bestehendes Projekt, was ähnliches tut/versucht?

Also im Prinzip einfach nur dvi oder hdmi bilder aufnehmen und irgendwo 
hinschreiben/bearbeiten/verschicken.


Viele Grüße

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Für mich ist das relativ absolutes Neuland.
> Also im Prinzip einfach nur dvi oder hdmi bilder aufnehmen
Und das nur mit einem FPGA? Das ist gar nicht einfach soooo 
einfach. Und schon gar nicht für einen Anfänger...

> Ich würde gerne ... ein DVI Signal aus meinem PC
> (Auflösung 1024x768 würde reichen) in Graustufen wandeln, komprimieren
> und mit wenigen Bildern pro Sekunde per Netzwerk verschicken.
Bis hierher soweit ganz klar: Das kann alles im PC selber passieren, 
denn der hat ja einen Bildschirmspeicher. Aber das wird spannend:
> ... gerne mit Hilfe eines FPGAs ...
Bis wann brauchst du das?
Wieviel Zeit willst du investieren?
Wieviel Geld willst/kannst du investieren?

> Dafür würde ich das Bild gerne ersteinmal pixelweise in einen Ram
> einlesen und von dort aus weiterbearbeiten.
Berechne mal die nötigen Taktfrequenzen und suche nach entsprechenden 
Bausteinen und du wirst herausfinden, dass eine fertig gekaufte Lösung 
nach Art einer "Screenshot-Webcam" garantiert billiger ist...

Autor: Julian Grahsl (jag9624)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo !

Grundsätzlich glaube ich das das möglich ist. Wenn auch nicht einfach. 
Ich beschäftige mich selbst einem ähnlichen Projekt auf privater Basis.



Wenn du Anfänger bist, würd ich das Problem einmal start vereinfach, 
Schwierigkeiten gibt es nämlich im Detail genug :-)

Ich denke die wichtigste Vorraussetzung für ein komplexes System ist 
einfach eine ordentliche Simulationsumgebung aufzusetzten.

Anschließend solltest du dich mal mit der Ansteuerung eines schnellen 
DDR oder DDR2 Speichers über passende MemoryController beschäftigen. 
Dazu gehört der Umgang mit BFM (Bus Functional Model), um Stimuli in 
deine Bus-systeme einfüttern zu können.

Ich bin jetzt soweit (nach langer Session gestern in der Nacht), einen 
DDR2 Speicher über den PLB Bus per BFM anzusteuern (Processor Local 
Bus). Jetzt kann ich mich um das Capturen kümmern, wenn ich weiß wie ich 
die Daten wieder loswerde.

Such dir die Xilinx AppNote XAPP460, um mal grundsätzlich über DVI zu 
erfahren.

Altera-Fans werden aufschreien und meine Xilinx-Lastigkeit bemängeln, 
aber ich bin mal froh das es überhaupt funktioniert :-)

Hast du dich schon für ein FPGA-Board entschieden ? Ich verwende Suzaku 
SZ410 Virtex4FX

Hier in Action: (Die Bilddaten sind momentan noch berechnet, aber möchte 
ich jetzt vom DDR2 streamen, schauen wir mal ob das funktioniert...)

Youtube-Video "Driving a LVDS TFT with Virtex4 FPGA"

lG Julian

Autor: Guido Gratzke (Firma: privat) (guigra)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Thomas,

da hast du dir ja ganz schön was vorgenommen.Für dein Projekt gab es was 
von Pollin im zusammenhang mit einem DSNT Display.Dabei ging es um eine 
Ansteuerung des Displays über die DVI-Schnittstelle.Wenn du eine 
Verarbeitung von Bildern und Videomaterial vornehmen möchtes dann 
solltest du dir ein passendes Developmentboard kaufen welches schon die 
gewünschten Schnittstellen besitzt.Für das Projekt selber würde ich dir 
empfehlen erst mal langsam zu beginnen.Versuche z.B erstmal über die 
serielle Schnittstelle sicher ein Bild in den Speicher(SRAM) zu 
schreiben und wieder auszulesen um es auf einen Monitor(CRT oder LCD) 
auszugeben.Wenn das dann tadelos klappt nimm dir mal die USB und 
Ethernetschnittstelle vor und versuche das gleiche wie mit der seriellen 
Schnittstelle.Dabei wirst eine Menge lernen und sehen das es viel 
zulesen gibt.Schau auch mal hier auf dieser HP nach da gibs auch ne 
generelle Beschreibung über FPGAs und hilfreiche Links die du dir 
ansehen kannst.Du wirst feststellen das dein Vorhaben sehr groß ist und 
selbst wenn du für alles ein vorgefertigtest Modul in VHDL oder Verilog 
findest so kann man es nicht einfach zusammenklichen sondern man muß 
auch wissen wie die Komponeten z.B auf deinen Speicher zugreifen sollen 
da ist ein Kommunikationscontroller nötig der das über ein Protokoll 
regeln muß.Auch über die Datenverarbeitung z.B Kompression/Dekopression 
von Daten oder andere Verarbeitung mußt du dir gedanken machen.
Aber lass dich trotzdem nicht beirren sondern arbeite dich Schritt für 
Schritt vorwärts und dann solltest du auch mit deinem Projekt erfolg 
haben.Ich wollte dir damit nur sagen das du viel Zeit und Gedult 
aufbringen mußt um solch ein Projekt um setzten zukönnen.

mfg guido

Autor: Roman Dietrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich kann mich meinem Vorredner nur anschliessen.
Das Projekt hoert sich nach einer Menge Arbeit und
einigem (vielleicht auch finanziellem) Aufwand an.

Fuer eine Kombination FPGA/DVI/Gigabit-Ethernet
koennte man z.B.
  http://www.altera.com/products/devkits/altera/kit-cyc3.html
  http://www.bitec.ltd.uk/hsmc_dvi.html
einsetzen.

Sofern man irgendwann ein guenstiges Produkt daraus
machen will ist der Cyclone3 keine schlechte Wahl - man
muss ja nicht unbedingt den groessten (wie im DevKit) nehmen.
=> Das obige Beispiel wuerde jedoch schon ueber 1000Euro kosten...
=> Wenn man es auf's notwendigste reduziert kriegt man die
      HW-Kosten bestimmt auf <200 Euro - aber dann ist halt
      sehr viel Arbeit und KnowHow noetig.

Gruss,
    Roman

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.