Freigeben über


USB-Endpunkte und ihre Rohre

Ein USB-Gerät verfügt über Endpunkte, die für Datenübertragungen verwendet werden. Auf der Hostseite stellen Pipes Endpunkte dar. In diesem Artikel wird zwischen diesen beiden Begriffen unterschieden.

Zusammenfassung

  • Endpunkt ist Hardware auf dem Gerät; Pipe ist Software auf der Hostseite.
  • Endpunkt ist nicht konfiguriert; pipe ist für Übertragungen konfiguriert
  • Der Host sendet oder empfängt Daten an oder von einer Pipe.

USB-Endpunkt

Ein Endpunkt ist ein Puffer auf einem USB-Gerät. Endpunkt ist ein Begriff, der sich auf die Hardware selbst bezieht, unabhängig vom Hostbetriebssystem. Der Host kann Daten an diesen Puffer senden und empfangen. Endpunkte können in Steuerungs- und Datenendpunkte kategorisiert werden.

Jedes USB-Gerät muss mindestens einen Kontrollendpunkt unter Adresse 0 bereitstellen, der als Standardendpunkt oder Endpunkt0 bezeichnet wird. Dieser Endpunkt ist bidirektional. Das heißt, der Host kann Daten an den Endpunkt senden und Daten von ihr innerhalb einer Übertragung empfangen. Der Zweck einer Steuerungsübertragung besteht darin, dem Host das Abrufen von Geräteinformationen, das Konfigurieren des Geräts oder das Ausführen von Steuerungsvorgängen zu ermöglichen, die für das Gerät eindeutig sind.

Datenendpunkte sind optional und werden zum Übertragen von Daten verwendet. Sie sind unidirektional, verfügen über einen Typ (Steuerelement, Interrupt, Massen, isochron) und andere Eigenschaften. Alle diese Eigenschaften werden in einem Endpunktdeskriptor beschrieben (siehe Standard-USB-Deskriptoren).

In der USB-Terminologie basiert die Richtung eines Endpunkts (und die Übertragung an oder von ihnen) auf dem Host. Daher bezieht sich IN immer auf Übertragungen an den Host von einem Gerät und OUT bezieht sich immer auf Übertragungen vom Host zu einem Gerät. USB-Geräte können auch bidirektionale Übertragungen von Steuerdaten unterstützen.

Die Endpunkte auf einem Gerät sind in funktionale Schnittstellen gruppiert, und eine Reihe von Schnittstellen besteht aus einer Gerätekonfiguration. Weitere Informationen finden Sie im USB-Gerätelayout.

Die Hostsoftware kann Endpunktinformationen anzeigen, bevor das Gerät konfiguriert oder während der Auswahl einer alternativen Einstellung ausgewählt wird. Sie durchlaufen alle Schnittstellen, dann durch die Liste der Einstellungen jeder Schnittstelle und betrachten die Eigenschaften der einzelnen Endpunkte oder den gesamten Satz der Endpunkte innerhalb der Einstellung. Die Betrachtung der Endpunktinformationen wirkt sich nicht auf den konfigurierten Zustand des Geräts aus.

USB-Rohre

Daten werden zwischen einem USB-Gerät und dem USB-Host über eine Abstraktion übertragen, die als Pipe bezeichnet wird. Pipe ist rein ein Softwarebegriff. Eine Pipe spricht mit einem Endpunkt auf einem Gerät, und dieser Endpunkt hat eine Adresse. Das andere Ende einer Pipe ist immer der Hostcontroller.

Eine Pipe für einen Endpunkt wird geöffnet, wenn das Gerät entweder durch Auswählen einer Konfiguration und der alternativen Einstellung einer Schnittstelle konfiguriert wird. Daher werden sie zu Zielen für E/A-Vorgänge. Eine Pipe verfügt über alle Eigenschaften eines Endpunkts, ist aber aktiv und wird verwendet, um mit dem Host zu kommunizieren.

Ein nicht konfigurierter Endpunkt wird als Endpunkt bezeichnet, während ein konfigurierter Endpunkt als Pipe bezeichnet wird.

USB-Rohre und Endpunkte.