23Aug
La maggior parte di noi non pensa mai alle nostre tastiere finché funzionano bene, ma se si sofferma a pensarci per un momento, inviano solo segnali ai nostri computer o c'è un processo attivo avanti e indietro alavoro? Oggi il post di SuperUser Q & A ha la risposta alla domanda di un curioso lettore.
Today's Question &La sessione di risposta ci viene fornita per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento di Q & A basato su community.
The Question
SuperUser reader Ne Mo vuole sapere se le tastiere USB inviano solo segnali o se li ricevono anche:
Una tastiera USB non ha bisogno di ricevere alcun segnale da un computer, solo alimentazione, giusto? O ha bisogno di ricevere segnali e di inviarli?
Le tastiere USB inviano solo segnali o ricevono anche loro?
La risposta
SuperUser contributori LawrenceC e Dmitry Grigoryev hanno la risposta per noi. Innanzitutto, LawrenceC:
dalla specifica "Device Class Definition per Human Interface Devices( HID)":
Per cambiare i LED della tastiera, la tastiera accetta un comando per farlo. Quindi non è un dispositivo di "solo input"( significa che emette solo i dati sull'host).Detto questo, c'è un processo di negoziazione e di enumerazione con tutti i dispositivi USB che richiedono una conversazione avanti e indietro tra l'host e il dispositivo. Non è possibile avere un dispositivo USB "di sola lettura".Anche prima dell'USB, il controller della tastiera del computer accetta i comandi perché ha fatto alcune cose oltre a leggere la tastiera( riferimento):
Seguito dalla risposta di Dmitry Grigoryev:
Qualsiasi dispositivo USB, indipendentemente dalla sua classe, richiede la comunicazione bidirezionale per funzionare. Ogni dispositivo USB( o funzione in termini di specifiche USB) è rappresentato come un insieme di endpoint che possono essere considerati come buffer che accettano o ricevono dati. Tuttavia, anche gli endpoint che possono inviare solo dati attendono un pacchetto speciale chiamato token prima che possano rispondere:
Le caselle grigie rappresentano l'host USB mentre le caselle bianche rappresentano le funzioni USB( origine grafico).
Anche i cosiddetti trasferimenti di interrupt vengono eseguiti in questo modo, con i dispositivi USB che eseguono il polling dell'host tramite pacchetti di token. Ciò che differisce tra i trasferimenti( di massa) regolari e i trasferimenti di interruzione è che il tempo di polling è piccolo e garantito in quest'ultimo caso. Tuttavia, tutti i trasferimenti vengono avviati dall'host.
Hai qualcosa da aggiungere alla spiegazione? Audio disattivato nei commenti. Vuoi leggere più risposte dagli altri utenti di Stack Exchange esperti di tecnologia? Controlla la discussione completa qui. Immagine di
: Luke Jones( Flickr)