Forum: FPGA, VHDL & Co. DVI-Kreuzschiene in FPGA implementierbar?


von M.Freber (Gast)


Lesenswert?

Guten Tag,

da ich an meinem Arbeitsplatz mehrere Monitore und Rechner verwende und 
häufig zwischen diesen wechsele, habe ich die Verbindung der Bildschirme 
und der Rechner bislang über analoge KVMs realisiert. Mittlerweile ist 
mir diese Lösung nicht mehr flexibel und zuverlässig genug.

Daher habe ich mich nach DVI-Kreuzschienen umgesehen und war über die 
Preisgestaltung im Bereich von einigen k€ in diesem Segment erschrocken.

Ich suche nach einer Lösung, bei der ich z.B. 8 DVI-Eingänge frei auf 8 
DVI-Ausgänge durchschalten kann. Gleichzeitig sollen die Tastatur- und 
Maussignale an einen gewählten Rechner weiterleiten werden.

Wäre so etwas komplett in einem FPGA realisierbar? Oder müssten hierfür 
gesonderte Leitungstreiber verwendet werden, welche eine hinreichende 
Bandbreite aufweisen?

Es gibt von Xilinx eine Appnote, in der eine 
Schnittstellenimplementation vorgeschlagen wird. Das geht jedoch aus 
meiner Sicht zu weit, da ich nur eine Kreuzschiene implementieren und 
keinen Einfluss auf den Dateninhalt nehmen möchte. Oder denke ich hier 
zu kurz?

Ist so etwas schon einemal von einem von euch umgesetzt worden? Kennt 
einer hierfür ein Beispiel im Netz?

Mit freundlichem Gruß

M.Freber

von Strubi (Gast)


Lesenswert?

Auf Lattice ECP3 geht das schon, aber auch die Entwicklungskits um mit 
sowas nur zu "spielen" gehen in die 1000er.
Die pragmatische, günstige Lösung ist in Software (x2x/x2win-Derivate) 
oder notfalls mit einer kleinen GigE/HDMI-fähigen Videoplayer-Box aus 
China.

von M.Freber (Gast)


Lesenswert?

Hallo,

vielen Dank für deine Antwort. Was genau meinst du mit
"Die pragmatische, günstige Lösung ist in Software 
(x2x/x2win-Derivate)"?

Mit freundlichem Gruß

M.Freber

von Ert (Gast)


Lesenswert?

M.Freber schrieb:
> Daher habe ich mich nach DVI-Kreuzschienen umgesehen und war über die
> Preisgestaltung im Bereich von einigen k€ in diesem Segment erschrocken.


Bei einer Eigenentwicklung von sowas kommst Du aber auch locker in den 
Bereich - ohne die Arbeitszeit mitzurechnen. Wenn ich mir so die ersten 
paar Google Ergebnisse anschaue ist damit 1 - 3 k€ gemeint was für sowas 
spezielles sogar noch recht günstig ist.



Für Maus und Tastatur könntest Du einfach sowas wie "Synergy" verwenden 
- dann musste nichtmal umschalten (öhm, wo ist gerade der Mauscursor? 
Ach da auf Monitor 7... ;-) ). Ist aber bei 8 Rechnern evtl. nicht ganz 
unproblematisch.

von Der Zahn der Zeit (Gast)


Lesenswert?

Es müsste mit entsprechenden DVI- oder HDMI-Rx/Tx-ICs gehen. Ein ADV7611 
ist so ein Kandidat. Die setzen z. B. von oder auf 24 Bit parallel um. 
Bei HD entspricht das einer Taktfrequenz = Pixelfrequenz = 125 MHz. Das 
sollte kein Problem sein. Es ist nur keine Komplettlösung im FPGA.

Wissenslücke: Beherrschen FPGAs die TDMA-Signale von HDMI überhaupt, 
bzw. welche würden das können? Oder können mit den seriellen 
Transceivern der größeren FPGAs auch HDMI/DVI Schnittstellenstandards 
und Geschwindigkeiten erfüllt werden? Da wird doch immer mit mehreren 
GBit/s geworben. Das könnte doch sogar mein mich so gerne umfangreich 
ausforschender "Freund" Google wissen.

DZDZ

von alibaba (Gast)


Lesenswert?

Hi,
unabhängig davon welche FPGAs diese Timings unterstützen (da stecke ich 
nicht drin) fällt mir gerade ein Ansatz ein, der ggf. die notwendige 
Größenordnung des FPGA drastisch reduziert: Statt die Signale "zur 
Laufzeit" in der FPGA Logik umzuschalten, könntest du für jedes 
Signalrouting (Permutation der Eingänge auf die Ausgänge) ein eigenes 
FPGA-Image bauen und dieses dann auf Knopfdruck z.B. durch einen 
Mikrocontroller aus einem billigen Flash-Speicher laden lassen. Dann 
dürften fast keine Logik-, sondern nur Routing-Resourcen genutzt werden.

