Startpagina » hoe » Dragen USB-toetsenborden alleen signalen of ontvangen ze deze ook?

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

    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 op het werk ? De SuperUser Q & A-post van vandaag heeft het antwoord op de vraag van een nieuwsgierige lezer.

    De Question & Answer-sessie van vandaag komt tot ons dankzij SuperUser - een onderdeel van Stack Exchange, een gemeenschapsgedreven groep 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 stroom, toch? Of moet het signalen ontvangen en verzenden??

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

    Het antwoord

    Bijdragers van SuperUser LawrenceC en Dmitry Grigoryev hebben het antwoord voor ons. Ten eerste, LawrenceC:

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

    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 behalve het toetsenbord lezen (referentie):

    Gevolgd door het antwoord van Dmitry Grigoryev:

    Voor elk USB-apparaat, ongeacht de klasse, moet bidirectionele communicatie werken. 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 echter op een speciaal pakket dat een token wordt genoemd voordat ze kunnen antwoorden:

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

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


    Heb je 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 hier de volledige discussiethread.

    Image Credit: Luke Jones (Flickr)