Dieses Video zeigt, wie die USB-Geräteerkennung funktioniert. Die Kommunikation zwischen einem USB-Gerät und einem Zielgerät zeigt uns, dass es eine Vielzahl von Variablen und Kommunikationen zwischen den beiden gibt, wobei das System sowohl die Geschwindigkeit des angeschlossenen USBs als auch die unterschiedlichen Verhandlungen zwischen den beiden erkennt. Nun zeigt uns ein interessantes Video von Ben Eater, was passiert, wenn man ein USB-Gerät an einen PC anschließt.
Wie funktioniert die USB-Geräteerkennung?
Wenn Sie ein Gerät anschließen, wird zuerst eine vorherige Verhandlung oder Kommunikation ausgelöst. Die erste dieser Kommunikationen sind die Signale des Geräts, die Ihnen mitteilen, ob es sich um ein Gerät mit hoher oder niedriger Geschwindigkeit handelt.
Wenn ein Gerät an das USB-System angeschlossen wird, wird ihm eine Nummer namens „Adresse“ zugewiesen. Die Adresse wird ausschließlich von diesem Gerät verwendet, während es verbunden ist. Diese Adresse kann sich jedes Mal ändern, wenn das Gerät verbunden wird.
Darüber hinaus verfügt dieses Gerät zusätzlich zu dieser Adresse über mehrere Endpunkte, eine Sammlung von Quellen und Zielen zwischen den verschiedenen Kommunikationen zwischen dem Host und dem Gerät.
Alle Standardanforderungen werden über Kontrollübertragungen zum Endpunkt 0 übertragen. Eine Kontrollübertragung beginnt mit einer Einrichtungstransaktion mit 8 Bytes. Diese 8 Byte definieren die Host-Anfrage.
Bei der USB-Kommunikation werden Daten als Pakete übertragen. Zunächst werden alle Pakete vom Host über den Root-Hub gesendet. Einige dieser Pakete veranlassen ein Gerät, einige Pakete als Antwort zu senden.
Die Kommunikation innerhalb des USB basiert auf einer Reihe von Datenpipes, logischen Kanälen innerhalb des Datenstroms. Man könnte sagen, sie sind eine Verbindung vom Host-Controller zu einer logischen Einheit innerhalb eines Geräts, die als Endpunkt fungiert.