Das hört sich doch zunächst nach einer interessanten Bastellösung an. 
Jetzt sehe ich allerdings gerade, dass sich da ja eine stolze Zahl von 
8!=40320 Images ergibt, was die Angelegenheit zugegebenermaßen etwas 
unhandlich macht. Allein die Zeit für PAR wär interessant ;-) Vielleicht 
brauchst du ja aber für deine Anwendung nicht die vollständige 
Permutation und dann wär es ggf. ein interessanter Ansatz. Einige 
hundert Kombinationen sollten locker mit einem Script machbar sein.

von Strubi (Gast)


Lesenswert?

Der Zahn der Zeit schrieb:
> Wissenslücke: Beherrschen FPGAs die TDMA-Signale von HDMI überhaupt,
> bzw. welche würden das können? Oder können mit den seriellen
> Transceivern der größeren FPGAs auch HDMI/DVI Schnittstellenstandards
> und Geschwindigkeiten erfüllt werden?

Können sie, mit mehr oder weniger Gefrickel. Beim schon genannten 
Lattice ECP3 geht das recht ordentlich ohne Treiber und beim neueren 
ECP5 wurde offenbar noch einiges verbessert, aber da habe ich HDMI noch 
nicht angeschmissen.
Der Spartan6 schafft DVI und TMDS auch, aber mit deutlich mehr manuellem 
Herumgezwiebel, weiss nicht wie's bei den neueren Familien aussieht. Es 
gibt ne XAPP dazu...

alibaba schrieb:
> ein eigenes
> FPGA-Image bauen und dieses dann auf Knopfdruck z.B. durch einen
> Mikrocontroller aus einem billigen Flash-Speicher laden lassen. Dann
> dürften fast keine Logik-, sondern nur Routing-Resourcen genutzt werden.

Du brauchst auf jeden Fall Logik, wegen Lane-Deskewing, usw.
Und vom "Knopfdruck" weg bis zum Umschalten dauerts u.U. 10 Sekunden...

Synergy scheint da ein würdiger Nachfolger von x2* zu sein.

von Falk B. (falk)


Lesenswert?

@M.Freber (Gast)

>da ich an meinem Arbeitsplatz mehrere Monitore und Rechner verwende und
>häufig zwischen diesen wechsele, habe ich die Verbindung der Bildschirme
>und der Rechner bislang über analoge KVMs realisiert. Mittlerweile ist
>mir diese Lösung nicht mehr flexibel und zuverlässig genug.

Vielleicht liegt dort aber auch das Grundproblem? Wozu braucht man 
MEHRERE Monitore? Reicht nicht 1-2 Monitore und eine Maus + Tastatur, 
mit der man ggf. mehrere Rechner umschaltet? Oder wechselst du dauernd 
den Arbeitsplatz?

>Daher habe ich mich nach DVI-Kreuzschienen umgesehen und war über die
>Preisgestaltung im Bereich von einigen k€ in diesem Segment erschrocken.

Versuchs mal als Prototyp billiger aufzubauen ;-)

>Ich suche nach einer Lösung, bei der ich z.B. 8 DVI-Eingänge frei auf 8
>DVI-Ausgänge durchschalten kann. Gleichzeitig sollen die Tastatur- und
>Maussignale an einen gewählten Rechner weiterleiten werden.

HF-Relais können das auch. Ist zwar etwas russisch, geht aber.

von Michael W. (Gast)


Lesenswert?

Strubi schrieb:
> Der Spartan6 schafft DVI und TMDS auch
aber nicht die höheren Raten. 1920 z.B. nur mit 30fps.

M.Freber schrieb:

> Ich suche nach einer Lösung, bei der ich z.B. 8 DVI-Eingänge frei auf 8
> DVI-Ausgänge durchschalten kann. Gleichzeitig sollen die Tastatur- und
> Maussignale an einen gewählten Rechner weiterleiten werden.

Schon mal über das timing nachgedacht?  Da kommen 3GBPS, die man per 
Kombinatorik durchs FPGA ziehen will, die also am Ausgang auf vielleicht 
0,1 ns genau sein müssen. Viel Spass.

DVI braucht 10 Leitungen + einen Takt, macht bei der Matrix 88x88 
Leitungen. Das wird mit mit der Konsistenz der Busse schwierig.

Professionelle Systeme lösen das mit analogen Videobuffern.

>HDMI
Schon mal gezählt?

Solche HMDI-Wandler haben bis zu 36 Ausgänge. Da kriegst Du vielleicht 
4x4 hin.

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
Noch kein Account? Hier anmelden.