Hallo Leute,
ich habe eine Rackkonsole (Monitor, Tastatur und Maus) die Tastatur und
Maus (Trackpad) sind über einen USB-Anschluss nach außen geführt.
Eingebauter HUB nehme ich an. Da mein KVM-Switch noch Old-School zwei
PS2 Eingänge hat muss ich einen Weg finden das USB-Signal auf PS2 zu
wandeln. Man beachte hier das ein einfacher USB->PS2 Adapter natürlich
nicht funktioniert weil die Geräte wie gesagt zusammen geschaltet sind.
Ich komme aus der Software-Schiene habe aber auch schon ein bisschen was
mit Mikrocontrollern (Mega8-Serie) gemacht. Jetzt bin ich auf der suche
nach einem Mikrocontroller der als USB-Host fungieren kann. Ich denke
danach muss ich den USB-Stack entweder selbst implementieren oder nach
Möglichkeit gibt es da was frei verfügbares. Anschließend dann eine Art
Treiber für USB-HID?
Für PS2 wird wohl Bit-Banging reichen oder? Das muss ich dann allerdings
auch noch mal genau angucken wie das Protokoll da ist.
Ich habe bei Atmel den Atmel AVR4950 USB-Stack gefunden. Würde das hier
an der Stelle was taugen? Ich denke es würde mir viel Arbeit abnehmen
den USB-Stack nicht selbst implementieren zu können.
Welchen Controller würdet ihr für die Aufgabe empfehlen?
Ich bin Privatperson das ist ein einmaliges Projekt. Der Controller
sollte also in geringen Stückzahlen bei den üblichen verdächtigen
Beziehbar sein.
Vielen Dank
Nils
Nilres schrieb:> Da mein KVM-Switch noch Old-School zwei PS2 Eingänge hat muss ich einen> Weg finden das USB-Signal auf PS2 zu wandeln.
Der einfachste Weg dürfte sein, den KVM-Switch zu ersetzen.
Oder betreibst Du an dem auch Geräte, die zwingend nur mit PS/2-Geräten
funktionieren?
Hm interessant darüber hatte ich noch nicht nachgedacht. Das ganze ist
nen 16-Port KVM-Switch, die brauche ich zwar nicht alle aber den zu
erstezen wird schon recht teuer (bzw. man wird viel Zeit auf Ebay
verbringen da was zu finden). (Wen es interessiert es ist so einer:
http://daxten.com/ie/photos/proddetail/pd-5130-2161.gif)
Neu kosten solche Geräte ein schweine Geld. Da glaube ich schon das eine
bastel Lösung günstiger ist (wenn man die Arbeitszeit nicht mit
einrechnet). Das teure bei solchen Profi-Lösungen mit vielen Ports ist
meist das man pro Gerät noch einen Adapter braucht. Für die 10 Geräte
die ich dran habe würde das bestimmt >500€ kosten.
Ich hätte gedacht das selbst wenn ich die Platinen ätzen lasse das ich
mit Bauteilen und Gehäuse wohl unter 200€ bleibe.
Nilres schrieb:> Man beachte hier das ein einfacher USB->PS2 Adapter natürlich> nicht funktioniert weil die Geräte wie gesagt zusammen geschaltet sind.
Das stimmt so nicht bzw. nicht unbedingt - im Prinzip ist der Anschluss
an den KVM-Switch völlig normal, da ist nichts "zusammengeschaltet", das
macht die interne Logik. Allerdings sind Adapter in dieser Richtung
schwer zu bekommen und chronisch fehleranfällig, ich hatte welche, die
garnicht funktioniert haben, und welche, die keine Umlaute durchgelassen
haben. Aber im Prinzip funktioniert das so.
Allerdings geht die Entwicklung in die andere Richtung, dann hast du
irgendwann einen Adapter USB->PS2 und auf der anderen Seite 16 Adapter
PS2->USB, da ist ein KVM-Switch für USB schon zukunftssicherer.
Jedenfalls bis sich Intel/MS wieder was neues überlegen.
Georg
Eine USB-Tastatur oder Maus müßte man mit den Vinculum-Chips von FTDI
anbinden können. PS/2 dann in Bitbanging per Hand umsetzen. Man kann
diese Chips (z.B. VNC2L) auch bei Mouser kaufen.
Eine Appnote zu USB-HID auf UART gibt es hier:
http://www.ftdichip.com/Support/Documents/AppNotes/AN_194_VNC2_UART_to_HID_Class_Device_Bridge.pdf
Dann müßte man evtl. durch einen zweiten Controller UART auf PS/2
umsetzen.
Dazu gibt es auch fertige Firmware-Dateien. Vielleicht ist es auch mit
dem älteren VNC1L machbar.
Allerdings muß ich zu dem Vinculum-Chips eine Warnung auf den Weg geben:
Die Dokumentation ist lückenhaft, der Einstieg mit der IDE nicht so
intuitiv wie z.B. bei Atmel oder TI, und Beispielcodes funktionieren
teilweise nicht, weil sie unvollständig sind.
Man muß bereit sein, sich durchzubeißen und ggf. auch mal den Support
des Chipherstellers nerven, wenn man damit etwas erreichen will.
Vielleicht ist eine Lösung aus 2 Chips, die miteinander kommunizieren,
eleganter: Einer kann dann den bibliothekslastigen, schwer
überschaubaren USB-Teil abbilden, der andere den simplen, aber in harter
Echtzeit abzuwickelnden PS/2 Interface-Part.
Nimm den PIC24FJ64GB002. 28 Pins, USB OTG, 64k Flash, 8k RAM. Gibts bei
Reíchelt.
Dazu MPLABX, den XC16 Compiler, ein PICKIT3 und die Microchip Libraries
for Applications (MLA). Da ist ein USB-Host Stack und ein USB HOST HID
Treiber drin, den Du benutzen kannst. Für PS/2 nimmst Du zwei
5V-tolerante Pins zum Lesen der Zustände und zwei weitere Pins mit BC547
oder so als Ausgang zum Herunterziehen der Leitungen (ist ja alles Open
Collector mit Pullups), und damit ist die Hardware auch erledigt.
fchk
Nilres schrieb:> Da mein KVM-Switch noch Old-School zwei> PS2 Eingänge hat muss ich einen Weg finden das USB-Signal auf PS2 zu> wandeln.
Solche Adapter gibt es (gab es?) für wenige Euro käuflich zu erwerben.
Manchmal hilft da die Bildersuche von Google weiter.
Harald W. schrieb:> Solche Adapter gibt es (gab es?) für wenige Euro käuflich zu erwerben.> Manchmal hilft da die Bildersuche von Google weiter.
Die billigen passiven nutzen ihm nix. Er will 1x USB (Maus+Tatsatur in
einem) zu 2x PS/2 wandeln. Das wäre nur aktiv lösbar und daher deutlich
teurer.
Der Vorschlag mit dem PIC24FJ64GB002 ist für mich bisher der am ehsten
zu gebrauchende. Ich konnte in meiner Mittagspause erst grob über das
Datenblatt schauen aber alles in allem scheint der alles zu können was
ich brauche.
Werde mich heute Abend dann noch mal mit der Software-Bibliothek
auseinandersetzen. Das ist vermutlich der aufwändigere Teil bei diesem
Projekt.
Vielen Dank für die Hinweise.
Jim M. schrieb:> Die billigen passiven nutzen ihm nix. Er will 1x USB (Maus+Tatsatur in> einem) zu 2x PS/2 wandeln. Das wäre nur aktiv lösbar und daher deutlich> teurer.
Du hast recht, ich bin von Maus/Tastatur --> USB ausgegangen.
Vielleicht wäre es einfacher, sich (gebrauchte) Alttastaturen/
Mäuse mit PS2-Stecker zu besorgen.
Das ist nich das Problem. So sieht die Lösung bis heute aus: Neben dem
Rack steht auf nem Tisch ein Monitor und eine Maus und Tastatur
(getrennt und dann mit den einfachen USB <-> PS2 adaptern). Jetzt bin
ich sehr günstig an einen richtigen Monitor/Tastatur-Auszug für das Rack
gekommen. Daher jetzt den Wunsch es damit zu betreiben. Das kostet mich
1HE im Rack dafür könnte der ganze Tisch der daneben steht raus.
Hat der KVM Switch überhaupt eine Elektronik auf den PS2 Leitungen?
Vielleicht kann man da einfach USB durchschleifen...
Ansonsten gibt es noch viele STM32 mit USB Host, damit müsste es auch
gehen.
Dr. Sommer schrieb:> Hat der KVM Switch überhaupt eine Elektronik auf den PS2 Leitungen?
Ganz sicher. Sonst würde die Maus nicht funktionieren.
PS/2- bzw. AT-Tastaturen sind inoffiziell "hot-plug"-fähig, d.h. man
kann sie vom laufenden Rechner trennen und wieder mit ihm verbinden, und
sie funktionieren weiterhin (bis auf die auf einen sehr lahmen
Standardwert gesetzte Autorepeat-Rate).
Bei PS/2-Mäusen ist das aber anders, die sind danach nicht mehr zum
Funktionieren zu bekommen - der betreffende Rechner muss neu gestartet
werden (oder sonstwie dazu gebracht werden, sein PS/2-Maus-Interface neu
zu initialisieren).
KVMs für PS/2-Mäuse enthalten aktive Elektronik, die allen PCs eine
angeschlossene Maus vorgaukelt.
Rufus Τ. F. schrieb:> PS/2- bzw. AT-Tastaturen sind inoffiziell "hot-plug"-fähig
Ja ist doch super, dann schleift man durch die 2 Datenleitungen für die
Tastatur den USB durch, und ignoriert die für die Maus?!