Asynchrone USB-invoer verwijst naar een methode voor het verwerken van USB-invoergegevens waarbij de host (meestal een computer) het apparaat niet actief hoeft te pollen om gegevens te ontvangen. In plaats daarvan geeft het USB-apparaat zelf een signaal aan de host wanneer de gegevens gereed zijn, waardoor een interrupt of een andere asynchrone gebeurtenis wordt geactiveerd. Dit staat in contrast met synchrone invoer, waarbij de host het apparaat periodiek controleert op nieuwe gegevens.
Hier volgt een overzicht van de belangrijkste aspecten:
* Asynchroon: De gegevensoverdracht is niet gebonden aan een specifiek tijdschema dat door de host wordt gedicteerd. Het apparaat initieert de overdracht.
* Interrupt-gedreven: Asynchrone USB-invoer is vaak afhankelijk van interrupts. Wanneer het USB-apparaat gegevens gereed heeft, genereert het een interruptsignaal naar de USB-controller van de host. Deze interrupt zorgt ervoor dat het besturingssysteem van de host onmiddellijk een vooraf geregistreerde interrupthandler uitvoert om de binnenkomende gegevens te verwerken. Dit is efficiënter dan voortdurend peilingen.
* Efficiëntie: Deze methode is efficiënter dan polling, omdat er geen verspilling van verwerkingskracht wordt vermeden bij het controleren op gegevens wanneer deze niet beschikbaar zijn. Dit is vooral nuttig voor apparaten die niet vaak of met onvoorspelbare tussenpozen gegevens verzenden.
* Lage latentie: Omdat de host onmiddellijk op de hoogte wordt gesteld wanneer er gegevens beschikbaar zijn, biedt asynchrone invoer doorgaans een lagere latentie dan polling. Dit is van cruciaal belang voor toepassingen die real-time reactievermogen vereisen, zoals invoerapparaten voor audio of games.
* Bulkoverdracht vs. onderbroken overdracht: Asynchrone invoer maakt vaak gebruik van het overdrachtstype "Interrupt" in het USB-protocol. Het kan echter ook het overdrachtstype "Bulk" gebruiken, hoewel bulkoverdrachten doorgaans worden geassocieerd met synchrone bewerkingen (hoewel ze asynchroon kunnen worden afgehandeld door het apparaat en de host). Onderbrekende overdrachten zijn geoptimaliseerd voor onregelmatige gegevens met een lage latentie, terwijl bulkoverdrachten beter zijn voor grote hoeveelheden gegevens.
Samenvattend is asynchrone USB-invoer een efficiëntere en responsievere manier om gegevens van USB-apparaten te verwerken, vooral apparaten die sporadisch gegevens genereren of communicatie met lage latentie nodig hebben. Het is een cruciale functie voor veel USB-apparaten, waardoor een soepele en responsieve werking mogelijk is. |