Dies ist eine alte Version des Dokuments!
====== Video Switch ====== Erste Überlegungen und Dokumentation welche ICs verwendet werden könnten um den angestrebten Crosspoint Video Switch zu realisieren. ==== Bauteile ==== Analog/HDMI/DVI Interfaces von Analog Devices: http://www.analog.com/en/audiovideo-products/analoghdmidvi-interfaces/products/index.html DVI-Receiver und -Transmitter von Texas Intruments TFP410 / TFP401/3 Spartan6 FPGA von Xilinx (mindestens als BGA676) ==== Aufbau ==== === Modular! === Jede Gruppe sollte auch für sich alleine funktionieren und mit den anderen Gruppen über Stift-/Buchsenleisten oder Flachbandkabel verschaltet werden können. === Übersicht === <graphviz dot left> digraph uebersicht_vga_input { graph [ rankdir="TB" ]; node [ shape=record, fontname=Helvetica, fontsize=10 ]; edge [ fontname=Helvetica, fontsize=10 ]; subgraph cluster1 { style="plaintext"; color="invis"; vga1 [ label="VGA 1", style=filled, follcolor=lightblue ]; vga2 [ label="VGA 2", style=filled, follcolor=lightblue ]; vga3 [ label="VGA 3", style=filled, follcolor=lightblue ]; vga4 [ label="VGA 4", style=filled, follcolor=lightblue ]; label="VGA Input 1"; } VIDEO_MUX [ label="<in1> 1 |<in2> 2 |<in3> 3 |<in4> 4 {ISL59452IRZ\n4:1 RGB-Video-Mux}|<out1> OUT }", style="filled", fillcolor="orangered" ]; MC1 [ label="\nAD9983A", fontsize="14", width="1.70", height="1.00", style="filled", fillcolor="crimson" ]; "vga1" -> "VIDEO_MUX":in1 [ arrowhead="open", style="solid", label="PS/2", color="black" ]; "vga2" -> "VIDEO_MUX":in2 [ arrowhead="open", style="solid", label="PS/2", color="black" ]; "vga3" -> "VIDEO_MUX":in3 [ arrowhead="open", style="solid", label="PS/2", color="black" ]; "vga4" -> "VIDEO_MUX":in4 [ arrowhead="open", style="solid", label="PS/2", color="black" ]; } </graphviz> \\ text\ <graphviz dot left> digraph uebersicht { graph [ rankdir="TB" ]; node [ shape=record, fontname=Helvetica, fontsize=10 ]; edge [ fontname=Helvetica, fontsize=10 ]; subgraph cluster0 { style="plaintext"; color="invis"; client_x [ label="Client Contr. 2", style=filled, fillcolor=lightblue ]; PC_x [ label="PC 2", shape="box3d", style=filled, fillcolor=green ]; client_x -> PC_x [ label="USB", color="black" ]; label = "Testlabel"; } subgraph cluster1 { style="plaintext"; color="invis"; kb2 [ label="Keyboard 2", shape="ellipse", style=filled, fillcolor=lightgray ]; ms2 [ label="Mouse 2", shape="ellipse", style=filled, fillcolor=lightgray ]; label = "optional"; } subgraph cluster2 { style="filled, dashed"; color="black"; fillcolor="lightgrey" usbhub [ label="USB-Hub", style="filled", fillcolor="#e0e0e0" ]; keyboards [ label="Keyboards", shape="oval", style="filled", fillcolor="#e0e0e0" ]; mice [ label="Mice", shape="oval", style="filled", fillcolor="#e0e0e0" ]; keyboards -> usbhub [ label="USB", dir="both" ]; mice -> usbhub [ label="USB", dir="both" ]; label = "optional USB connection"; } subgraph cluster3 { style="invis"; client1 [ label="Client Contr. 1", style=filled, fillcolor=lightblue ]; PC1 [ label="PC 1", shape="box3d", style=filled, fillcolor=green ]; client1 -> PC1 [ label="USB", color="black" ]; } subgraph cluster4 { style="invis"; client2 [ label="Client Contr. 2", style=filled, fillcolor=lightblue ]; PC2 [ label="PC 2", shape="box3d", style=filled, fillcolor=green ]; client2 -> PC2 [ label="USB", color="black" ]; } subgraph cluster5 { style="invis"; client3 [ label="Client Contr. 3", style=filled, fillcolor=lightblue ]; PC3 [ label="PC 3", shape="box3d", style=filled, fillcolor=green ]; client3 -> PC3 [ label="USB", color="black" ]; } subgraph cluster6 { style="invis"; client4 [ label="Client Contr. 4", style=filled, fillcolor=lightblue ]; PC4 [ label="PC 4", shape="box3d", style=filled, fillcolor=green ]; client4 -> PC4 [ label="USB", color="black" ]; } subgraph cluster7 { style="dashed"; client6 [ label=" . . . \nClient X", style="solid", color="white" ]; PC6 [ label=" . . . \nPC X", style="solid", color="white" ]; client6 -> PC6 [ label="USB", color="black" ]; client5 [ label="Client Contr. 5", style="filled", fillcolor="#d5e3ff" ]; PC5 [ label="PC 5", shape="box3d", style="filled", fillcolor="#b6ffc2" ]; client5 -> PC5 [ label="USB", color="black" ]; { rank="same"; "client6"; "client5"; } { rank="same"; "PC6"; "PC5"; } label = "etc. (expandable)"; } MC1 [ label="\rMain Controller", fontsize="14", width="1.70", height="1.00", style="filled", fillcolor="yellow" ]; { rank="same"; "MC1"; "usbhub"; } kb1 -> MC1 [ arrowhead="open", style="solid", label="PS/2", color="black" ]; ms1 -> MC1 [ arrowhead="open", style="solid", label="PS/2", color="black" ]; kb2 -> MC1 [ arrowhead="open", style="solid", label="PS/2", color="gray" ]; ms2 -> MC1 [ arrowhead="open", style="solid", label="PS/2", color="gray" ]; MC1 -> usbhub [ style="dotted", label="USB", dir="both" ]; MC1 -> client1 [ label="SPI", color="black" ]; MC1 -> client2 [ label="SPI", color="black" ]; MC1 -> client3 [ label="SPI", color="black" ]; MC1 -> client4 [ label="SPI", color="black" ]; MC1 -> client5 [ label="SPI", color="black" ]; } </graphviz>