Ich helfe bei der Wartung eines alten heruntergekommenen LED-Schilds am Rand einer Autobahn.
Richtig, es hat ein Programm, das auf Win98 läuft, um das Bild zu erzeugen, das auf dem Schild sein sollte (FLASH-Animation, Temperatur usw.), und eine PCI-IO-Karte zu steuern, die wiederum die Schilderlogik steuert. Ich würde gerne das Kontrollpaket des Zeichens durch etwas weniger Schmerzhaftes ersetzen (können).
Ein anderes Zeichen, an dem wir arbeiten, hat einen DVI-Eingang zu einer Steuerplatine. Die Steuerplatine nimmt einen bestimmten Teil des Videos und sendet ihn an das Schild. Ich mag dieses Schema, weil es das Austauschen des Computers erleichtert, wenn er kaputt geht, und viel Freiheit in Bezug auf die Software/Hardware bietet, die verwendet werden kann – solange ein PC einen DVI-Anschluss hat, kann er das Schild steuern .
Kernfrage: Wie kann ich von der „Videoeingabe“ zu einer Kopie dessen gelangen, was auf dem Bildschirm angezeigt wird, um von digitaler Logik konsumiert zu werden?
Die einzige Sache, die ich mir bisher ausgedacht habe, ist die Verwendung eines TFP401A und die Einspeisung in ein FPGA, in dem viel begleitende Logik sitzen würde.
Erscheint das vernünftig? Gibt es einen besseren Weg? Zumindest eine Sorge ist, dass ich keine Erfahrung mit Hochfrequenzdesign habe - ich bin mir nicht sicher, wie viel Sorgfalt auf die Spuren zwischen DVI-Anschluss und Empfänger sowie vom Empfänger zum FPGA gelegt werden muss.
BEARBEITEN:
Einige zusätzliche Details:
Die grundlegende Frage hier ist, wie schnell Sie das Bild des Schilds aktualisieren müssen.
Wenn Sie es nicht öfter als einmal alle paar Sekunden aktualisieren müssen, ist DVI WAAAAAY Overkill. (Und es scheint eine sehr schlechte Idee zu sein, etwas neben einer Autobahn zu platzieren, das ein Video zeigt.)
Sie sind wahrscheinlich am besten dran, einen Frame-Buffer in Ihrer Hardware zu verwenden und so etwas wie einen FT232 oder FT245 zu verwenden , um Bilder darauf zu speichern. Der FT2**-IC bietet Ihnen ~8 Mbit/s Schnittstellenbandbreite über USB und einen kinderleichten Softwaretreiber, mit dem Sie sprechen können.
Alternativ können Sie je nach Auflösung Ihres Zeichens auch eine einfache serielle Schnittstelle verwenden.
Ich würde davon ausgehen, dass Sie rohe Bitmaps an das Schild senden würden (es erleichtert das Ende der Software). Dann cachen Sie sie einfach in der Hardware und stellen sie dann an die Schnittstelle bereit, die das Zeichen von Ihrer Hardware implementiert.
Wie wäre es mit etwas Einfacherem?
Vielleicht eine Compact-Flash-Karte mit einer Bitmap-Bilddatei oder GIF89a darauf? Ein Mikrocontroller könnte die Karte lesen und das Display ansteuern.
Decodieren von DVI wird schwierig sein - einige Karten bieten digitale und analoge Ausgänge, während andere nur digitale Ausgänge bieten. Und die Auflösung kann natürlich variieren.
Ich denke, Sie wären besser dran mit einer einfachen seriellen Schnittstelle, die Sie an den Computer anschließen und Befehle senden könnten, zB "LED 3,4 auf Rot schalten", "Dieses Sprite zeichnen", "Bildschirm löschen" ...
J. Pölfer
CoderTao