VGA-Sinal splitten

  • Hallo,


    Auch wenn das Thema hier nicht ganz so hereinpasst, versuche ich hier einmal mein Glück. ;) (Zumindest geht es aber noch um die Entwicklung eines Lichtpultes. ;) )


    Es geht um folgende Problematik:


    Ein analoges VGA-Signal (640*480 Pixel) soll in vier analoge QVGA-Signale (320*240 Pixel) aufgesplittet werden.
    Bzw. in anderen Worten: Ich möchte an einer Graffikkarte, welche ein VGA-Signal (mit einer Auflösung von 640*480 Pixel) ausgibt, vier TFT-Monitore mit einer Auflösung von 320*240 Pixel betreiben, welche somit dann jeweils ein Viertel der übertragenen Bildinformationen darstellen.


    Primär geht es mir ersteinmal um einen generellen Lösungsansatz, wobei der Hardware- und Software-Aufwand ersteinmal im Hintergrund steht.


    Leider fällt die Suche im Netz nach entsprechenden Lösungsansätzen etwas schwer, da sämtliche Suchbegriffe immer früher oder später zu irgendwelchen VGA-Y-Adaptern oder aktiven VGA-Signal-Verteilern führen.


    Viele Grüße,
    Marcel


  • Und was ist so falsch an den Splittern bzw. Adaptern?
    Matrox hat zum Beispiel so Teile.
    http://www.matrox.com/graphics/de/

  • Schon einmal vielen Dank für die Beiträge!


    Zitat

    Wie wäre es mit Splitscreen ?


    http://de.wikipedia.org/wiki/Split_Screen


    Das ist leider genau der umgekehrte Weg. Dabei werden mehrere Signalquellen auf einem ANzeigegerät ausgegeben.


    Zitat

    möglich mit solchen Geräten:


    http://www.rose.com/htm/av-ultravista.htm


    Dieses Gerät ist schon einmal das, was ich benötige. Allerdings suche ich mehr nach der dahinterstehenden Technik bzw. noch besser nach einem Schaltungsbeispiel, um soetwas selbst zu realisieren.


    Zitat

    Und was ist so falsch an den Splittern bzw. Adaptern?
    Matrox hat zum Beispiel so Teile.
    http://www.matrox.com/graphics/de/


    Auch hier gilt vorheriges. Dieser Adapter löst zwar die Problemstellung, allerdings stößt man in der Regel meist auf Verteiler, die das gleiche Bildsignal an mehrere Geräte weitergeben.



    Viele Grüße,
    Marcel

  • Wenn du für jedes einzelne Signal einen eigenen Rechner bereitstellst, könntest du den Inhalt über Netzwerk verteilen und mit einer Maske ausgeben.


    Dürfte einfacher zu Lösen sein als eine Schaltung selbst zu bauen.

  • Zitat von "Leopold Hollerith"

    Wenn du für jedes einzelne Signal einen eigenen Rechner bereitstellst, könntest du den Inhalt über Netzwerk verteilen und mit einer Maske ausgeben.


    Dürfte einfacher zu Lösen sein als eine Schaltung selbst zu bauen.


    Das VGA-Signal kommt zwar von einem Rechner, allerdings besitzt dieser alleine schon 14 unabhängige VGA-Schnittstellen. Die hohe Anzahl von insgesamt 22 VGA-Ausgängen wird allerdings benötigt, da unter anderem viele kleine TFT-Displays angesteuert werden sollen (und somit die altmodischen LCDs ablösen sollen ;) ). Andere Schnittstellen inkl. einer weiteren seperaten Signalverarbeitung möchte ich nur ungern nutzen.


    Sowohl der Preis als auch die Entwicklungszeit steht ersteinmal vollkommen im Hintergrund. Da kommt es auf ein paar hundert Euro und Stunden mehr Arbeit auch nicht mehr an.


    Viele Grüße,
    Marcel

  • Zitat von "rcz"

    Das VGA-Signal kommt zwar von einem Rechner, allerdings besitzt dieser alleine schon 14 unabhängige VGA-Schnittstellen.


    Ahhhhhh .. da kommen wir der Sache schon bedeutend näher. Was du suchst ist eine Softwarelösung.


    Lässt sich das nicht mit einem erweiterten Windows Bildschirm lösen ? Oder gibts da Probleme mit der Anzahl bzw. der Auflösung ?


    Vielleicht möchtest du uns dein Projekt mal näher Beschreiben was genau gemacht werden soll.

  • Zitat von "Leopold Hollerith"

    Ahhhhhh .. da kommen wir der Sache schon bedeutend näher. Was du suchst ist eine Softwarelösung. ...


    Nein, das ist leider nicht ganz das, was ich suche. Wie bereits im ersten Beitrag angesprochen, geht es mir nur um eine Hardware-Lösung für das im ersten Beitrag angesprochene Problem zum jeweiligen Splitten eines dieser Signale.


    Die Ansteuerung der vielen VGA-Schnittstellen mit verschiedenen Auflösungen stellt keine Probleme dar. Als Betriebssystem kommt eine auf dem Linux-Kernel basierende Eigenentwicklung zum Einsatz.


    Zitat

    Vielleicht möchtest du uns dein Projekt mal näher Beschreiben was genau gemacht werden soll.


    Genau genommen geht es um die Entwicklung eines Lichtpultes. Dieses umfasst vier interne 15"-Touchscreen-Monitore und zwei externe 15"-Monitore. Desweiteren sollen zahlreiche kleine interne TFT-Displays (16 Stück) verbaut werden, die an entsprechender Stelle z.B. Fader-Belegungen, Butten-Belegungen, Einstellungen, usw... ausgeben sollen.
    Allerdings habe ich bei dem zu Grunde liegenden Rechner-System nur noch 8 VGA-Schnittstellen dafür zur Verfügung.


    Selbstverständlich könnte ich das System auch um entsprechende Schnittstellen erweitern, indem ich diese z.B. über USB und Mikrocontroller und FPGA ansteuere. Allerdings möchte ich genau dies vermeiden, da dies wieder einen erheblichen Mehraufwand bei der Ansteuerung mit sich bringt. Da ist es erheblich einfacher, an einem VGA-Ausgang das aneinandergesetzte Bildsignal für vier Displays auszugeben.


    Da sich das ganze Projekt im Preisbereich einer GrandMA full size bewegt, sind die Kosten hierfür auch eher zweitrangig.


    Viele Grüße,
    Marcel

  • Zitat von "Leopold Hollerith"

    Wieso benutzt ihr keine LCD Panels und steuert diese direkt über einen seriellen Bus an ?


    Die Entscheidung fiel bewusst auf VGA-Displays, da durch monochrome LCD-Displays viele Features verloren gehen, die mit VGA-Displays möglich sind. Mit einer Display-Reihe über den Fadern lassen sich so bestimmte Funktionen hervorheben, der eingestellte Farbwert bei CMY- oder RGB-Kanälen ausgeben ...


    Für die Ansteuerung mehrfahrbiger LCD-Displays ist dagegen die serielle Schnittstelle zu langsam. Natürlich wäre auch eine Ansteuerung über USB mit Mikrocontroller, FPGA, SRAM und RAMDAC möglich. Aber das macht das ganze softwareseitig auch nicht einfacher und bei dem hohen Datenstrom bei vielen Displays geht wertvolle Bandbreite verloren, die sonst für die Übertragung anderer Daten verwendet wird.


    Viele Grüße,
    Marcel

  • rein theoretisch betrachtet brauchst du ja ein gerät, was aus dem einen signal verschiedne informationen rausfilter und die dann an einen spezifischen ausgang liefert.
    hardwaremäßig wird da keine einfache spiltschaltung helfen, das ursprungssignal muss ja in 4 neue auseinander gerechtnet werden.


    jetzt ist nur die frage ob es sich bei dem platzbedarf dann lohnt mehrere dieser splitter einzuabeun oder lieber noch n kleinen rechner der die nötigen ausgänge bereitstellt und über netzwerk / usb gespeist wird.
    weiterer vorteil wäre, dass du dich damit ja mitlerweile wohl ganz guzt auskennt und als os auch nur ne abgespeckter version deiner entwicklung brauchst und nicht mehr viel programmieren musst.

  • Du brauchst sowas wie einen abgespeckten Video Wall Processor, in der Art "stand alone".


    Geräte, auch mit VGA IN/Out gibt es einige, kosten halt alle etwas und können meistens weit mehr als nötig für die 1-4 split-Anwendung.


    Horizontal ist so ein Split fast trivial, vertikal wird es eng (das Timinig).


    Ein anderer Ansatz wäre selektive Signalverarbeitung am Display selbst. Wenn das Display das beherrscht...

  • Da ich mich momentan mit Virtual-Reality Programmierkram auseindandersetze (dumm nur das du dein Oberfläche wahrscheinlich nicht mit OpenGL programmierst ;)
    http://www.equalizergraphics.com/
    Wenn du es darüber lösen würdest müsste du einfach eine Node mit 4 Pipes als Config File anlegen und fertig (also ein Rechner mit 4 Grafikkarten).
    Vielleicht findest du ja was ähnliches bzw kannst den Quellcode irgendwie verwerten.

    Für eventuell enthaltene Ironie übernimmt der Verfasser dieses Beitrags keine Haftung

  • Vielen Dank für die zehlreichen Beiträge! Leider habe ich aber noch nicht die optimale Lösung gefunden.


    Zitat

    http://www.displaylink.com/ bietet USB-Grafikkarten, von denen geht je nach Auflösung durchaus eine Anzahl an einen Bus. Bei nur 320*240 dürfte das mit deiner benötigten Anzahl hinhauen.


    Solche externen Grafiklösungen kommen leider nicht in Frage. Diese Hardware ist für den vorhergesehenen Anwendungszweck einfach vollkommen überdimensioniert. Dabei geht es mir weniger um die finanziellen Kosten, sondern viel mehr darum, dass ich nicht zahlreiche dieser Geräte verbauen mag, die zwar die geforderten Anforderungen erfüllen, allerdings weit darüber hinaus gehen. Letztendlich mag ich ja nur ein kleines TFT-Display ansteuern, wobei die Anforderungen an die Performance der Grafiklösung sehr niedrig sind. Da würde eine 15 Jahre alte ISA-Grafikkarte die Anforderungen ebenso gut erfüllen. Jede aktuelle Grafikkarte mit entsprechend programmierten FPGAs und entsprechend vielen RAMDACs sollte performancemäßig in der Lage sein, hunderte solcher Displays anzusteuern. Bei der obigen Lösung stellt der Hersteller zudem auch keine Linux-Treiber zur Verfügung.


    Das gleiche gilt auch für einen weiteren Rechner, der mit entsprechend vielen Grafikkarten ausgestattet ist. Je komplexer die Hardware ist und je mehr unbenötigte Features diese mit sich bringt, desto fehleranfälliger ist diese letztendlich auch.



    Zitat

    Da ich mich momentan mit Virtual-Reality Programmierkram auseindandersetze (dumm nur das du dein Oberfläche wahrscheinlich nicht mit OpenGL programmierst Winken
    http://www.equalizergraphics.com/
    Wenn du es darüber lösen würdest müsste du einfach eine Node mit 4 Pipes als Config File anlegen und fertig (also ein Rechner mit 4 Grafikkarten).
    Vielleicht findest du ja was ähnliches bzw kannst den Quellcode irgendwie verwerten.


    OpenGL kommt zwar auch in geringen Maße zum Einsatz, doch scheitert es im Wesentlichen nicht an der softwareseitigen Realisierung, sondern viel mehr an der entsprechenden Hardware.



    Eine hardwareseitige Realisierung, so wie sie von Fabio und Christian angesprochen wurde, ist eigentlich genau das, was ich suche.
    Ich habe ich auch etwas näher mit den analogen Videosignalen beschäftigt. Eine direkte Aufsplittung des analogen Signals wird sich leider wohl kaum realisieren lassen, ohne dies vorher zu digitalisieren. Wenn jemanden dazu eine entsprechende Lösung einfällt, bin ich jedoch allerdings sehr gerne für Vorschläge offen.


    Sollte es auf eine digitale Aufsplittung des Signals so stellen sich aber auch nun folgende Fragen:


    1) Bevorzugt auf niedrige Auflösungen setzen (z.B. ein Eingangssignal von 640*480 Pixel, welches auf vier Displays aufgesplittet wird) um somit nur mit einer möglichst geringen Bandbreite zu arbeiten um die benötigte Rechenleistung möglichst gering zu halten oder direkt auf eine hohe Auflösung zu setzen, um so mit einer einzigen Lösung alle Displays zu versorgen?


    2) Welche Art der Signalübertragung eignet sich besser? Ist es sinnvoll ein analoges VGA-Signal zu digitalisieren oder macht es mehr Sinn direkt ein digitales DVI-Signal zu verarbeiten (trotz der hohen Bandbreite und der damit verbundenen, aufwenigen Verarbeitung)?


    3) Welche Bauteile eignen sich für dieses vorhaben. Macht es sinn auf FPGAs zu setzen oder gibt es auch Möglichkeiten, die benötigte Performance mit Mikrocontrollern zu erzielen? Welche Art von Speicherbausteinen eignet sich für das zwischenspeichern der Bilddaten? Was kommt neben SRAM noch in Frage, um die Speicherverwaltung dabei aber dennoch möglichst einfach zu halten?


    4) Gibt es Hersteller, die entsprechende Bauteile zur Verfügung stellen, die schon mehrere der geforderten Funktionalitäten in sich vereinen?



    Die Fragen lassen sich natürlich teilweise nicht pauschal beantworten. Wobei es mir auch viel weniger um konkrete Lösungen sondern viel mehr um entsprechende, sinnvolle Ansätze zur Problemlösung geht.



    Viele Grüße,
    Marcel