Hallo, ich bräuchte mal eure Einschätzung. Wäre es möglich mit einem FPGA oder CPLD einen USB 2.0 switch zu realisieren für 24 USB Ports also 24:1? Wo seht Ihr Probleme? Grüße
Warum nicht einen 24 Port-Hub nehmen oder bauen. Das dürfte vermutlich einfacher sein. Zum Thema Switch fallen mir schon ein paar Probleme ein. Viele Geräte müssen vorm Entfernen / Abschalten im Windows abgemeldet werden, vorher darf der Switch die Verbindung nicht trennen. Wie willst du das realisieren? Ist es für die Anwendung überhaupt nötig? USB 2.0 ist eine bidirektionale und differenzielle Verbindung mit immerhin 480 MBit. Schafft das dein FPGA / CPLD? Wie verhinderst du, dass während einer laufenden Übertragung der Port umgeschalten wird? Das dürften nur ein paar wenige Probleme sein. Ich sage mal, es wird sehr schwierig, so etwas zu realisieren...
Vllt noch zur Info es soll nur Keyboard oder Maus umgeschalten werden. Von außen durch eine Schnittstelle soll ausgewählt werden an welchen der 24Prozessoren die M oder K durchgeschaltet werden soll. -- Prozessor 1 / -- Prozessor 2 Keyb____/ -- Prozessor 3 -- Prozessor 4 -- Prozessor 5 . . . . . .
Das nennt sich dann Multiplexer und nicht switch. Wenn überhaupt möglich, dann mit Relais. Ich hätte sonst Bedenken wie sich die 5V verhalten wenn 24 Quellen parallel geschaltet werden. Vorallem wenn eine aus ist... Du solltest auch bedenken dass die Versorgungsspannung möglicherweise früher verbunden werden muss als die Signalleitungen. Du wirst sehr spezielle Relais brauchen um die geforderte Impedanz zu halten (90 Ohm glaub ich). Einfach wird es nicht.
Maus/Tastatur sind Low Speed USB Devices und arbeiten soweit ich weiß mit 1,5 MBit/sek. Wozu dann Usb 2.0? Auch ist es bei Maus & Tastatur unwichtig, ob die Geräte vor dem Umschalten abgemeldet werden. Es reicht allerdings nicht aus, nur D+/D- umzuschalten. Schließlich muss man der Tastatur/Maus signalisieren, dass sie sich beim (anderen) Rechner neu anzumelden hat. Ich denke das lässt sich einfacher mit Analog Switches oder Multiplexern lösen anstatt mit FPGAs.
Jens schrieb: > Warum nicht einen 24 Port-Hub nehmen oder bauen. Das dürfte vermutlich > einfacher sein. Weil man mit einem Hub zwar 24 Peripherien (z.B. Maeuse) an einen Rechner anschliessen kann, er will aber das umgekehrte. > Viele Geräte müssen vorm Entfernen / Abschalten im Windows abgemeldet > werden, vorher darf der Switch die Verbindung nicht trennen. Wie willst > du das realisieren? Abmelden ist eigentlich vor allem bei Massenspeichern noetig. Bei Maeusen, Tastaturen, Druckern, Scanner nicht notwendig (entspricht dem ziehen des USB Steckers). > Ist es für die Anwendung überhaupt nötig? USB 2.0 > ist eine bidirektionale und differenzielle Verbindung mit immerhin 480 > MBit. Schafft das dein FPGA / CPLD? Wie verhinderst du, dass während > einer laufenden Übertragung der Port umgeschalten wird? Wie wird verhindert, das waerend einer laufenden Uebertragung der Benutzer den USB Stecker zieht ? Gar nicht, scheint aber auch kein Problem zu sein. Entscheiden ist das die Maus/Tastatur mitbekommt, dass sie neu verbunden wurde, damit sie die Initializierungs-Sequenz neu startet. Also muss vermutlich die Spannungsversorgung kurz unterbrochen werden.
markus schrieb: > Vllt noch zur Info es soll nur Keyboard oder Maus umgeschalten werden. d.H. du brauchst gar kein High-Speed oder Full-Speed. Mit FPGA/CPLD wirds trotzdem schwer, da die Datenleitungen bidirektional genutzt werden, und du die Richtungsumschaltung durch Protokoll-Sniffing mitkriegen müsstest. Evtl. mit externen PHYs zu umgehen... Preislich und Aufwandsmäßig evtl. in ähnlicher Region, leichter erweiterbar, aber für die PCs "angenehmer": Nimm 24 billigst-µCs, die grad so für USB-HID Device reichen. Die an die Rechner verbinden. Einen (größeren) µC als USB-Host für Tastatur und Maus. Das ganze über einen Bus verbinden. (I²C würde reichen). Fertig. Rechner-Umschaltung würde dann auch problemlos per Tasten-Kombination möglich sein, die Rechner kriegen nicht die ganze Zeit USB-Connects/Disconnects, und sogar ein "Broadcast" Modus zum Senden der Tasten-Drücke an mehrere angeschlossenen Rechner gleichzeitig wäre möglich. Galvanische Trennung der einzelnen Rechner voneinander ginge dann auch einfach auf I²C-Ebene.
ok das Signalisieren findet ja dann wieder neu statt wenn ich kurz die Spannung für M/K abschalte dann umschalte und Spannung wieder zuschalte. Sehe ich das richtig?
Mein Beitrag mit Signalisieren gerade hat wohl Kai S. schon beantwortet. @Ernst Ja die Bidirektionalität wird wohl schwierig mit FPGA. Habe ich noch garnicht drüber nachgedacht :-(
Warum willst du eigentlich auf 24 Rechner mit einer Maus/Keyboard zugreifen? Und wie bekommst du ein Bild vom jeweiligen Desktop? Brauchst du es privat oder kommerziell? Ich würde mir einfach einen guten KVM Switch kaufen und nicht Wochenlang rumbasteln. Hier mal ein Link (soll keine Werbung sein) aber vielleicht kennst du KVM Switchs ja noch nicht... http://www.alternate.de/html/product/ATEN/KN4124v/868870/?
Kai S. schrieb: > Datum: 10.01.2012 10:26 > Jens schrieb: >> Warum nicht einen 24 Port-Hub nehmen oder bauen. Das dürfte vermutlich >> einfacher sein. > > Weil man mit einem Hub zwar 24 Peripherien (z.B. Maeuse) an einen > Rechner anschliessen kann, er will aber das umgekehrte. Das war aus dem ursprünglichen Post so nicht erkennbar. >> Viele Geräte müssen vorm Entfernen / Abschalten im Windows abgemeldet >> werden, vorher darf der Switch die Verbindung nicht trennen. Wie willst >> du das realisieren? > > Abmelden ist eigentlich vor allem bei Massenspeichern noetig. Bei > Maeusen, Tastaturen, Druckern, Scanner nicht notwendig (entspricht dem > ziehen des USB Steckers). Siehe oben. Im ursprünglichen Post fehlten wichtige Infos. Bei Tastaturen und Mäusen würde ich nur USB 1.1 nehmen. Dort habe ich nur max. 12 MBit und würde das ganze mit Reedrelais realisieren. Damit ist auch gewährleistet, dass die T / M beim neu verbinden kurz von der Spannungsversorgung getrennt wird und sich am neuen Gerät neu anmeldet. Eine entsprechende Logik müsste jedoch sicherstellen, das nur ein PC auf die T / M geschaltet ist.
markus schrieb: > Vllt noch zur Info es soll nur Keyboard oder Maus umgeschalten werden. > Von außen durch eine Schnittstelle soll ausgewählt werden an welchen der > 24Prozessoren die M oder K durchgeschaltet werden soll. Warum arbeitest Du nicht per Ethernet remote auf den Maschinen? Duke
@Boris- Vielen Dank für den Link aber es ist ne Spezielle Anwendung KVM Switchen haben wir hier auch. @Jens- Sorry wegen der Infos @Duke - Ja das wird auch gemacht aber wir brauchen trotzdem diese USB-Sache Was haltet ihr von USB Multiplexer von TI 1:2. Davon würde ich 12 nehmen und die von einem uC umschalten bzw Enableln oder Disableln. http://www.ti.com/lit/ds/symlink/ts3usb221.pdf
The MAX4999 features an enable input that allows two MAX4999s to be connected, allowing multiplexing between 16 USB channels.
Externer Multiplexer, 3x MAX4999 und nen uC zum steuern - fertig. Aber vergesse nicht die USB Leitungen zu schützen. Wir verwenden manchmal USBLC6-4 http://www.st.com/internet/analog/product/90761.jsp Musst du ein SIL-Level erreichen oder sonst irgendwelche Sicherheitskriterien beachten?
@Boris Ist für Klimaschränke, Hauptsache die Schaltungen halten die vielen Tempzüglen aus..ansonsten kenne ich jetzt keine Kriterien. Danke für den Link. Kann ich gut gebrauchen.
Wenn Du sowas fertig haben willst, schaue mal bei einem der "guten" KVM Hersteller vorbei. Z.B. der Tradeswitch von www.gdsys.de kann zumindest bis zu 8xMaus/Tastatur umschalten. Vielleicht findest Du das auch für 24. Oder kannst Dir ne Spezialversion bauen lassen :)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.