Send USB-tastaturer kun signaler, eller modtager de dem også?
De fleste af os tænker aldrig på vores tastaturer så længe de fungerer godt, men hvis du holder op med at tænke på det et øjeblik, sender de kun signaler til vores computere, eller er der en aktiv frem og tilbage proces på arbejdspladsen ? Dagens SuperUser Q & A-indlæg har svaret på en nysgerrig læsers spørgsmål.
Dagens Spørgsmål & Svar session kommer til os med venlig hilsen af SuperUser-en underafdeling af Stack Exchange, en community-driven gruppe af Q & A-websteder.
Spørgsmålet
SuperUser-læser Ne Mo vil gerne vide, om USB-tastaturer kun sender signaler, eller hvis de også modtager dem:
Et USB-tastatur behøver ikke at modtage nogen signaler fra en computer, bare strøm, ikke? Eller skal den modtage signaler samt sende dem?
Send USB-tastaturer kun signaler, eller modtager de dem også?
Svaret
SuperUser bidragsydere LawrenceC og Dmitry Grigoryev har svaret for os. Først op, LawrenceC:
Fra "Device Class Definition for Human Interface Devices (HID)" specifikation:
For at ændre tastaturets lysdioder accepterer tastaturet en kommando for at gøre det. Så det er ikke en "input-only" enhed (det betyder, at det kun udsender data til værten). Når det er sagt, er der en forhandlings- og opgørelsesproces med alle USB-enheder, der kræver en frem og tilbage samtale mellem værten og enheden. Du kan ikke have en "skrivebeskyttet" USB-enhed. Selv før USB ville computerens tastaturstyring acceptere kommandoer, fordi det gjorde et par ting udover at læse tastaturet (reference):
Efterfulgt af svaret fra Dmitry Grigoryev:
Enhver USB-enhed, uanset dens klasse, kræver, at tovejskommunikation skal fungere. Hver USB-enhed (eller funktion i form af USB-specifikationer) er repræsenteret som et sæt af endepunkter, som kan betragtes som buffere, der accepterer eller modtager data. Men selv endepunkter, som kun kan sende data, venter på en særlig pakke kaldet et token, før de kan svare:
De grå bokse repræsenterer USB-værten, mens de hvide bokse repræsenterer USB-funktioner (diagramkilde).
Selv såkaldte afbrydelsesoverførsler gøres på denne måde, idet USB-værtsafstemningstilsluttede enheder bruger token-pakker. Hvad der skelner mellem regelmæssige (bulk) overførsler og afbryde overførsler er, at afstemningstiden er lille og garanteret i sidstnævnte tilfælde. Alligevel overføres alle overførsler af værten.
Har du noget at tilføje til forklaringen? Lyde af i kommentarerne. Vil du læse flere svar fra andre tech-savvy Stack Exchange brugere? Tjek den fulde diskussionstråd her.
Billedkredit: Luke Jones (Flickr)