Ich habe nun insgesamt drei Anforderungen, käufliche USB-Geräte an meine eigene Hardware anzuschließen und Suche nach einer Möglichkeit, das kostengünstig und ohne großen Entwicklungsaufwand zu bewerkstelligen.
Anzuschließende Geräte wären primar Touch Screens, Keyboards und Mäuse.
Unter "Touch Screen" verstehe ich hier nicht ein Einzeldisplay, sondern den USB-Datenstrom, der von den typischen FERTIGEN TouchMonitoren zum Anschluss an PCs geliefert wird.
Unter "Keyboard" verstehe Ich neben Computer-Keyboards vor Allem MIDI-Keyboards, also sogenannte Masterkeyboards zur Steuerung von Klangerzeugern im Tonstudio. Hierbei geht es konkret um die, welche keine MIDI-Schnittstelle mehr haben, also ohne das klassische MIDI-TRIO (3 Din Buchsen) daherkommen und alles über USB-MIDI machen.
Dazu gfs auch Mäuse, wobei es hier nicht um die Emulation von PS/2 geht, was Ich ja kann, sondern wirklich das USB-Protokoll.
Der Anschluss soll an FPGAs erfolgen, bei denen Ich momentan über eigenes MIDI, selbstgebaute Tastaturen, selbstgebaute Controller mit eigener Interpretation der Drehenencoder sowie über Computer-Mäuse und Computer-Tastaturen arbeite, die alle mit PS/2 laufen.
Das Problem ist, das diese USB-Geräte alle passiv sind, also Slaves und damit einen host benötigen, der die Interlligenz besitzt und das Protokoll macht. Die Geräte haben typisch immer einen Treiber dabei, den ich natürlich nicht verwenden kann. Ich müsste also das USB aufs FPGA bringen, was als slave einfach ist, aber als host enorm aufwändig!
Stattdessen gibt es aber einige Berichte, das USER über programmierbare Plattformen wie Arduino sowas angegangen sind und teilweise realisiert haben (wollen!) Real funktionierendes gefunden habe Ich indes noch nicht!
Daher die Frage: Hat hier jemand schon mal ein solches USB-Gerät an seinen ROBI oder eine andere APP angeflanscht? Da es dafür einen kommerziellen Bedarf gibt, wäre da auch finanziell Spielraum. Interessenten und Abnehmer wären vorhanden. Im Idealfall soll auch ein Seaboard implementiert werden. Sobald das USB als solches läuft, könnte man mit einem sniffer die Responses abfangen und interpretieren.
- - - Aktualisiert - - -
Noch ein Nachtrag:
Der Hintergrund der Thematik ist neben Tempo (MIDI über die alte Schnittstelle ist extrem langsam und damit) auch Verfügbarkeit: Viele moderne Geräte sind nur noch mit USB-MIDI ausgestattet, um einerseits Kosten zu sparen und andererseits fein genug agieren zu können, denn nur mit dem dichten Datenstrom im USB-MIDI sind sogenannte breath controller im Bereich Gitarren und Blasinstrumente überhaupt sinnvoll nutzbar. Spezialgeräte wie das "Roli Seaboard" oder auch Theremine sind nur über USB zu erreichen und auch bei Tastaturen und Mäusen kann man neue Kunden schlecht auf PS/2 verweisen.
Adapter funktionieren in der Angelegenheit nicht:
- Eine über USB-zu-PS2 angeschlossene USB-Maus funktioniert (getestet) nicht am rudimentären PS2-Port. Der PC scheint da etwas mehr zu tun, als nur PS/2-Protokoll.
- USB zu Seriell Converter lösen das Problem ebenfalls nicht, weil nur in die eine Richtung der PC über USB auch Seriell treiben kann, um serielles Equipment wie alte Mäuse etc anzudocken. Umgekehrt geht es logischerweise nicht.
- USB-Hubs funktionieren bei vielen USB-Geräten nicht, weil der PC nur EIN Gerät erkennt. Auch daher soll mein Gerät in der Lage sein, mehrere USB-Geräte zu bedienen, deren Informationen zu mischen und wieder auszugeben.
Ideen und Tipps erbeten. Gut wäre eine programmierbare Plattform, die man über eine einfache Schnittstelle ansprechen kann, das USB-Thema erledigt und die Daten in einfacher Weise zum Abholen bereitstellt. Es fungiert dann beiden Teilnehmern gegenüber als Master oder zumindest als Aktiver!
Natürlich kann man sowas in einem FPGA machen, aber der hier vorgezeichnete Weg ist ein FPGA mit einem Softcore, also einer virtuellen CPU oder einem Hardcore, bzw ein Kombisystem wie Zynq, auf dem dann Linux installiert wird und eine host APP läuft. Das ist mir aber zu aufwändig und für die benötigte Bandbreite definitiv Verschwendung.
Lesezeichen