Hallo Volker,
bei dieser Schnittstellengeschichte muss man einfach überlegen, welche Notwendigkeiten diese so mit sich bringen.
Bei USB zum Beispiel ist zunächst mal klar, dass mit USB 3 der alte USB 1.0 quasi wieder eine Verlängerung der Existenzberechtigung erfährt. Es ist anzunehmen, dass aufgrund mannigfalter vorhandener Hardware der USB noch lange abwärtskompatibel weiterentwickelt wird. So etwas hat ja bei Festplatten der AT-Bus/IDE/(P)ATA erfahren und Teile der Ansteuerung sind ja selbst beim Nachfolger SATA erhalten geblieben. Das geht nun zurück auf deutlich vor 1990.
Bei USB sieht es aber so aus, dass Geräte daran stets gewissermaßen passiv sind, das heißt sie fordern den Rechner nicht per Interrupt zur Reaktion auf Ereignisse auf. Stattdessen muss der Rechner immer mal nachgucken, ob am USB was war. Genau aus dem Grund gibt es immer wieder Probleme mit USB2Serial-Adaptern, weil die serielle Schnittstelle diese Fähigkeit hat. Es gibt nun Geräte, die das erwarten, und dann kommt es am einfachen Adapter zu Problemen und beim guten Adapter kann es auch noch genug Pannen geben.
Eine Netzwerkschnittstelle, egal ob WLAN oder LAN, macht ja noch einiges mehr an Aufwand, schließlich müssen hier die nötigen Protokolle implementiert werden. Das fängt an mit so Dingen wie CSMA/CD, der Medien-Zugriffssteuerung, die schon greift, bevor es überhaupt um IPs und deren Vergabe geht. Da wird mit MAC-Adressen gearbeitet, was nichts mit Äpfeln oder Birnen, sondern mit Medium Access Control zu tun hat. MAC-Adressen sind der Definition nach weltweit einzigartig zu vergeben (Herstellercode+Seriennummer).
Das sind nur Beispiele, die zeigen sollen, wie wichtig die Frage ist, welchen Aufwand man sich da antut. Es ist nicht einfach mit einem Pfostenstecker getan, in den man dann mal USB, mal RS232 und mal WLAN oder LAN hineinsteckt, sondern man muss eben genau überlegen, welche Fähigkeiten auf beiden Seiten des Pfostensteckers da sein müssen. Und wenn es da zwischen den Fähigkeiten, die von der Steuerung gebraucht werden, und den Fähigkeiten, die von der gewünschten Schnittstelle gefordert werden, Diskrepanzen gibt, dann ist eine Implementierung schwierig und teuer - oder gar unmöglich, wenn die Fähigkeiten nicht überein zu bringen sind.
Normalerweise meine ich, sollte man zu der Feststellung kommen, das ein USB-Anschluss, der mit USB 1.0 Stromversorgung auskommt oder diese besser gar nicht braucht die kompatibelste Schnittstelle ist. Wer dies am vorhandenen PC nicht nutzen kann, der kann wohl für wirklich wenig Geld ein Netbook anschaffen und das kann dann problemlos das Tor zur Welt sein, weil es WLAN und LAN enthält und meinetwegen von Australien nach Spitzbergen via Internet ferngesteuert werden kann.
Eine serielle Schnittstelle erscheint mir eigentlich heutzutage nur akzeptabel, wenn die auch mit 08/15 USB2Serial Adaptern funktioniert, also vom Protokoll her keinen IRQ braucht. Ansonsten hat man am Ende das Problem, dass etliche Leute, die das nutzen wollen hinter irgendeiner veralteten chinesischen Chipsatz-Variante her-ebayen, die noch in Einzelexemplaren zu haben ist, ohne dass man genau weiss, in welchem No-Name-Adapter die Teile wirklich drin sind, weil das Ding eben so ziemlich genau nur damit funktioniert. Ist leider alles schon da gewesen.
So ein ST-4 Interface hingegen ist ja ziemlich simpel, das muss nur Knöpfchen-Drücken (=auf Masse ziehen) können, ist also quasi ein Stecker der nur die Knöpfe eines Steuerkreuzes extern legt. Gibt noch ein paar Details, z.B. ob zwei Knöpfe (DE/RA) gleichzeitig gedrückt sein dürfen. Und wenn man es ganz sicher machen will, legt man den Ausgang auf einen Optokoppler, damit nur billige Bauteile braten, falls... da draußen was ungewöhnliches passiert.
Ich glaube aber wohl doch, dass an USB schon gedacht worden ist. Da gibt es zu viele einfache CT-Projekte, die vormachen, wie man mit USB steuern und regeln kann. Die Zeit, das zu programmieren, muss man einfach geben.
Clear Skies
Sven