23Aug
Die meisten von uns denken nicht lange über unsere Tastaturen nach, solange sie gut funktionieren, aber wenn Sie einen Moment darüber nachdenken, senden sie nur Signale an unsere Computer oder gibt es einen aktiven Hin-und-Her-Prozess beiArbeit? Der heutige SuperUser Q & A Post hat die Antwort auf die Frage eines neugierigen Lesers.
Die heutige Frage &Die Antwortsitzung kommt dank SuperUser, einer Unterteilung von Stack Exchange, einer Community-gesteuerten Gruppierung von Q & A-Websites, zu uns.
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 erhalten sie diese auch?
Die Antwort
SuperUser Mitwirkenden LawrenceC und Dmitry Grigoryev haben die Antwort für uns. Zuerst LawrenceC:
Aus der Spezifikation "Geräteklassendefinition für Human Interface Devices( HID)":
Um die Tastatur-LEDs zu ändern, akzeptiert die Tastatur einen Befehl dazu. Es ist also kein "Nur-Eingabe" -Gerät( dh es gibt nur Daten an den Host aus).Davon abgesehen gibt es einen Verhandlungs- und Aufzählungsprozess mit allen USB-Geräten, die eine Hin-und-Her-Konversation zwischen dem Host und dem Gerät erfordern. Sie können kein "Nur-Lese" -USB-Gerät haben. Noch bevor USB, der Tastatur-Controller des Computers würde Befehle akzeptieren, weil es ein paar Dinge neben dem Lesen der Tastatur( Referenz):
Gefolgt von der Antwort von Dmitry Grigoryev:
Jedes USB-Gerät unabhängig von seiner Klasse erfordert bidirektionale Kommunikation zu funktionieren. Jedes USB-Gerät( oder Funktion in Bezug auf USB-Spezifikationen) wird als ein Satz von Endpunkten dargestellt, die als Puffer angesehen werden können, die Daten annehmen oder empfangen. Aber auch Endpunkte, die nur Daten senden können, warten auf ein spezielles Paket namens Token, 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).
Selbst so genannte Interrupt-Übertragungen werden auf diese Weise durchgeführt, wobei der USB-Host angeschlossene Geräte unter Verwendung von Token-Paketen abfragt. Was zwischen normalen( Massen-) Übertragungen und Unterbrechungsübertragungen unterscheidet, ist, dass die Abfragezeit klein ist und im letzteren Fall garantiert ist. Trotzdem werden alle Übertragungen vom Host initiiert.
Haben Sie etwas zur Erklärung hinzuzufügen? Ton in den Kommentaren ab. Möchten Sie mehr Antworten von anderen technisch versierten Stack Exchange Benutzern lesen? Sehen Sie sich den vollständigen Diskussionsfaden hier an.
Bildkredit: Luke Jones( Flickr)