Hey Leute, Erst mal zu meinem Vorhaben: ich möchte gern 4 DVI Outputs mit einem FPGA realisieren. Dazu habe ich mir dieses Board rausgesucht: http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=167&No=941 Da es kein bezahlbaren FPGA Bzw ein DevelopmentBoard mit genügend TMDS Pins gibt habe ich mich mal nach DVI Chips umgesehen. Da fiel mir der TFP410 ins Auge: http://www.ti.com/lit/ds/symlink/tfp410.pdf Hat von euch schon jemand mit dem Chip gearbeitet? Wenn ich mich nicht irre müsste ich pro GPIO Header (36 IOs) 2 DVI Schnittstellen realisiert bekommen, wenn ich in dem 12-Bit DoubleEdge Mode arbeite. Meine FPGA Bzw VHDL Kentnisse sollten dazu ausreichen denke ich, habe das im Studium aktuell und da läuft es steht gut (Realisierung einer kleinen CPU, serielle Schnittstellen, Sensor Auswertungen etc). Eher bedenklich finde ich den Hardware Teil. Wie komplex ist es das ganze zu Layouten für eine 1280x960 Auflösung? Gibt es eine Beispielbeschaltung für den TFP410 an einem DVI Stecker? Oder spricht sonst etwas gegen mein Vorhaben oder habt ihr bessere Ideen? Liebe Grüße Donnidonis
Donni D. schrieb: > Oder spricht sonst etwas gegen mein Vorhaben Was soll es denn werden? Wofür sind die 4 DVI Ausgänge? Woher kommen die Daten/Bilder?
Ich kann mich dran erinnern, dass ein Spartan 6 TMDS auf allen IOs kann, benoetigt halt die externen Terminierungswiderstaende. Dann reichen 4x2 Pins. https://www.xilinx.com/support/documentation/application_notes/xapp495_S6TMDS_Video_Interface.pdf Solange die IOs vom Chip zum Stecker differentiell gerouted sind, sollte es machbar sein. Evtl. halt nicht mit max. Takt und 10m Kabel.
Lothar M. schrieb: > Donni D. schrieb: >> Oder spricht sonst etwas gegen mein Vorhaben > Was soll es denn werden? > Wofür sind die 4 DVI Ausgänge? > Woher kommen die Daten/Bilder? Ich habe vor vier alte 19" Monitore als einen 'großen' Monitor zu betreiben. Und bevor ich was fertiges nehme wollte ich es gern mal selbst probieren und mal sehen wie weit ich komme und es halt hoffentlich auch schaffe. Die Daten werden erst mal random generiert. Später würde ich sie per Netzwerk von dem HPS entgegen nehmen, da wäre dann vielleicht ein anderes Board interessanter mit einem SDRAM auf FPGA Seite um die Daten dann per DMA rüber zu schieben oder ähnliches. Da bin ich mir noch nicht sooo sicher, würde mich erst einmal darum kümmern das ich einen DVI Output hinbekomme, dann 4, dann den Input etc. @Tobias L. Wegen den xilinx, naja habe an der Uni Altera mit Quartus benutzt, auch schon den NIOS und ähnliches benutzt, da würde ich schon gern bei der ganzen Toolchain bleiben. Wobei es natürlich gut klingt mit den TMDS Leitungen.
Moin, ich würde da am ehesten noch zu einem ECP3 (Lattice) greifen, wenns TMDS sein soll. Auf dem Spartan wird das ein rechtes Getweake, mal ganz abgesehen von der totalen Bandbreite, da wäre noch einiges zu klären. Das ganze noch mit entsprechend RAM zu spicken wird ein stattliches Projekt, da punktet ein Spartan6 wieder dank memorycontroller. Was Routing angeht: Sich in Skew-problematiken von lvds-signalen einlesen. Bei TMDS geht softes Lane-Deskewing
boeserfisch schrieb: > Moin, > > ich würde da am ehesten noch zu einem ECP3 (Lattice) greifen, wenns TMDS > sein soll. Auf dem Spartan wird das ein rechtes Getweake, mal ganz > abgesehen von der totalen Bandbreite, da wäre noch einiges zu klären. > Das ganze noch mit entsprechend RAM zu spicken wird ein stattliches > Projekt, da punktet ein Spartan6 wieder dank memorycontroller. > Was Routing angeht: Sich in Skew-problematiken von lvds-signalen > einlesen. Bei TMDS geht softes Lane-Deskewing Das Problem bei den meisten Development Boards ist, dass so viel Hardware dran ist und deshalb die ganzen TMDS Ports benutzt sind. Ich würde trotz allem gerne bei Altera bleiben und es mit den TFP410 probieren, oder sind die sehr schwer zu nutzen? Sah jetzt nicht soooo wild aus. Frage ist nur wie es mit dem Platinenlayout bei 1280*960 wird?
Ich suche da auch noch noch einer einfachen OEM-Lösung und zwar für diese Anwendung: Beitrag "Roh-TFTs und Videomultiplexer für Bildwandfunktion gesucht" Ich fahre da momentan über einen Multiplizierer/Slitter, also 1920x1080 auf 3840 zu 2160 interpoliert und dann auf 4 verteilt. Das Ganze nochmal, um auf insgesamt 16 Monitore zu kommen.
Edi M. schrieb: > Ich suche da auch noch noch einer einfachen OEM-Lösung und zwar für > diese Anwendung: Beitrag "Roh-TFTs und Videomultiplexer für Bildwandfunktion gesucht" > > Ich fahre da momentan über einen Multiplizierer/Slitter, also 1920x1080 > auf 3840 zu 2160 interpoliert und dann auf 4 verteilt. Das Ganze > nochmal, um auf insgesamt 16 Monitore zu kommen. Genau sowas möchte ich realisieren. Würde es aber gerne alleine probieren. Einfach weil es Spaß macht und ich was lernen will.
Und wie sieht es mit dem Chip aus? Könnte der gut funktionieren? Hat da jemand schon was gemacht und vielleicht schon mal ne Platine mit gebaut? Hardware Design habe ich nur sehr wenig Erfahrung und da würde ich gern wissen ob es für die Auflösung von 1280x960 schon speziell geroutet werden muss oder ähnliches, Abstände einhalten zu xy und etc.
Donni D. schrieb: > Und wie sieht es mit dem Chip aus? Könnte der gut funktionieren? > Hat da > jemand schon was gemacht und vielleicht schon mal ne Platine mit gebaut? > Hardware Design habe ich nur sehr wenig Erfahrung und da würde ich gern > wissen ob es für die Auflösung von 1280x960 schon speziell geroutet > werden muss oder ähnliches, Abstände einhalten zu xy und etc. Ich habe damit nix gemacht, und tendiere allgemein dazu, alles im FPGA zu erledigen, wenns physikalisch irgendwie geht. Ansonsten gelten halt die oben schon genannten Punkte: Schau, dass es mit dem Skew passt, d.h. du keine unterschiedlichen Verzögerungen der Video-Datenleitungen auf dem Board hast, und der Chip möglichst nahe an den FPGA I/Os liegt. Dann solltest du ev. noch ein Testdesign mit Constraints bei gegebenem Pixelclock (dürfte wohl um 74 MHz liegen) machen und die Timings verifizieren. Wenn du auch nach dem Transceiver (DVI) keinen Skew einführst und keine riesige Platine hast, brauchst du dir wegen der Abstände auch keinen Kopf machen. Ansonsten bist du mit dem Impedanzrechner und was Kicad z.B. sonst an differentiellen Routing-Features bietet auf der sicheren Seite. Das alleine genügt dann mal für einen DVI-Kanal. Wenn du alles auf n*m aufblasen willst, sehe ich da nur Anwendungen wie Videogeneratoren oder Video-Scaling. Für ein n*m*x*y-Bild ist schnell mal die Fahnenstange f_max erreicht. Da ist eine einfache Lösung mit gut synchronisierten Mediaboxen (sowas wie RPi könnte es tun) und schnellem Netzwerk die pragmatischere.
Moin, Donni D. schrieb: > Und wie sieht es mit dem Chip aus? Könnte der gut funktionieren? Naja, warum soll der denn nicht gut funktionieren? Der ist doch genau dafuer gemacht. Donni D. schrieb: > Hardware Design habe ich nur sehr wenig Erfahrung und da würde ich gern > wissen ob es für die Auflösung von 1280x960 schon speziell geroutet > werden muss oder ähnliches, Abstände einhalten zu xy und etc. Das sind natuerlich nicht die idealen Voraussetzungen fuer so ein Design. Rechne dir halt mal die seriellen Takte aus - mal als Best-Case, mit 50Hz Framerate und ohne Blanking: 1280*960*50*10=614MHz. Mit Blanking und ggf. 60Hz halt entsprechend mehr. Das musst du halt aufs PCB bringen. Die Kapitel 9+10 im Datenblatt vom TFP410 stehen nicht aus Jux und Dollerei da. Und auch auf der parallel-Seite wird das Layout sicher nicht ganz trivial werden, wenn du da irgendwelche "Dual-Edge" Geschichten machen willst. Aber: Viel Feind - viel Ehr... Achja: Um ein Bild in 4 Teilbilder zu zerlegen wirst du nicht mehr ohne externes RAM auskommen; Blockrams in FPGAs reichen eher nur fuer eine (oder ein paar) Zeilen aus. Gruss WK
Dergute W. schrieb: > Achja: Um ein Bild in 4 Teilbilder zu zerlegen wirst du nicht mehr ohne > externes RAM auskommen; Blockrams in FPGAs reichen eher nur fuer eine > (oder ein paar) Zeilen aus. Dafür habe ich mir nun extra ein Bosrd rausgesucht, welches einen 64MB RAM Baustein drauf hat. So einen Baustein habe ich auch schon erfolgreich genutzt über den NIOS Core von Altera, auf diesem Board damals: http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=139&No=502 Ich brauche auch gar nicht 60Hz oder sonstiges, ich will erst einmal das es läuft, auch wenn es nur 4 oder 5 Hertz sind. Dergute W. schrieb: > Und auch auf der parallel-Seite wird das Layout sicher nicht ganz > trivial werden, wenn du da irgendwelche "Dual-Edge" Geschichten machen > willst. Ja die DualEdge brauche ich, um die Hälfte der Datenleitungen einzusparen. Aber da wäre es für den Anfang wohl besser einfach erstmal den SingleEdge Mode zu nehmen um besser verifizieren zu können ob alles läuft, danach kann ich ja immer noch umstellen. Dann habe ich jetzt glaube ich erst einmal genug Infos und Anhaltspunkte um einen ersten Versuch zu starten. Danke euch für die Infos und Anregungen. Eine Sache wäre noch: Habe eben gesehen das es auch fertige Boards gibt wie dieses hier für den TFP410: http://www.digikey.com/product-detail/en/digi-key-evaluation-boards/DKSB1007A/906-1000-ND/2177062 , aber es sieht für mich im Datenblatt so aus als wäre nicht alle Datenpins nach außen geführt, manche liegen per Jumper direkt auf Masse oder 3V3. Mit so einem Board könnte ich mir natürlich viel Arbeit sparen. Ich finde leider keins wo direkt alle Signale nach außen geführt sind. Kennt da von euch jemand was schöneres? Zur Not kann ich aber dort mein Schaltplan etwas abgucken
Moin, Donni D. schrieb: > Ich brauche auch gar nicht 60Hz oder sonstiges, ich will erst einmal das > es läuft, auch wenn es nur 4 oder 5 Hertz sind. Aeeeh - ich fuerchte doch. Ich glaub' nicht, dass ein Monitor so ein verkorkstes DVI-Signal mit z.b. 1280x960 bei 5 Hz Framerate darstellen kann. Du solltest dir erstmal die EDID deiner Monitore angucken, welche Aufloesungen mit welchen Pixelclocks, etc. die unterstuetzen. Bei 5Hz Framerate waerst du auch mit dem Pixeltakt unter dem Minumum von 25MHz, die der TFP braucht. Donni D. schrieb: > Aber da wäre es für den Anfang wohl besser einfach erstmal > den SingleEdge Mode zu nehmen um besser verifizieren zu können ob alles > läuft, danach kann ich ja immer noch umstellen. Nein, da ist es besser, im Layout jeweils die Laengen der einzelnen Busleitungen gleich so zu matchen dass es auch mit DDR passt. Und bei der Anbindung ans FPGA drauf zu achten, dass/wie du das evtl. um eine 1/2 clk verschobene Taktsignal erzeugen kannst. Bei dem SDRAM Interface koennte auch die max. Datenrate interessant werden. Wenn der olle NIOS nicht rechtzeitig seine Daten aus dem SDRAM kriegt, wartet er halt ein paar Takte. Bei Video geht das nicht. Da wirds sehr haesslich aussehen. Alleine ein 1280x960@50Hz mit jeweils 8bit RGB Daten in ein SDRAM zu schaufeln, macht fast 1.5GBit/sec Transfer aus. Und dann muss es ja auch noch 4x wieder rausgeschaufelt werden... Da solltest du vorher ein paar Abschaetzungen machen, ob das ueberhaupt hinhauen kann; wie hoch der Speichertakt dann sein muss, etc. Gruss WK
Dergute W. schrieb: > Aeeeh - ich fuerchte doch. Ich glaub' nicht, dass ein Monitor so ein > verkorkstes DVI-Signal mit z.b. 1280x960 bei 5 Hz Framerate darstellen > kann. Du solltest dir erstmal die EDID deiner Monitore angucken, welche > Aufloesungen mit welchen Pixelclocks, etc. die unterstuetzen. > Bei 5Hz Framerate waerst du auch mit dem Pixeltakt unter dem Minumum von > 25MHz, die der TFP braucht. Okay stimmt das habe ich nicht bedacht, ich dachte er würde die Daten Puffern und halt wenn alles da ist die Daten darstellen. Dann würde ich einfach mit der Auflösung runter gehen, sodass dann die Datenraten etc. geringer werden. Mein Ziel ist es erstmal ein Bild raus zu bekommen, auch wenn es erstmal random generierte Pixel hat, nur eben über den TFP410 Chip. Dann werde ich wohl erstmal mit 640x480 anfangen müssen und Stück für Stück mich weiter nach oben Tasten :D
Hat zufällig noch jemand ein Bosrd wie dieses gefunden? http://www.digikey.com/product-detail/en/digi-key-evaluation-boards/DKSB1007A/906-1000-ND/2177062 Wenn es keine gibt, was würde es kosten eine Platine in der Größe herstellen zu lassen? Den Chip, die Buchse plus eine Headerleiste? Kann man die direkt Bestückt bestellen? Habe sonst immer auf fertige BreakoutBoards gesetzt.
Bestücker machen das erst ab einer gewissen Auftragsgrösse. Da kommst Du keines falls billiger, als mit der Platine. Das Problem ist eher, es an den FPGA zu bringen. DVI erfordert meist symmetrische LVDS-Kopplung, weil man per DVI sehr hohe Auflösungen übertragen können muss. Das erfordert dann z.B. 24Bit DDR-Betrieb, wie beim DVI-Baord von AVNET. Damit habe ich vor ein paar Jahren mal ein Testdesign entwickelt. War für das AVNET 150er Spartan6 System. Habe dem damaligen Silica Vertriebler sogar das testfile gesendet, damit sie auch mal was sehen :-) Bei Deinen Anforderungen der geringen Auflösungen würde Ich zu einem VGA raten: Beitrag "Re: 5-Bit-VGA bei "modernen" Geräten"
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.