Ich mache ein kleines Projekt rein als Hobby mit einem kleinen FPGA-Breakout-Board. Ich gebe VGA-Video aus, das gut funktioniert, möchte aber stattdessen einen HDMI-Ausgang, damit ich eine Verbindung zu einem Fernseher herstellen kann, der diesen Eingang, aber kein VGA hat.
Ich glaube nicht, dass es praktisch ist, HDMI direkt von meiner FPGA-Karte zu generieren (korrigieren Sie mich, wenn ich falsch liege ...), also habe ich mich gefragt, ob es einen Encoder-Chip oder eine Karte gibt, die nicht zu viel kostet, die ich verwenden könnte in dem Projekt, das VGA-Eingang (und möglicherweise Audio) nimmt und ein HDMI-Signal ausgibt. Ich selbst habe nichts finden können.
Irgendwelche Ideen? Oder ist das unpraktisch und ich sollte mich stattdessen mit analogem Video zufrieden geben.
BEARBEITEN: Grundsätzlich frage ich, ob es eine Möglichkeit gibt, HDMI zu generieren, die für ein kleines persönliches FPGA-Projekt möglich ist. Der VGA-Teil ist nicht erforderlich, wenn es einen anderen Weg gibt.
HDMI ist auf der Videoseite nur "DVI mit Knöpfen an".
Was "kann es getan werden" ... meine erste Frage ist "welches FPGA"? Manche können mit den IO-Blöcken HDMI/DVI-Signale erzeugen, andere grundsätzlich nicht.
DVI verwendet TMDS -Signalisierung, bei der es sich um eine Codierung auf einem CML-Differentialpaar (Current Mode Logic) handelt. CML wird von einer Stromquelle für eine „0“ aktiv heruntergezogen und schwebt mit einem Abschlusswiderstand am fernen Ende für eine „1“ hoch. Es könnte für ein Hobbyprojekt emulierbar sein, indem ein bidirektionales LVDS-Paar verwendet wird, das niedrig angesteuert wird, und die Tristate-Leitung zum Ansteuern und Freigeben verwendet wird (ein bisschen wie bei einem Open-Drain-Laufwerk).
Dann müssen Sie die Daten codieren und serialisieren. TMDS beschreibt, wie die Datenbits codiert werden, und dann müssen Sie die Datenbits "nur" über die Datenpaare hinweg serialisieren. Die Spezifikation finden Sie hier - siehe Abschnitt 3:
Spezifikation für digitale visuelle Schnittstelle
Das Datenblatt des TFP410-Chips enthält auch eine vernünftige Beschreibung dessen, was vor sich geht:
Ich habe gerade diesen VGA-zu-DVI-Konverter gefunden ( Hackaday-Artikel ). Es wandelt VGA-konforme R/G/B- und Sync-Impulse in DVI um, das im Grunde die gleiche Signalisierung wie HDMI verwendet. Sie müssen in der Lage sein, einen zuverlässigen Pixeltakt zu generieren und Bits mit dem 10-fachen des Pixeltakts senden zu können. Mit dem DCM (Digital Clock Manager) eines FPGAs sollten Sie dies erreichen können. Ich hatte noch keine Gelegenheit, diesen Code selbst zu testen (bin dabei, eines meiner VGA-basierten Projekte zu übernehmen, um es auszuprobieren), aber bei anderen hat es gut funktioniert.
Bearbeiten: Ich konnte dies mit wenig bis gar keinen Schwierigkeiten erfolgreich in mehrere meiner VGA-Demoprojekte integrieren. Ich kann also persönlich bestätigen, dass das funktioniert.
VGA zu HDMI ist bestenfalls schwierig. Ganz einfach, weil VGA analog und HDMI digital ist. Sie müssten jeden Frame des VGA-Signals erfassen, digitalisieren, in einem Frame-Puffer speichern und den HDMI-Stream ausgeben.
Obwohl es möglich ist, wird es nicht „einfach“ sein.
Sie können einige externe Boxen kaufen, die angeblich VGA zu HDMI machen, aber ich weiß nicht, wie gut sie sind. Bei ebay gibt es welche.
Ich verstehe die ganze Diskussion über Spezifikationen, Chips, Entwicklungsboards und den Aufbau eines Konverters von Grund auf nicht. Gehen Sie einfach zu Amazon und kaufen Sie einen – es gibt mehrere, zum Beispiel:
Sewell Hammerhead VGA zu HDMI Aktiver Konverter 1080p Kompakte Größe
HDE VGA mit Audio zu HDMI 1080p Konverterbox mit DC-Adapter
Ich nehme an, da dies ein Hobbyprojekt ist, ist es eine einmalige Sache und nicht etwas, das verkauft werden soll. Es wäre also viel einfacher, nur eine fertige Box zu kaufen, als eine von Grund auf neu zu bauen und sie richtig zum Laufen zu bringen.
Schauen Sie sich dieses Entwicklungsboard von Lattice an. Sie verfügen über ein Referenzdesign, das DVI-Eingänge und DVI-Ausgänge sowie Cameralink-Eingänge und -Ausgänge umfasst.
http://www.latticesemi.com/products/developmenthardware/developmentkits/machx02controlkit.cfm
$189
Es demonstriert die Verwendung eines lvds Cameralink-Deserializers zum Ansteuern eines DVI-Ausgangschips. Abhängig von Ihrer Fpga-Karte können Sie möglicherweise das mit Cameralink serialisierte Video von Ihrer Karte ausgeben und dann dieses Entwicklungsboard verwenden, um es in eine DVI-Ausgabe zu konvertieren. Oder verwenden Sie einfach dieses Board für die ganze Sache.
Wenn Ihr Budget größer ist, haben sie ein schönes HD-Kamera-zu-HDMI-Ausgangs-Entwicklungskit für 400 US-Dollar.
David