Implementierung von USB in Embedded Designs

An USB führt kein Weg vorbei

6. Dezember 2006, 15:00 Uhr | Torsten Katschinsky
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 2

Deskriptoren: Die Visitenkarten eines Geräts

Der USB-Host-Controller ist sowohl für die Erkennung neuer angeschlossener Geräte als auch für das Laden des entsprechenden Treibers oder die Aktivierung der benötigten Funktion verantwortlich. Dieser Vorgang – als „Enumeration“ bezeichnet – ermittelt, welches Gerät angeschlossen ist und welche Parameter es benötigt, z.B. Leistungsverbrauch, Zahl und Art der Endpoints, Geräteklasse etc. Danach weist der Host dem Gerät eine eindeutige Adresse zu – entsprechend der USB-Spezifikation zwischen 0 und 127 – und gibt eine Konfiguration frei, mit der das Gerät Daten auf dem Bus übertragen darf. Damit dies alles funktioniert, muss der Host den Gerä-tekennsatz (Deskriptor) sowie alle Konfigurations-, Interface-, Endpoint- und String-Deskriptoren lesen, und zwar unter Verwendung der Standard-Anforderungspakete, die vom Host über die vorgegebene Control-Pipe des Geräts ausgegeben werden. Man sollte beachten, dass ein USB-Gerät nur einen einzigen Device-Deskriptor, aber mehr als einen Konfigurations-, Interface-, Endpoint- und String-Deskriptor haben kann.

Der Deskriptor des USB-Geräts liefert allgemeine Informationen über das USB-Gerät, beispielsweise die unterstützte USB-Revision, Klassen-Code, PID und Anbieter-ID (VID). Sie werden zum Laden sowohl der geeigneten Treiber als auch der Zahl von Konfigurationen verwendet, die anzeigen, wie viele Konfigurations-Deskriptor-Zweige noch folgen. Der Konfigurations-Deskriptor legt bestimmte Werte fest, beispielsweise die von der Konfiguration verbrauchte elektrische Leistung, ob dieses Gerät vom Bus versorgt wird sowie die Zahl der Schnittstellen. Es kann immer nur eine Konfiguration freigegeben werden. Der Interface-Deskriptor kann als Gruppe von Endpoints betrachtet werden, die ein einziges Feature ausführen, das Informationen enthält wie die Nummer der Schnittstelle, die Zahl der zu verwendenden Endpoints und die Interface-Klasse/Unterklasse (Eingabegeräteklasse, Massenspeicherklasse oder Kommunikationsklasse).

passend zum Thema


  1. An USB führt kein Weg vorbei
  2. An USB führt kein Weg vorbei
  3. Deskriptoren: Die Visitenkarten eines Geräts

Jetzt kostenfreie Newsletter bestellen!