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


von Thomas (Gast)


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

von Georg A. (Gast)


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 ;)

von Georg A. (Gast)


Lesenswert?

Edit: Der AD9882 wars...

von Thomas (Gast)


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

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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...

von Julian G. (jag9624)


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...)

http://www.youtube.com/watch?v=7TX2MP11KlI

lG Julian

von Guido G. (Firma: privat) (guigra)


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

von Roman Dietrich (Gast)


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

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.