Hallo zusammen, dank dieses Forums konnte ich meine ersten erfolgreichen Schritte in Richtung FPGA und VHDL Programmierung machen. ;-) Nach ersten Fehlversuchen konnte ich nun endlich ein einfaches VGA-Signal erzeugen (roter Bildschirm) und auf einem LCD-Monitor darstellen. Nun möchte ich gerne ein bmp. auf einer SD-Karte speichern (FAT-Format), über mein Altera DE2-115 Board per FPGA einlesen und via VGA auf meinen Bildschirm übertragen. Ich habe per Google schon viel nach Beispiel-Codes in VHDL gesucht, aber nichts wirklich brauchbares finden können. Ich hoffe, dass der eine oder andere vielleicht eine nützliche Verlinkung zu einem Tutorial/Beispiel-Code posten kann, die mich in die Material einführt. (Vielleicht ist das Endziel meiner Arbeit für den ein oder anderen auch interessant: Ich möchte ein MPEG2-Signal über das DE2 Board einlesen und per VGA ausgeben. Daher wollte ich mich schrittweise über die SD-Card an diesen Projekt ran tasten... ;-) )
Mike schrieb: > (Vielleicht ist das Endziel meiner Arbeit für den ein oder anderen auch > > interessant: Ich möchte ein MPEG2-Signal über das DE2 Board einlesen und > per VGA ausgeben. Daher wollte ich mich schrittweise über die SD-Card an > diesen Projekt ran tasten... ;-) ) Hm, dein Anliegen ist SEHR sportlich. Von Null auf MPEG2... Du solltest Dir ein paar zehn Zwischenziele suchen. Zu deinem Anliegen: Du möchtest etwas auf einem VGA Display ausgeben: RGB mit sagen wir rund 25Mhz. Wenns Farbe sein darf, verdreifacht sich der Datendurchsatz, bei 8Bit wären wir bei 75MB/sec. Die SD-Karten die das schaffen kannst Du mit einer Hand abzählen, benötigst aber beide zum Geld auf die Kasse legen. Um Daten von einer SD-Karte zu lesen, kannst Du grundsätzlich zwei Protokolle nutzten (MMI kompatibel (SPI) oder SD-Mode (proprietär mit 4Bit). FAT Format liest eigentlich niemand mit dem nackten FPGA. Hier würde man wohl eine CPU einsetzten (entweder als Softcore im FPGA oder extern). MPGEG2 Dekoding wiederum setzt einiges an Hardwareaufwand nach sich: externer Speicher am FPGA, Größe des FPGAs und ist nichtwirklich das was heute noch im Fokus liegt (passende Hardware in Form eines NAS Gehäuses +HDD +Videoausgänge die nebenbei noch ein Dudzend andere Formate spielen inkl. MPEG4 alias H.264 bekommt man < 100EUR. Meine Einschätzung nach wärst Du während dem gesamten Projekt auf Dich alleine gestellt. Gruß Vanilla
So etwas macht man doch einfacher mit einer CPU im FPGA (Nios oder so), die das Bild von der Karte in den Speicher schiebt. Von dort dann auf den Bildschirm. Der Ganze Fat Kram läßt sich doch so viel einfacher erledigen. Das Skaling des Bilders kann man ja wieder in Hardware machen... Grüße
Ich war letztens auf einem Altera Workshop, wo es um der IP-Cores zum Videoprozessing ging. Das möchte ich selber in VHDL nicht mache, da sitze ich Jahre dran. Wenn es nur zum Spielen ist: nimm eine CPU. Wenn es für die Arbeit ist: kaufe die IP-Cores. Das wird billiger.
Verleihen wir das Sache mal ein wenig "persönliches Profil"... Studiere E-Technik und bin hier nun für ein Praktikum für 2 Monate in die Türkei gekommen und nun via Altera Board folgende Aufgabe lösen (wurde gerade von Chef geupdatet ;-) ): MPEG-2-Video-Signal wird per PSK-Modulator versendet, via Antenne wieder empfangen und von einem Tuner wieder als 8bit-Stream decodiert. Dieses Signal soll nun per Altera Board eingelesen, im Schritt 1 die Service-ID im Header ausgelesen und im Schritt 2 das MPEG2-Signal decodiert und als VGA-Signal ausgegeben werden. Heavy Stuff, ich weiß... vor allem, da ich vor 2 Wochen noch nicht mal VHDL richtig konnte (von den paar Vorlesungen mal abgesehen). Danke an M., Vanilla, und PittyJ für die hilfreichen Kommentare, dann werde ich wohl in jedem Fall auf die CPU umschwenken. @ vanilla: Hab wohl mein Zwischenziel mit der SD-Karte ein wenig zu grob beschrieben: Die SD-Karte hat ein einzelnes Bild, was ausgelesen werden sollte, also kein Stream in dem Sinne. Ansonsten würde ich wohl die von dir genannten Geschwindigkeiten beachten müssen....
Sowie ich die Jungs von Altera verstanden habe, ist deine Aufgabenstellung gut mit deren angebotenen IP-Cores zu lösen. Falls das Produkt also wichtig sein sollte, kontaktiere die Altera Entwickler und frage, was möglich ist. Allerdings würde ich auch dafür den Rahmen von 2 Monate für recht sportlich halten.
> MPEG-2-Video-Signal wird per PSK-Modulator versendet, via Antenne wieder > empfangen und von einem Tuner wieder als 8bit-Stream decodiert. > > Dieses Signal soll nun per Altera Board eingelesen, im Schritt 1 die > Service-ID im Header ausgelesen und im Schritt 2 das MPEG2-Signal > decodiert und als VGA-Signal ausgegeben werden. Ich kenne mich mit MPEG2 nicht jetzt gerade aus. Ich weiss nur auf die Schnelle, dass immer Masterbilder und bei den folgeden Bilder die Differenz gensendert wird. Ich habe mich mal intensiv mit JPEG beschäfftigt und den ersten Schritt für dich. Die Labels aus dem Datenstrom picken. Und einen Huffmandecoder für JPEG. Der sollte auch für MPEG gehen. Der Code ist auch nicht auf dem letzten Stand, du kannst dir schon mal einen Enblick holen. http://opencores.org/project,huffmandecoder
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.