23Aug

Dragen USB-toetsenborden alleen signalen of ontvangen ze die ook?

click fraud protection

De meesten van ons besteden nooit veel aandacht aan onze toetsenborden zolang ze goed werken, maar als je er even over nadenkt, sturen ze alleen signalen naar onze computers of is er een actief heen-en-weer proces bijwerk? De SuperUser van vandaag Q & Een bericht heeft het antwoord op de vraag van een nieuwsgierige lezer.

De vraag van vandaag &Antwoord sessie komt naar ons met dank aan SuperUser-een onderverdeling van Stack Exchange, een community-gestuurde groepering van Q & A-websites.

De vraag

SuperUser-lezer Ne Mo wil weten of USB-toetsenborden alleen signalen verzenden of deze ook ontvangen:

Een USB-toetsenbord hoeft geen signalen van een computer te ontvangen, alleen voeding, toch? Of moet het signalen ontvangen en ook verzenden?

Sturen USB-toetsenborden alleen signalen of ontvangen ze deze ook?

Het antwoord

SuperUser-medewerkers LawrenceC en Dmitry Grigoryev hebben het antwoord voor ons. Allereerst LawrenceC:

Uit de specificatie "Device Class Definition voor Human Interface Devices( HID)":

instagram viewer

Om de toetsenbord-LED's te wijzigen, accepteert het toetsenbord een opdracht om dit te doen. Het is dus geen "alleen-invoer" -apparaat( wat betekent dat het alleen gegevens naar de host uitvoert).Dat gezegd hebbende, is er een onderhandelings- en opsommingsprocedure met alle USB-apparaten die een heen en weer gesprek tussen de host en het apparaat vereisen. U kunt geen "alleen-lezen" USB-apparaat hebben. Zelfs vóór USB accepteerde de toetsenbordcontroller van de computer commando's omdat het een paar dingen deed naast het lezen van het toetsenbord( referentie):

Gevolgd door het antwoord van Dmitry Grigoryev:

Elk USB-apparaat, ongeacht zijn klasse, vereist bidirectionele communicatie. Elk USB-apparaat( of functie in termen van USB-specificaties) wordt weergegeven als een reeks eindpunten die kunnen worden beschouwd als buffers die gegevens accepteren of ontvangen. Zelfs eindpunten die alleen gegevens kunnen verzenden, wachten op een speciaal pakket dat een token wordt genoemd, voordat ze kunnen antwoorden:

De grijze vakken vertegenwoordigen de USB-host terwijl de witte vakjes USB-functies vertegenwoordigen( kaartbron).

Zelfs zogeheten interrupt-overdrachten worden op deze manier gedaan, waarbij de USB-host verbonden apparaten belt met behulp van tokenpakketten. Wat verschilt tussen reguliere( bulk) overschrijvingen en interruptoverdrachten, is dat de stemtijd in het laatste geval klein is en gegarandeerd. Toch worden alle overdrachten geïnitieerd door de host.

Heeft u iets toe te voegen aan de uitleg? Geluid uit in de reacties. Wilt u meer antwoorden van andere technisch onderlegde Stack Exchange-gebruikers lezen? Bekijk de volledige discussiethread hier.

beeldbank: Luke Jones( Flickr)