Deze video laat zien hoe detectie van USB-apparaten werkt. De communicatie tussen een USB-apparaat en een doelapparaat laat ons zien dat er een groot aantal variabelen en communicatie tussen de twee is, waarbij het systeem zowel de snelheid van de aangesloten USB als de verschillende onderhandelingen tussen de twee ontdekt. Nu laat een interessante video van Ben Eater ons zien wat er gebeurt als je een USB-apparaat op een pc aansluit.
Hoe werkt detectie van USB-apparaten?
Wanneer u een apparaat aansluit, zal het eerst een voorafgaande onderhandeling of communicatie activeren. De eerste van deze communicaties zijn de signalen van het apparaat die u laten weten of het een apparaat met hoge of lage snelheid is.
Wanneer een apparaat is aangesloten op het USB-systeem, krijgt het een nummer toegewezen dat een “adres” wordt genoemd. Het adres wordt uitsluitend door dat apparaat gebruikt terwijl het is aangesloten. Dit adres kan elke keer dat het apparaat wordt aangesloten veranderen.
Bovendien heeft dit apparaat naast dit adres ook meerdere eindpunten, een verzameling van bronnen en bestemmingen tussen de verschillende communicaties tussen de host en het apparaat.
Alle standaardverzoeken worden via controleoverdrachten naar eindpunt 0 verzonden. Een controleoverdracht begint met een vestigingstransactie met 8 bytes. Deze 8 bytes definiëren het hostverzoek.
Tijdens USB-communicatie worden gegevens als pakketten verzonden. In eerste instantie worden alle pakketten vanaf de host via de root-hub verzonden. Sommige van die pakketten zorgen ervoor dat een apparaat als reactie een aantal pakketten verzendt.
Communicatie binnen de USB is gebaseerd op een reeks datapipes, logische kanalen binnen de datastroom. Je zou kunnen zeggen dat ze een verbinding zijn van de hostcontroller naar een logische entiteit binnen een apparaat, dat fungeert als het eindpunt.