So erhalten Sie einen Videoeingang

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:

  • Das Schild hat eine niedrige Auflösung (47 x 127 Bild, 24 x 64 Schild)
  • Es zeigt eine Animation an (Aktualisierungsrate > 10 Hz)
  • Ich würde etwas ohne Abhängigkeit von Software auf dem PC bevorzugen (schlägt vor, ein Videosignal eines bestimmten Formats zu nehmen)
  • Das sind 80 % Lernerfahrung – während das Ziel ein praktisches Ersatzsystem ist, möchte ich mit dem Wissen darüber abschließen, wie dies bewerkstelligt werden kann.
Wissen Sie sicher, dass der DVI-Eingang wirklich die gleichen Signale von einem PC-DVI-Ausgang erwartet? Der Anschluss kann einfach ein DVI-Anschluss sein, akzeptiert aber eigentlich keine herkömmlichen DVI-PC-Monitorsignale.
Die Eingabe auf dem anderen Schild-Controller? Ja, es gibt eine direkte Verbindung vom Ausgang der Grafikkarte zum DVI-IN des Controllers; erscheint als Monitor in Windows usw.; Grafikkarte ist eine billige Karte, die bei newegg bestellt wird

Antworten (3)

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.

Ein Teil des vorhandenen Zeichens ist eine Animation, daher muss es in der Größenordnung von 10 Hz aktualisiert werden. Die Auflösung des Zeichens liegt jedoch in der Größenordnung von 24 x 64, sodass das Senden über einen der FTDI-Chips funktionieren würde. Aber ich würde etwas ohne explizite Abhängigkeit von PC-Software bevorzugen.
Serielle Ports sind serielle Ports. Die FTDI-Geräte sind nur eine bequeme Möglichkeit, eines hinzuzufügen.
Wie auch immer, ein 47 * 127-Bild bei 10 Hz mit 8 Bit pro Pixel (könnte mehr sein, ich bezweifle es) ist nur 477520 Baud, also könnten Sie es mit einer generischen seriellen Schnittstelle machen.
Außerdem setzt dies voraus, dass die Animation nicht wiederholt wird. Wenn Ihre Anzeige eine statische Folge von x Frames ist (30, 60 usw., selbst bei 24-Bit-Farbe wäre jeder Frame nur 17,9 kb groß), die sich wiederholen, können Sie diese einfach im Controller puffern und asynchron aktualisieren.

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.

Interessante Idee. Ich glaube jedoch nicht, dass es für die Grundlagen von „Zeit / Temperatur“ gut funktionieren würde, und es müsste immer noch eine Möglichkeit geben, das Schild einfach zu aktualisieren (einen Bankmanager bitten, auf eine Leiter zu steigen, das Schild zu öffnen und zu ersetzen eine SD-Karte würde nicht funktionieren; ein drahtloses Update könnte durchgeführt werden).

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