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_1 [ label="VGA 1", style=filled, fillcolor=lightblue ]; vga1_2 [ label="VGA 2", style=filled, fillcolor=lightblue ]; vga1_3 [ label="VGA 3", style=filled, fillcolor=lightblue ]; vga1_4 [ label="VGA 4", style=filled, fillcolor=lightblue ]; label="VGA Input 1"; } subgraph cluster2 { style="plaintext"; color="invis"; vga2_1 [ label="VGA 1", style=filled, fillcolor=lightblue ]; vga2_2 [ label="VGA 2", style=filled, fillcolor=lightblue ]; vga2_3 [ label="VGA 3", style=filled, fillcolor=lightblue ]; vga2_4 [ label="VGA 4", style=filled, fillcolor=lightblue ]; label="VGA Input 2"; } subgraph cluster3 { rankdir="TB"; # style="plaintext"; # color="invis"; VIDEO_MUX_1 [ label="{{<in1> IN1 |<in2> IN2 |<in3> IN3 |<in4> IN4 } | \ { ISL59452IRZ\n4:1\ RGB-Video-Mux | <ctrl> CTRL } | \ <out> OUT }", \ style="filled", fillcolor="orangered" ]; VIDEO_SW_1 [ label="{{ <in> IN } | \ { TS5V330 | <ctrl> C } | \ {<out1> OUT1 | <out2> OUT2 }}", style="filled", fillcolor="orangered" ]; "vga1_1" -> "VIDEO_MUX_1":in1 [ arrowhead="open", style="solid", label="RGB", color="black" ]; "vga1_2" -> "VIDEO_MUX_1":in2 [ arrowhead="open", style="solid", label="RGB", color="black" ]; "vga1_3" -> "VIDEO_MUX_1":in3 [ arrowhead="open", style="solid", label="RGB", color="black" ]; "vga1_4" -> "VIDEO_MUX_1":in4 [ arrowhead="open", style="solid", label="RGB", color="black" ]; "VIDEO_MUX_1":out -> "VIDEO_SW_1":in [ arrowhead="open", style="solid", label="RGB", color="black" ]; } subgraph cluster4 { rankdir="TB"; # style="plaintext"; # color="invis"; VIDEO_MUX_2 [ label="{{<in1> IN1 |<in2> IN2 |<in3> IN3 |<in4> IN4 } | \ { ISL59452IRZ\n4:1\ RGB-Video-Mux | <ctrl> CTRL } | \ <out> OUT }", \ style="filled", fillcolor="orangered" ]; VIDEO_SW_2 [ label="{{ <in> IN } | \ { TS5V330 | <ctrl> C } | \ {<out1> OUT1 | <out2> OUT2 }}", style="filled", fillcolor="orangered" ]; "vga2_1" -> "VIDEO_MUX_2":in1 [ arrowhead="open", style="solid", label="RGB", color="black" ]; "vga2_2" -> "VIDEO_MUX_2":in2 [ arrowhead="open", style="solid", label="RGB", color="black" ]; "vga2_3" -> "VIDEO_MUX_2":in3 [ arrowhead="open", style="solid", label="RGB", color="black" ]; "vga2_4" -> "VIDEO_MUX_2":in4 [ arrowhead="open", style="solid", label="RGB", color="black" ]; "VIDEO_MUX_2":out -> "VIDEO_SW_2":in [ arrowhead="open", style="solid", label="RGB", color="black" ]; } subgraph cluster5 { VIDEO_CONV_1 [ label="{{<in1> IN1 |<in2> IN2 } | \ { AD9983A | <ctrl> I²C } | \ <out> OUT }", \ width="1.70", height="1.00", style="filled", fillcolor="crimson" ]; DIG_OUT_1 [ label="Digital Output 1\n(24 Bit RGB)", style="filled", fillcolor="green" ]; "VIDEO_CONV_1":out -> "DIG_OUT_1" [ arrowhead="open", style="solid", label="/24 Bits", color="black" ]; } subgraph cluster6 { VIDEO_CONV_2 [ label="{{<in1> IN1 |<in2> IN2 } | \ { AD9983A | <ctrl> I²C } | \ <out> OUT }", \ width="1.70", height="1.00", style="filled", fillcolor="crimson" ]; DIG_OUT_2 [ label="Digital Output 2\n(24 Bit RGB)", style="filled", fillcolor="green" ]; "VIDEO_CONV_2":out -> "DIG_OUT_2" [ arrowhead="open", style="solid", label="/24 Bits", color="black" ]; } label1 [ label="Eingänge", style="plaintext", color="invis", fontsize=14 ]; label2 [ label="Auswahl und Verstärkung des Eingangs\nAuswahl des Ausgangs", style="plaintext", color="invis", fontsize=14 ]; label3 [ label="Wandlung in Digitalsignal\nAusgabe", style="plaintext", color="invis", fontsize=14 ]; { rank="same"; "vga1_4"; "vga2_4"; "label1"; } { rank="same"; "VIDEO_MUX_1"; "VIDEO_MUX_2"; "label2"; } { rank="same"; "VIDEO_CONV_1"; "VIDEO_CONV_2"; "label3"; } "VIDEO_SW_1":out1:s -> "VIDEO_CONV_1":in1:n [ arrowhead="open", weight=1, minlen=3, style="solid", color="black" ]; "VIDEO_SW_1":out2:s -> "VIDEO_CONV_2":in1:n [ arrowhead="open", weight=0, minlen=3, style="solid", color="black" ]; "VIDEO_SW_2":out1:s -> "VIDEO_CONV_1":in2:n [ arrowhead="open", weight=0, minlen=3, style="solid", color="black" ]; "VIDEO_SW_2":out2:s -> "VIDEO_CONV_2":in2:n [ arrowhead="open", weight=1, minlen=3, style="solid", color="black" ]; } </graphviz> Weitere Beschreibung wird folgen