Die meisten von uns denken nie viel über ihre Tastaturen nach, solange sie gut funktionieren. Wenn Sie jedoch einen Moment darüber nachdenken, senden sie nur Signale an unsere Computer oder gibt es einen aktiven Hin- und Her-Prozess bei der Arbeit ? Der heutige SuperUser Q & A-Beitrag enthält die Antwort auf die Frage eines neugierigen Lesers.
Die heutige Frage-Antwort-Sitzung wird uns mit freundlicher Genehmigung von SuperUser zur Verfügung gestellt - einer Unterteilung von Stack Exchange, einer Community-gesteuerten Gruppierung von Q & A-Websites.
Die Frage
SuperUser Reader Ne Mo möchte wissen, ob USB-Tastaturen nur Signale senden oder ob sie diese auch empfangen:
Eine USB-Tastatur muss keine Signale von einem Computer empfangen, nur Strom, oder? Oder muss es Signale empfangen und senden?
Senden USB-Tastaturen nur Signale oder empfangen sie diese auch?
Die Antwort
Die SuperUser-Mitarbeiter LawrenceC und Dmitry Grigoryev haben die Antwort für uns. Zuerst LawrenceC:
Von dem " Geräteklassendefinition für Human Interface Devices (HID) " Spezifikation:
![]()
Um die Tastatur-LEDs zu ändern, akzeptiert die Tastatur einen entsprechenden Befehl. Es handelt sich also nicht um ein Nur-Eingabe-Gerät (dh es gibt nur Daten an den Host aus). Abgesehen davon gibt es einen Verhandlungs- und Aufzählungsprozess mit allen USB-Geräten, die ein Hin- und Her-Gespräch zwischen dem Host und dem Gerät erfordern. Sie können kein schreibgeschütztes USB-Gerät haben. Noch vor USB akzeptierte der Tastaturcontroller des Computers Befehle, da er neben dem Lesen der Tastatur noch einige andere Dinge tat ( Referenz ):
![]()
Gefolgt von der Antwort von Dmitry Grigoryev:
Jedes USB-Gerät unabhängig von seiner Klasse benötigt eine bidirektionale Kommunikation, um zu funktionieren. Jedes USB-Gerät (oder jede Funktion in Bezug auf USB-Spezifikationen) wird als eine Reihe von Endpunkten dargestellt, die als Puffer betrachtet werden können, die Daten akzeptieren oder empfangen. Selbst Endpunkte, die nur Daten senden können, warten auf ein spezielles Paket, das als Token bezeichnet wird, bevor sie antworten können:
![]()
Die grauen Kästchen stehen für den USB-Host, während die weißen Kästchen für USB-Funktionen stehen ( Diagrammquelle ).
Sogar sogenannte Interrupt-Übertragungen werden auf diese Weise durchgeführt, wobei der USB-Host verbundene Geräte mithilfe von Token-Paketen abfragt. Was sich zwischen regulären (Massen-) Übertragungen und Interrupt-Übertragungen unterscheidet, ist, dass die Abrufzeit gering und im letzteren Fall garantiert ist. Trotzdem werden alle Übertragungen vom Host initiiert.
Haben Sie der Erklärung etwas hinzuzufügen? Ton aus in den Kommentaren. Möchten Sie weitere Antworten von anderen technisch versierten Stack Exchange-Benutzern lesen? Den vollständigen Diskussionsthread finden Sie hier .
Bildnachweis: Luke Jones (Flickr)