Das InfoTip Kompendium

Ein kostenloser Service der InfoTip Service GmbH

Zum Anfang der
Seite scrollen

USB - Universal Serial Bus

USB 1.0, USB 1.1, USB 2.0

  

Inhaltsverzeichnis

1.Ursprung und Hintergründe

Abb. 1: Logo USB
Abb. 1: Logo USB [1]

Mitte der 90er Jahre des 20. Jahrhunderts hatte die Vielfalt an Schnittstellen an Standard-PCs und Peripheriegeräten ein derartiges Ausmaß angenommen, dass ein normaler User mit deren Konfiguration und Benutzung mitunter überfordert wurde. Eine Gruppe von IT- und Kommunikationsgeräteherstellern (Compaq, IBM, Intel, Digital, Northern Telecom, Philips u.a.) konzipierten daher ein Interface, das die Vielzahl von Anschlüssen ersetzen und die Softwarekonfiguration vereinfachen sollte. 1996 wurde dann der Universal Serial Bus (USB) mit der Spezifikation 1.0 eingeführt.

Abb. 2: USB-Anschlüsse auf einem Computer-Mainboard
Abb. 2: USB-Anschlüsse auf einem Computer-Mainboard

Bei der Einführung fand der USB allerdings kaum Unterstützung durch die bereits vorhandenen Betriebssysteme (meist Windows 95 und Windows NT) und litt neben der geringen Datendurchsatzrate auch an der mangelnden Verfügbarkeit von geeigneten Peripheriegeräten. USB stand deshalb für lange Jahre im Schatten des von Apple entwickelten Firewire-Bus (IEEE1394) und handelte sich daher auch den Spitznahmen "Useless Bus" (Unnützer Bus) ein.
1998 erschien eine überarbeitete Spezifikation USB Vers. 1.1, die aber keine Erhöhung der Datenübertragungsrate und damit auch nicht die entsprechende Akzeptanz brachte. Das erweiterte USB-Implementers Forum ( USB-IF ), nun auch mit HP , Lucent, Microsoft und NEC, definierte dann 2001 den USB-Standard 2.0, der den Durchbruch brachte. Eine Vielzahl von Peripheriegeräten wie Drucker, Scanner, Tastaturen, Mäusen, Kameras, PDAs, Media Player und Flashdrive, erschienen im Markt und machten die USB-Schnittstelle zum Defacto-Standard zum Anschluss von Geräten an einen PC.

2. EINSATZGEBIETE DES USB's

USB gehört zu den kabelgebundenen PANs (Personal Area Networks) und hat eine direkte Reichweite von maximal 5 Metern. Mit Hubs kann die Reichweite erhöht und die Zahl der zur Verfügung stehenden USB-Anschlüsse vergrößert werden.
Aufgrund ihrer niedrigen Datenraten konnte der USB der ersten Generationen (unter Vers. 1.0 und 1.1) nur bei relativ langsamen Eingabegeräten wie Tastaturen, Mäuse, Scanner oder analogen Modems eingesetzt werden. Mit der Spezifikation auf die Vers. 2.0 können praktisch alle parallelen  (z.B. Centronics-Schnittstelle) und seriellen Schnittstellen ( PS/2, RS232) durch USB ersetzt werden. Selbst analoge Schnittstellen wie der Gameport sind mittlerweile dem USB gewichen. Viele Anwendungen sind erst durch den USB entstanden. Hierzu zählen vorrangig die dynamischen Massenspeicher wie USB-Stick (Flash Drive) oder externe Festplatten und Geräte, die wie z.B. Web-Cams einen stetigen Datenstrom (Streams) liefern.

3. Die grundlegende Technik des USB

3.1. Topologie

USB ist eine bitserielle Verbindung, auf denen die Daten paketweise auf einem verdrillten Leitungspaar ( Twisted Pair ) übertragen werden. Ein weiteres Leitungspaar führt eine 5V-Gleichspannung, die zur Versorgung vom angeschlossenen Gerät genutzt werden kann. USB-Verbindungen sind " hot-plugfähig".
Die Bezeichnung " Bus " im Namen ist ein wenig irreführend. Physisch gesehen ist USB eine Punkt zu Punkt-Verbindung, denn die angeschlossenen Geräte liegen nicht parallel auf dem Datenbus.

Der Aufbau eines USB-Systems ist asymmetrisch. Es besteht aus einem zentralen Host-Controller mit dem Root Hub, einer Anzahl downstream gerichteten Ports und den USB-Geräten.
USB-Geräte ("Devices") sind entweder Hubs, die für zusätzliche Anschlusspunkte auf dem USB sorgen oder Funktionsgeräte ("Functions") wie Tastatur, Scanner oder Modem. Jedes USB-Gerät ist über einen eigenen Port mit dem Bus verbunden. Sollen mehrere Geräte gleichzeitig mit dem Bus verbunden werden, vervielfachen Hubs die Anschlüsse auf dem Bus.
Dieses führt zu einer Baum- oder gereihten Stern- (Tiered Star-) Topologie. Aufgrund von Beschränkungen durch das Signaltiming und durch die Kabeleigenschaften sind bis zu sieben Schichten erlaubt. Innerhalb der sieben Schichten dürfen bis zu fünf Hubs (ohne Root Hub) in Reihe geschaltet werden. Compound-Geräte, die über einen integrierten Hub verfügen (z.B. Web-Cams mit Mikrofon), besetzen zwei Ebenen. Solche Geräte dürfen daher nur an Hubs maximal in der Schicht  5 angeschlossen werden. Schicht 7 ist Funktionsgeräten vorbehalten.
An einen USB-Host-Controller dürfen insgesamt 127 Geräte, einschließlich Hubs, angeschlossen werden. Ein Host kann jedoch über mehrere Host-Controller verfügen, sodass letztlich die Anzahl der anschließbaren Geräte an einem Computer nahezu unbegrenzt ist.

Abb. 3: Topologie eines USB-Systems
Abb. 3: Topologie eines USB-Systems [2]

3.2. Verfügbare Datenraten

Das USB-Implementers Forum definiert im USB-Standard 2.0 drei Geschwindigkeitsklassen. Zu den hier angegebenen Datenraten sind noch zusätzliche Daten zu addieren, die für den Betrieb des Busses (Protokoll) benötigt werden. Die höchste Bruttogeschwindigkeit für USB 2.0 liegt bei 480MBit/s.
Die Kennzeichnung mit "USB 2.0" an Geräten besagt aber nicht, dass dieses Gerät auch die 480MBit/s Datenrate beherrscht. Einige Hersteller von USB-Geräten legen den Standard so aus, dass grundsätzlich alle drei Geschwindigkeitsklassen zulässig sind und dass nur die Kompatibilität zu den Spezifikationen des Standards USB 2.0 eingehalten werden muss. Die Hi-Speed Datenrate ist somit nur gewährleistet, wenn das Gerät mit dem "Certified Hi-Speed" Logo gekennzeichnet ist.

Abb. 4: Logo USB 1.0/1.1
Abb. 4: Logo USB 1.0/1.1 [1]

LOW-SPEED (USB 1.0/1.1) mit 10-100kBit/s für interaktive USB-Geräte wie Tastaturen, Mäuse und Game-Controller.
(Clock Speed: 1,5MBit/s)

FULL-SPEED(USB 1.0/1.1) mit 0,5 -10MBit/s für Kommunikationsanwendungen wie digitale Mikrofone, digitales Audio, komprimiertes Video. Bei einer Full-Speed-Verbindung werden geringe Latenzzeiten und eine Mindestbandbreite garantiert.
(Clock Speed: 12 MBit/s)

Abb. 5: Logo USB 2.0
Abb. 5: Logo USB 2.0

HI-SPEED (USB 2.0) mit 25-400MBit/s für Video, Speicheranwendungen und sonstige breitbandigen Anwendungen. Bei einer High-Speed-Verbindung werden geringe Latenzzeiten und eine Mindestbandbreite garantiert. Hi-Speed-Geräte sind rückwärtskompatibel. Bei Bedarf können sie auf den langsameren Full-Speed-Betrieb zurückfallen.
Clock Speed: 480 MBit/s)

3.3. Power Management

Standardanwendungen

Neben der Datenverbindung kann USB auch noch über zwei separate Anschlusskontakte im verpolungssicheren Verbindungsstecker eine +5V Versorgungsspannung (VBUS) bereitstellen. Die Verbindungsstecker sind so konstruiert, dass zuerst die Versorgungsspannung mit dem Gerät verbunden wird und dann erst der Datenbus. Dies ermöglicht eine sichere Inbetriebnahme und automatische Erkennung des angeschlossenen USB-Gerätes. Die maximal zulässige Stromaufnahme eines USB-Gerätes (eine Lasteinheit) ist 100mA. Bis zu fünf Lasteinheiten (500mA) dürfen einen Port belasten. Ein "Leerlaufstrom" von 2,5mA ist erlaubt, wenn ein Gerät nicht aktiviert ist und der Bus abgeschaltet (im Suspend-Mode) ist.

Abb. 6: Aufbau eines USB 2.0-Kabels
Abb. 6: Aufbau eines USB 2.0-Kabels [2]
Abb. 7: Kontakte in einem USB Typ A Stecker
Abb. 7: Kontakte in einem USB Typ A Stecker
Tabelle 1: Kontaktbelegung eines Standardsteckers
Tabelle 1: Kontaktbelegung eines Standardsteckers

Die Versorgung der angeschlossenen Geräte erfolgt aus den Hubs. Der Root-Hub bezieht die VBUS aus der Betriebsspannung des Host-Controllers. Jeder Port am Root-Hub muss mindestens 500mA liefern können. Bei batteriebetriebenen Systemen kann ein Port sowohl 100mA oder auch 500mA liefern. Externe Hubs können ihre VBUS entweder aus der VBUS des upstream gelegenen Hub beziehen (" Bus-powered Hub") oder über eine eigene Spannungsversorgung (z.B. Steckernetzteil) verfügen. Diese Self-powered Hubs stellen an allen Downstream-Ports 500mA zur Verfügung. Bus-powered Hubs können hingegen nur eine Lasteinheit pro Port, unabhängig von der Last an den anderen Ports, bereit stellen.

Bei den USB-Geräten sind zwei Typen zu unterscheiden: Low-Power-Geräte und High-Power-Geräte. Low-Power-Geräte nehmen höchstens eine Lasteinheit auf, während High-Power-Geräte bis zu 5 Lasteinheiten beziehen können. Die Anzahl von Lasteinheiten, die ein Gerät tatsächlich bildet, sind absolute Maximalwerte und nicht als Durchschnittswerte über die Zeit betrachtet. Auch der Einschaltstrom eines Gerätes darf 100mA nicht übersteigen.
Beim Verbinden mit dem Bus melden sich alle Geräte zunächst als Low-Power-Geräte beim Host-Controller an. Danach stellt die Software von High-Power-Geräten ein Request (Anfrage) an den Host Controller mehr Leistung ziehen zu dürfen. Steht genug Leistung auf dem Busabschnitt zur Verfügung, erfolgt eine Freigabe und die Gerätesoftware darf die Stufen, die die zusätzliche Last bilden, einschalten. Bezieht ein Gerät mehr Energie als zulässig, kann der versorgende Hub dieses mit seinem Überstromschutz erkennen und den Strom von VBUS aus dem Port begrenzen oder sogar abschalten.

Batterie-Ladefunktion

Die USB-Ports eines Computers bieten sich geradezu an, die Batterien von mobilen Geräten aufzuladen. Dies führte zur Einführung von neuen Stromversorgungsmodi in der USB 2.0 Spezifikation. In der "USB Battery Charging Specification 1.1" (April 2009) wird bei den Downstream-Ports unterschieden:

  • Ein Standard Downstream-Port wird wie in der ursprünglichen Spezifikation betrieben. Er liefert 100mA oder, wenn so konfiguriert, 500mA.
  • Ein Charging Downstream-Port  ist ein Downstream Port an einem Host oder Hub nach den USB 2.0 Spezifikationen, aber erweitert um die Ladefunktionen.
  • Ein Dedicated Charging-Port verfügt ausschließlich über die Ladefunktion. Datenströme können nicht übertragen werden, da die Kontakte der Datenleitungen miteinander verbunden sind. Angeschlossene Geräte können bis zu 1,8A  entnehmen.
  • Ein Charging-Port (Lade-Port) ist entweder ein Charging Downstream-Port oder ein Dedicated Charging-Port. Ein USB-Charger (USB-Ladegerät) ist ein Gerät mit einem Dedicated Charging-Port wie Autoadapter oder netzbetriebene Ladegeräte. Wird ein mobiles USB-Gerät mit einem Lade-Port verbunden, gibt es auf der D+-Leitung eine Signalspannung von 0,6V (+/-0,1V) ab. Der Ladeport detektiert dieses und legt über einen Schalter die D--Leitung auf 0,6V (+/- 0,1V). Jetzt weiß das mobile Gerät, dass es mit einem Ladeport verbunden ist. Nun zieht das mobile Gerät eine der Datenleitungen auf einen logischen H-Pegel. Folgt die jeweils andere Datenleitung dem Pegelsprung ist der Lade-Port ein Dedicated Charging Port. Bleibt die andere Datenleitung auf L-Pegel, ist der Lade-Port ein Charging Downstream Port.

3.4. USB-Verbinder

Alle Stecker und Buchsen (" Receptibles") des USB-Systems sind verpolungs- und vertauschungssicher. An einem USB-Verbindungskabel ist der Stecker des Typs A immer upstream, also in Richtung Host, gerichtet. Der Stecker des Typs B ist immer downstream, also in Richtung des nächsten Hubs oder USB-Gerätes gerichtet.
Obwohl alle Verbindungselemente des USB-Systems im USB 2.0-Standard festgelegt sind, gibt es eine Vielzahl an Varianten von mechanisch inkompatiblen Verbindern. Speziell Hersteller von digitalen Fotogeräten, Mobilfunkgeräten und Mediaplayern rüsten ihre Geräte oft mit nicht standardisierten Buchsen aus, um  zusätzliche Einnahmen durch den Vertrieb von Kabeln und Adaptern zu erzielen. In den elektrischen Eigenschaften unterscheiden sie sich jedoch nicht.
Da im Standard des USB-IF keine sichere mechanische Arretierung von USB-Verbindern vorgesehen ist, eignet sich USB nur beschränkt für den industriellen Einsatz. Mehrere Hersteller bieten daher proprietäre USB-Verbinder mit höherer mechanischer und elektrischer Belastbarkeit an (Retail USB, PoweredUSB, USB PlusPower)
Im USB 2.0-Standard und in mehreren Anhängen sind drei Typen von USB-Verbindern definiert: Standard, Mini und Micro. Die Open Mobile Terminal Platform ( OMTP) hat die Micro-USB-A-Verbinder als Standardverbinder für den Datenaustausch und die Energieversorgung von Mobilfunkgeräten festgelegt. In China ist diese Schnittstelle mittlerweile zur Voraussetzung zur Zulassung von Mobiltelefonen geworden (Stand 2010).

Bis etwa 2012 liefern die meisten Mobiltelefonhersteller Ladegeräte mit USB Micro-A-Stecker aus. Weil USB 2 und die gültige Spezifikation (Battery Charging Specification, Revision 1.2) aber keine höheren Ladegeschwindigkeiten für die neuen, leistungsfähigeren Geräte vorsahen, haben viele Hersteller wieder proprietäre Lösungen für ihre Produkte verwendet. Erst USB-C und USB Power Delivery brachten ab etwa 2016 einheitliche Ladeverfahren.

3.4.1 Standardverbinder

Standard-A Verbinder

Verbindungskabel mit  dem flachen Standard Typ A Stecker und dem nahezu quadratischen Standard Typ B Verbinder sind die wohl am weitesten verbreiteten USB-Verbinder.

Erlaubte Kombinationen:
Stecker Standard Typ A <-> Stecker Standard Typ B
Stecker Standard Typ A <-> Stecker  Typ Mini-B
Stecker Standard Typ A <-> Stecker  Typ Micro-B
Stecker Standard Typ B <-> Stecker  Standard Typ A

Haltbarkeit: >5000 Steckzyklen

Abb. 8: USB Standardstecker Typ A Kennfarbe des Kontaktträgers: weiß
Abb. 8: USB Standardstecker Typ A
            Kennfarbe des Kontaktträgers: weiß

 

Standard-B Verbinder

Haltbarkeit: >1500 Steckzyklen

Tabelle 2: Kontaktbelegung der Standardstecker Typ a und Typ B
Tabelle 2: Kontaktbelegung der Standardstecker Typ a und Typ B
Abb. 9: USB Standardstecker Typ B Kennfarbe des Kontaktträgers: schwarz oder weiß
Abb. 9: USB Standardstecker Typ B
           Kennfarbe des Kontaktträgers: schwarz oder weiß

  

3.4.2. Mini-USB-Verbinder

Mini-A Verbinder

Für die Verwendung in Geräten mit wenig zur Verfügung stehendem Platz, wie digitale Kameras oder MP3-Playern.  USB-Mini-Verbinder haben fünf Kontakte. OTG-kompatible Geräte müssen über eine Buchse verfügen, in die sowohl ein Mini-A-Stecker als auch ein Mini-B-Stecker passt. Um den eingesteckten Stecker identifizieren zu können, ist der Pin 4 des A-Stecker intern auf Masse (GND) gelegt, während der Pin 4 des B-Steckers nicht verbunden ist. 

Um die Vielzahl der Verbindungskabel einzudämmen, hat das USB-IF die USB-Mini A und USB-Mini AB Verbinder abgekündigt. USB-Mini B-Verbinder können weiterhin von der Industrie eingesetzt werden.

Erlaubte Kombinationen:
Stecker Standard Typ A <-> Stecker  Typ Mini-B
Stecker Typ Mini-A <-> Stecker  Typ Mini-B (kein Standard mehr!)

Haltbarkeit: >5000 Steckzyklen

Abb. 10: USB Stecker Typ Mini-A Kennfarbe des Kontaktträgers: weiß
Abb. 10: USB Stecker Typ Mini-A
            Kennfarbe des Kontaktträgers: weiß

Im Mai 2007 vom USB Implementers Forum abgekündigt!

 

 

Mini-B-Verbinder
Tabelle 3: Kontaktbelegung der USB-Mini-Stecker Typ A und Typ B
Tabelle 3: Kontaktbelegung der USB-Mini-Stecker Typ A und Typ B
Mini-AB-Buchsen

Für OTG-Geräte ist die Mini-AB Buchse vorgesehen. Sie kann sowohl Mini-A Stecker als auch Mini-B Stecker aufnehmen.

Haltbarkeit: >5000 Steckzyklen

Im Mai 2007 vom USB Implementers Forum abgekündigt!

 

 

3.4.3 Micro-USB-Verbinder

Micro-A

Micro-USB hat gegenüber den USB-Mini-Verbinder den Vorteil einer noch kleineren Bauform, einer höheren Haltbarkeit und eines verbesserten mechanischen Verbindungsverhaltens (u.a. erhöhte Arretierungskraft).  USB-Micro-Verbinder versetzen die Hardware-Hersteller in die Lage noch kompaktere Geräte herzustellen und diese mit einem standardisierten USB-Anschluss zu versehen. Gerade die Geräte, die On-the-Go (OTG) tauglich sind und keinen Host mit einer Standard A-Buchse benötigen, können so miteinander in Kontakt treten. Mobile OTG-Geräte müssen über eine Buchse verfügen, in die sowohl ein Micro-A-Stecker als auch ein Micro-B-Stecker passt. Um den eingesteckten Stecker identifizieren zu können, ist der Pin 4 des A-Stecker intern auf Masse (GND) gelegt, während der Pin 4 des B-Steckers nicht verbunden ist.
Der Micro-B USB-Stecker war als Standard-Anschluss für Mobilfunk-Geräte vorgesehen.

Erlaubte Kombinationen:
Stecker Standard Typ A <-> Stecker  Typ Micro-B
Stecker Typ Micro-A <-> Stecker  Typ Micro-B

Abb. 13: USB Stecker Typ Micro-A Kennfarbe des Kontaktträgers: weiß
Abb. 13: USB Stecker Typ Micro-A
            Kennfarbe des Kontaktträgers: weiß

           

Micro-B-Verbinder
Tabelle 4: Kontaktbelegung der USB-Micro-Stecker Typ A und Typ B
Tabelle 4: Kontaktbelegung der USB-Micro-Stecker Typ A und Typ B
Abb. 14: USB Stecker Typ Micro-B Kennfarbe des Kontaktträgers: schwarz
Abb. 14: USB Stecker Typ Micro-B
            Kennfarbe des Kontaktträgers: schwarz

            

Micro-AB-Buchse

Für OTG-Geräte ist die Micro-AB Buchse vorgesehen. Sie kann sowohl Mini-A Stecker als auch Micro-B Stecker aufnehmen.

Haltbarkeit: >10'000 Steckzyklen

Abb. 15: USB Buchse Typ Micro-AB Kennfarbe des Kontaktträgers: grau
Abb. 15: USB Buchse Typ Micro-AB
            Kennfarbe des Kontaktträgers: grau

  

4. USB-Geräte

Das USB-System unterscheidet neben dem Host-Controller zwei Gerätetypen: USB-Hubs und Funktionsgeräte.

4.1. USB-Host

>Der USB-Host-Controller-Chip ist meist auf dem Mainboard (im Chipsatz/Southbridge) des Computer integriert. Zusätzliche Controller lassen sich über Erweiterungskarten hinzufügen. Jeder Controller steuert nur ein USB-System. Zur Zeit werden drei Host-Controller-Standards unterschieden:
UHCI (Universal Host Controller Interface) unterstützt nur Low- und Full-Speed Datenraten.
OHCI (Open Host Controller Interface) ähnelt von Leistungen her dem UHCI, ist aber mehr hardwareorientiert.
EHCI (Enhanced Host Controller Interface) stellt die Erweiterungen zum USB 2.0 zur Verfügung. Über das EHCI werden nur die Hi-Speed-Transfers durchgeführt. Ein vollständiges USB 2.0-kompatibles System besteht also immer aus zwei Host-Controller Interfaces, einem EHCI und einem UHCI oder OHCI.
Die Treiber für den USB-Controller sind in allen modernen Betriebssystemen enthalten und brauchen nicht zusätzlich installiert werden.

Struktur eines Hosts

Abb. 16: Schichtenmodell eines USB-Systems
Abb. 16: Schichtenmodell eines USB-Systems [2]

Ein Host und ein Gerät sind in je drei Ebenen gegliedert. Im Schichtenmodell zeigen die schwarzen Pfeile den tatsächlichen Weg der Kommunikation über den USB-Datenbus. Die roten Pfeile stellen den logische Datenfluss zwischen den Ebenen des Hosts und des Gerätes dar. Hier ist zu erkennen, dass jeweils eine Schicht im Host mit der entsprechenden Schicht im Gerät kommuniziert. Diese Verbindungen stellen logische Kanäle, sog. Pipes , dar. Es sind zwei Arten von Pipes zu unterscheiden: Message Pipes und Stream Pipes.
Message Pipes
erlauben einen Datenfluss in beide Richtungen. Sie ermöglichen eine Art von Handshake (Request->Datentransfer->Statusrückmeldung).
Stream Pipes übertragen Daten, die nicht auf eine USB-spezifische Struktur angewiesen sind. Die Daten fließen in das eine Ende der Pipe hinein und am anderen Ende in der gleichen Reihenfolge wieder heraus.

Die unterste Ebene, das USB-Bus-Interface, ist für die Funktionen der elektrischen- und der Protokollschichten zuständig. Hier ist die physische Anbindung an den Bus und die Formatierung der zu übertragenen Daten definiert.

Die mittlere Ebene, das USB-System, besteht im Wesentlichen aus drei Komponenten:
- Der Host Controller unterteilt die Daten in Pakete und bestimmt den Buszugriff, d.h. wann Datenpakete in welche Richtung übertragen werden. Er fragt beim Verbinden des Gerätes mit dem Bus nach den Descriptoren ("Beschreiber") um eine korrekte Konfiguration und die Bereitstellung der richtigen Treiber zu veranlassen.
- Die USB-Treiber sind Teil des Betriebssystems und bilden das Interface zwischen dem Client und dem Gerät.
- Die Hostsoftware ist zuständig für die Konfiguration des Gerätes.

Die Client-Ebene beschreibt alle Software-Aspekte, die notwendig sind, um eine Funktion in einem Peripheriegerät auszulösen. Dabei interagiert der Client direkt mit den Hardwarefunktionen in einem Gerät.

4.2. USB-Funktionsgeräte

Abb. 17: Prinzipieller Datenfluss in einem USB-System
Abb. 17: Prinzipieller Datenfluss in einem USB-System [2]

USB-Geräte sind seriell über Hubs mit dem Host verbunden. Ein physisches USB-Gerät besteht aus einer oder mehreren logischen Einheiten, den logischen Geräten oder Funktionen ("Functions"). Einfache USB-Geräte, wie Tastaturen oder Mäuse verfügen über nur eine Funktion. Komplexere USB-Geräte können mehrere Funktionen enthalten. Ein DVD-Brenner hat neben der Funktion "Massenspeicher" noch die Funktionen "Audio" (zum Abspielen von Audio CDs) und "Video" (zum Abspielen von DVDs). Da die Funktionen von solchen Compound-Geräten einzeln vom Host adressiert werden müssen, befindet sich immer ein eingebauter Hub in diesen Geräten. Jede Funktion erhält beim Verbinden mit dem System vom Host eine eindeutige logische Adresse zugeteilt.

Endpunkte

Ein logisches Gerät stellt sich in einem USB-System als eine Ansammlung von Endpunkten ("endpoints") dar. Endpunkte sind am einfachsten als Hardware-Pufferspeicher zu betrachten, in die der Host Daten entweder hinschreiben (Out-Endpunkt) oder herauslesen (In-Endpunkt) kann. Jeder Endpunkt hat also nur eine gerätebezogene Richtung des Datenflusses. Alle Endpunkte haben eine fest vorgegebene Kennung, die Endpunktnummer. Die Kombination aus Geräteadresse, Endpunktnummer und Datenrichtung ermöglicht es jeden Endpunkt dediziert anzusprechen. Neben der vorgegebenen Datenrichtung hat ein Endpunkt weitere individuelle Eigenschaften wie Zugriffshäufigkeit, Bandbreitenbedarf, Übertragungsmodus, Paketgröße und Fehlerbehandlung.
Über den Endpunkt 0 (Null) wird die Konfiguration der Funktion vorgenommen. Endpunkt 0 kann als einziger Endpunkt in einer Funktion sowohl gelesen als auch beschrieben werden.
Ein USB-Funktionsgerät darf bis zu 31 Endpunkte haben (1 Null-Endpunkt, 15 In-Endpunkte und 15 Out-Endpunkte). Low-Speed-Geräte dürfen maximal neben dem 0-Endpunkt zwei weitere Endpunkte verfügen.

Die im Host implementierte (zum Betriebssystem gehörende) USB-Systemsoftware managed das Gerät über eine spezielle Message Pipe, die Default Control Pipe.
Die Clientsoftware veranlasst, dass Daten aus einem Datenpuffer im Host durch eine Stream Pipe über den USB zu einem Endpunkt (oder umgekehrt) geleitet werden. Jeder Endpunkt verfügt über eine eigene Pipe. Die Pipes zwischen Clientsoftware und Endpunkten werden in "Pipe Bundles" organisiert.

Alle Geräte, bzw. deren Endpunkte, im USB-System werden in festen Zeitabständen abgefragt oder beschrieben ( Roundrobin Polling). Alle Datenpakete werden vom Host als Broadcast an alle Geräte gesendet. Alle Transaktionen werden vom Host initialisiert, alle Geräte haben zu warten, bis sie gefragt werden. Dieses kann u.U. zu Verzögerungen im Datentransfer führen, was einer der Punkte ist, die am häufigsten am USB 2.0 bemängelt werden.

4.3. Geräteklassen

Eine USB-Klasse beschreibt eine Gruppe von Geräten oder Schnittstellen mit ähnlichen Eigenschaften oder Diensten. Die genaue  Spezifikation für eine Klasse erleichtert es den Herstellern der Geräte Treibersoftware zu erstellen oder anzupassen. Somit müssen Treiber nicht für jedes Gerät, sondern nur für eine Klasse entwickelt werden. So können Geräte, zumindest in ihren Grundfunktionen, sofort in Betrieb genommen werden ohne dass spezielle Software oder Treiber installiert werden müssen.
Zu welcher Klasse ein USB-Gerät gehört, steht im Device Descriptor (wenn das Gerät nur einer Klasse angehört) oder im Interface Descriptor (bei Compound-Geräten). Device Descriptor oder Interface Descriptor werden beim Aktivieren des Gerätes an den Host übertragen, damit dieser den oder die entsprechenden generischen USB-Treiber aktivieren kann.

Klasse Verwendung Beschreibung Beispiel
00h Gerät nicht spezifiziert Verwendung der Class Information in den Interface Deskriptoren
01h Interface Audio Alle Geräte und Funktionen um Audiosignale zu erzeugen oder zu verändern (z.B. USB-Mikrofon)
02h Beides Kommunikation und CDC-Steuerung (Communication Device Class Specification) Telefone, Analog-Modems (PSTN), Breitband-Modems (DSL-, Kabel-) ISDN-Geräte, drahtlose mobile Kommunikationsgeräte
03h Interface HID (Human Interface Device) Eingabegeräte: Tastaturen, Mäuse, Grafiktablett, Datenhandschuh
05h Interface PID (Physical Interface Device) Physikalische Feedback-Geräte (Force Feedback-Game Controller)
06h Interface Bilder Digitale Fotoapparate, Scanner
07h Interface Drucker allgemeine Druckausgabe (Laserprinter, Tintenstrahldrucker),Plotter,  CNC-Geräte
08h Interface Massenspeicher USB-Sticks (Flash-Drives), Memory-Card-Leser (CF-, SD-, ...), Mediaplayer (MP3 ...)
09h Gerät USB-Hub Hi-Speed-Hubs, Hi-Speed-Hubs
0Ah Interface CDC-Daten Diese Klasse wird mit Klasse 02h (Kommunikation and CDC-Control) verwendet.
0Bh Interface Smart-Cards (Chip-Karten) Chipkarten-Lesegeräte
0Dh Interface Content Security Interface zu Geräten/Funktionen zur Nutzung von geschützten Inhalten
0Eh Interface Video Alle Geräte/Funktionen um Videosignale zu erzeugen oder zu bearbeiten (Web-Cams, Camcorder, TV-Tuner, Videostreaming)
0Fh Interface Personal Healthcare Blutzucker-Messgeräte, Blutsauerstoff-Messgeräte
10h Beides Audio-/Video-Gerät/Interface  
11h Gerät Billboard-Gerät Eine mit USB Type-C eingeführte Geräteklasse zur Kommunikation im Alternativen Modus.
DCh Beides Diagnosegeräte Test- u. Prüfgeräte, z.Zt. nur Diagnosegeräte für USB 2-Geräte
E0h Interface drahtloses Steuerungsgerät Wireless USB-Adapter, Bluetooth-Adapter
EFh Beides diverses Active Sync- / Palm Sync-Geräte (PDAs, Handheld ...), Test- und Messgeräte
FEh Interface anwendungsspezifisch USB-IrDA-Bridge
FFh Beides herstellerspezifisch Für Geräte dieser Klasse liefern die Hersteller spezifische Treiber mit.
Tab. 5: USB-Geräteklassen

4.4. USB-Hubs

Hubs sind die zentralen Knotenpunkte in der Architektur eines  USB-Systems. Sie bilden das elektrische Interface zwischen den USB-Geräten und dem Host. Hubs vereinfachen die Verkabelung, da sie als aktive Elemente die vielen unterschiedlichen Anschlusseigenschaften von USB-Geräten erkennen und unterstützen. Jeder Hub erweitert einen Zugangspunkt (Port) auf USB-Bus auf bis zu sieben downstream gerichtete Ports.  Ein Hub kann an jedem seiner downstream gerichteten Ports den Anschluss oder das Entfernen eines USB-Gerätes erkennen und die Weiterleitung von Versorgungsspannung kontrollieren. Jeder downstream gerichtete Port kann individuell freigegeben werden und mit Hi-, Full- oder Low-Speed-Geräten verbunden werden. Im Wesentlichen besteht ein Hub aus dem Hub-Repeater-Teil, einem Hub-Controller und dem Transaction-Translator-Teil. Ist der Hub mit dem Upstream-Port an ein ein Hi-Speed-Port angeschlossen, muss er mit Hi-Speed arbeiten. Ist er an ein Full-Speed-Host angeschlossen, muss er mit Full-Speed arbeiten. Dieses bedeutet aber auch, dass in diesem Fall die Hi-Speed-Funktionalitäten des Hubs nicht erlaubt sind. Die an den Downstream-Ports angeschlossenen Gerät können dann ebenfalls nur mit Full-/Low-Speed arbeiten.

Die Datenübertragungsrate eines am Downstream-Port angeschlossenen Gerätes bestimmt ob die Routing Logic den Port mit dem Hub-Repeater oder Transaction-Translator verbindet.


Hub-Repeater

Der Hub-Repeater ist für die Verbindung zwischen Upstream-Ports und Downstream-Ports zuständig, wenn beide mit der gleichen Geschwindigkeit  arbeiten. Zusätzlich unterstützt er die Ausnahme-Verwaltung wie Bus-Fehlererkennung und Wiederherstellung und das Erkennen vom Anstecken oder Entfernen von Geräten.

Transaction-Translator

Ist der Upstream-Port mit einem Hi-Speed-Host verbunden und einer oder mehrere an den Downstream-Ports angeschlossenen Gerät sind nur full- oder low-speed, übersetzt der Transaction-Translator die Hi-Speed Transaktionen in Full-/Low-Speed-Transaktionen und umgekehrt. So können langsame Geräte auf dem Bus am Bus betrieben werden ohne die Kommunikation von schnellen Geräten zu beeinträchtigen.

Hub-Controller

Der Hub-Controller stellt die Mechanismen für die Host-to-Hub Kommunikation zur Verfügung. Hub-spezifische Status- und Steuerbefehle erlauben es dem Host den Hub zu konfigurieren und die Downstream-Ports einzeln zu überwachen und zu steuern.

Abb. 18: Blockdiagramm eines USB-Hubs (Quelle: USB-IF)
Abb. 18: Blockdiagramm eines USB-Hubs (Quelle: USB-IF)

Die State Machines (Logikschaltungen) an den Downstream Ports und am Upstream-Port sind mit Status- und Steuersignalen aus den anderen Stufen im Port verbunden. Über eine Logik und ein Regelwerk wird sichergestellt, dass sich der jeweilige Port in einem dem Betriebszustand des Hubs entsprechenden Status befindet. Das Regelwerk steuert beispielsweise welche Stati ein Port bei der Initialisierung zu durchlaufen hat (Non Configured -> Powered Off -> Disconnected -> Resetting -> Enabled).

5. OTG - On-the-Go

Der USB 2.0-Standard sieht per Definition nur eine Kommunikation zwischen einem Host und den Peripheriegeräten vor. In den letzten Jahren hat aber die Computerleistung auch in kleineren oder sogar mobilen Geräte so zugenommen, dass die klassischen Grenzen zwischen Computer und anderen Geräten verwischt sind. Heute benötigen auch Geräte, die nicht ein PC sind, eine direkte Verbindung zu Peripheriegeräten, z.B. digitale Fotoapparate mit Drucker oder ein Mobiltelefon mit einem USB-Headset. Um dieser Entwicklung Rechnung zu tragen, wurde  USB On-The-Go als Erweiterung des USB-2.0 Standards geschaffen. Die Namensgebung "On-The-Go" soll darauf hinweisen, dass speziell mobile Geräte von den neuen Möglichkeiten profitieren werden.

Abb. 19: Logo USB OTG
Abb. 19: Logo USB OTG [1]

Viele Nicht-PC-Geräte verfügen über ausreichende Computerleistung um eine begrenzte Host-Funktion übernehmen zu können. Die USB-OTG-Spezifikation bezeichnet diese Nicht-PC-Geräte als "ausgerichtete Hosts" (Targeted-Host), da nur spezielle, in der Funktion ausgerichtete, Peripheriegeräte angesprochen werden sollen. Jeder ausgerichtete Host verfügt über eine interne Liste (Targeted Peripherial List = TPL) über die Geräte, die er unterstützen kann. Ein ausgerichteter Host braucht nur die Energie, Datenrate, Datenflusstypen usw. bereitstellen können, die die Geräte auf seiner TPL benötigen. Die OTG-Spezifikation sieht zwei Kategorien von ausgerichteten Host vor:

Abb. 19a: Logo USB OTG High Speed
Abb. 19a: Logo USB OTG High Speed [1]
  1. Embedded (eingebettete) Hosts
    Ein Embedded Host-Produkt stellt seine Host-Funktionen über eine oder mehrere Standard Typ A Buchsen zur Verfügung. Die Eigenschaften/Funktionen als Peripheriegerät können auch über separate Typ B-Buchsen angesprochen werden.

  2. On-The-Go
    Ein OTG-Produkt ist ein mobiles Gerät, das über eine einzige Typ Micro-AB-Buchse (und keine weitere oder andere USB-Buchse!) verfügt und mal als ausgerichteter Host und mal als USB-Peripheriegerät arbeitet. Ist ein OTG-Gerät an einen Standard USB-Host angeschlossen, muss es immer als  Standard Peripheriegerät arbeiten.


OTG-Geräte können miteinander verbunden werden. Die jeweilige Funktion als Host oder als Peripheriegerät kann über die integrierten Treiberkomponenten gewechselt werden, ohne dass das Verbindungskabel physisch gedreht werden muss.

6. Signalisierung

6.1 Elektrische Pegel und logische Zustände

USB-Signale werden symmetrisch auf einem Twisted-Pair Leitungspaar (D+ und D-) übertragen. Die Impedanz des Kabels ist auf 90Ω festgelegt. USB 1 und 1.1 sahen keine Terminierung des Datenbusses vor. USB 2.0 schreibt an jedem Ende einer Datenleitung eines USB-Kabels einen Abschlußwiderstand von 45Ω nach Masse, also 90Ω differentiell über den Datenbus, vor.
Die Signalpegel auf dem Bus können mit der Übertragungsgeschwindigkeit variieren. Low-Speed- und Full-Speed-Transceiver arbeiten mit den klassischen CMOS-Pegeln von 5V. Hi-Speed Transceiver verwenden eine Konstantstrom-Ansteuerung, die über die Abschlusswiderstände für einen festen Spannungsabfall sorgt. Daher haben Hi-Speed-taugliche Hubs und Geräte generell für Low-/Full-Speed und Hi-Speed getrennte Transceiver.

Pegel USB1.1 Low-/Full-Speed USB 2.0 Low-/Full-Speed USB 2.0 Hi-Speed
L-Pegel OUT (V0L) 0,0 - 0,3V 0,0 - 0,3V -0,01 - 0,01V
H-Pegel OUT
(V0H)
2,8 - 3,6V 2,8 - 3,6V 0,36 - 0,44V
L-Pegel IN
(VIL)
0,8V 0,8V nicht definiert
H-Pegel IN
(VIH)
2V 2V nicht definiert
VOSE1 nicht definiert 0,8V nicht definiert
Chirp J-Level
(Differentialspannung)
nicht definiert nicht definiert 0,7 - 1,1V
Chirp K-Level
(Differentialspannung)
nicht definiert nicht definiert -0,9 - -0,5V
Tab. 6: Signalpegel USB-Datenbus
Abb. 20: USB 2.0 Full-Speed Pegel und deren Logik
Abb. 20: USB 2.0 Full-Speed Pegel und deren Logik

Durch die Übertragung der Signale mit Differential-Spannungen lassen sich vier logische Zustände darstellen.

 

  • Die symmetrischen Pegel D+ = VOH und D- = VOL kennzeichnen den "Differential 0"-Pegel (K-Status).
  • Die Umkehrung D+ = VOL und D- = VOH kennzeichnet den "Differential 1"-Pegel (J-Status).
  • Liegen D+ und D- auf Masse (z.B. durch Pull-Down-Widerstände) ergibt sich der logische Zustand "Single-Ended 0" (SE0).
  • Der Zustand SE1, wenn D+ und D- > VOSE1 werden, ist ein "verbotener" Zustand, der nicht erzeugt werden darf.


Bei USB wird die Übertragung von Nutz- und Steuerdaten mit den symmetrischen Differentialpegeln vorgenommen. Der SE0-Zustand entsteht an unbelegten Ports (durch die Pull-Down-Widerstände) und kann von Hubs für die Erzeugung eines Resets (>10ms) einer Verbindung erzeugt werden. In dem Datenstrom einer bestehenden Verbindung kennzeichnet ein SE0 das Ende eines Datenpaketes (EOP).

6.2. Erkennung der Gerätegeschwindigkeit

Der USB ist, wie in den Prinzipbildern Abb. 20 und Abb. 21 gezeigt, mit Abschlusswiderständen auf dem Hub und auf dem Gerät/Funktion terminiert. Full-Speed- und Low-Speed-Geräte unterscheiden sich nur durch die Position des Pull-Up-Widerstandes Rpu am Downstream-Ende der Verbindung:

  • Full-Speed-Geräte haben einen Pull-Up-Widerstand auf der D+ Leitung.
  • Low-Speed-Geräte haben einen Pull-Up-Widerstand auf der D- Leitung.
  • Die Pull-Down-Widerstände Rpd an downstream gerichteten Ports legen die Leitungen mit 15kΩ auf Masse.
Abb. 21: Geschwindigkeitserkennung Full-Speed-Gerät
Abb. 21: Geschwindigkeitserkennung Full-Speed-Gerät
Abb. 22: Geschwindigkeitserkennung Low-Speed-Gerät
Abb. 22: Geschwindigkeitserkennung Low-Speed-Gerät

Erkennung der Gerätegeschwindigkeit Low-Speed/Full-Speed

Ist ein Downstream Port eines Hubs nicht mit einem Gerät/Funktion verbunden, ziehen die beiden Pull-Down-Widerstände Rpd die Datenleitungen D+ und D- auf Masse (Logikzustand SE0). Die +5V VBUS steht am Port bereit. Mit dem Verbinden des Hubs-Ports mit einem Gerät/Funktion wird dieses mit VBUS versorgt. Ein Strom fließt aus VBUS durch den downstream Pull-Up-Widerstand Rpu an D+ oder D- und erzeugt über den jeweiligen upstream Pull-Down-Widerstand einen Spannungsabfall (VIH>2V). Dieser Spannungsanstieg wird von Hub detektiert. Nach einer fest vorgegebenen Verzögerung erzeugt der Hub ein Reset (SE0 > 10ms) auf dem Bus. Unmittelbar nach dem Reset wertet der Hub die Pegel auf dem Bus aus. Ist D- größer als VIH ist das angeschlossene Gerät Low-Speed, ist D+ größer als VIH handelt es sich um ein Full-Speed-Gerät.

Erkennung der Gerätegeschwindigkeit bei Hi-Speed-Geräten

Die Erkennung von Hi-Speed-Geräten folgt dem Muster der Erkennung von Low-/Full-Speed-Geräten. Hi-Speed-Geräte verbinden sich zunächst wie Full-Speed-Geräte (ein über Software schaltbarer Pull-Up-Widerstand von 1,5 kΩ an D+, daher VIH an D+). Nach dem Reset durch den Hub wird das Gerät als Full-Speed-Gerät erkannt. Danach initiiert das Gerät ein Handshaking-Protokoll (" Chirping"), in dessen Verlauf der Hub im Gerät ein spezielles Statusregister, in dem die Kennung für ein Hi-Speed-Gerät steht, abfragt.

6.3 Verbindungsarten

Isochroner Datentransfer

Full-Speed- und High-Speed-Verbindungen sind für einen isochronen Datentransfer geeignet. Diese Übertragungsart ist für Endgeräte gedacht, die eine garantierte Datenrate benötigen. Dieses können Echtzeitapplikationen oder z.B. Streaming-Anwendungen sein. Der Host-Controller reserviert hierzu die benötigte Bandbreite. Steht die geforderte Bandbreite nicht zur Verfügung, kann mit dem Endgerät keine isochrone Verbindung aufgebaut werden. Die vom Endgerät geforderte Datenrate ist abhängig von der Größe dessen Datenpuffer und dem benötigten Abfrage-/Sendeintervall. High-Speed-Verbindungen können bis zu drei Übertragungen mit bis zu jeweils 8MBit/s gleichzeitig ausführen. Die Übertragung erfolgt ungesichert. Es werden zwar Prüfnummern mit übertragen, es kann aber bei Übertragungsfehlern keine Wiederholung der defekten Datenpakete vorgenommen werden. Isochroner Transfer wird z.B. bei digitalem Audio eingesetzt.

Interrupt Transfer

Der Interrupt-Transfer unterstützt solche Geräte, die Daten in kleinen Mengen zu nicht vorbestimmbaren Zeitpunkten liefern (z.B. Mäuse, Pointing Devices, Grafik-Tabletts). Beim Verbindungsaufbau teilen die Geräte dem Host mit, in welchen Abständen der Host abfragen soll ob Daten bereitstehen und wie groß die nutzbare Datenmenge ist, die maximal übertragen werden soll.

  Minimales Abfrageintervall   Maximale Größe des Datenbuffers  Maximale Datenrate
Low-Speed:  10ms  8 Byte  800 Byte/s 
Full-Speed:   1ms  64 Byte  64 kByte/s 
Hi-Speed : 125ms  (bei bis zu drei Abfragen) 1024 Byte  24MByte/s 
Tab. 7: Parameter USB Interrupt Transfer

Beim Interrupt-Transfer wird die Übertragung der Daten  von der Hardware mittels Prüfziffern überwacht. Tritt ein Übertragungsfehler auf,  wird die Übertragung des Paketes bis zu dreimal wiederholt.

Bulk-Transfer

Für die schnelle Übertragung von oder auf USB-Massenspeicher kann wegen der ungesicherten Datenübertragung kein isochroner Transfer vorgenommen werden. Hierfür wird stattdessen ein Bulk-Transfer vorgenommen. Beim Bulk-Transfer wird die Übertragung der Daten mittels Prüfnummern  von der Hardware überwacht. Tritt ein Übertragungsfehler auf,  wird die Übertragung des Paketes bis zu dreimal wiederholt.
Um eventuell gleichzeitig aktive isochrone Datentransfers nicht zu stören, wird der Bulk-Datenstrom niedrig priorisiert. Der Host-Controller überträgt die Daten erst dann, wenn alle isochronen Datentransfers abgeschlossen sind oder wenn noch Bandbreite zur Verfügung steht.

Control-Transfer

Control-Transfers erlauben den Zugriff auf verschiedene Stufen eines Gerätes. Hauptsächlich unterstützen sie die Konfiguration, Steuerung und Statusüberwachung eines Gerätes. Control-Transfer werden ausschließlich über Message Pipes vorgenommen. Dieses kann z.B. die Default Control Pipe sein.

7. Kurioses

Die Eigenschaft, dass ein USB-Port auch als Energiequelle benutzt werden kann, hat die Phantasie von Entwicklern und Erfindern beflügelt, Geräte zu schaffen, die nicht im unmittelbaren Zusammenhang mit einem Computer stehen. Auch lassen sich USB-Schnittstellen leicht programmieren, was den Spieltrieb eines PC-Nutzers (oder Nutzerin) nähren kann...

Abb. 23: USB-Tassenwarmhalteplatte
Abb. 23: USB-Tassenwarmhalteplatte
Abb. 24: USB-Raketenwerfer
Abb. 24: USB-Raketenwerfer
Abb. 25: USB-Fieberthermometer (?)
Abb. 25: USB-Fieberthermometer (?)
Abb. 25a: USB-Schwangerschaftstester
Abb. 25a: USB-Schwangerschaftstester (?)

REFERENZEN

Abbildungen

[1] Alle "USB"-Logos und Piktogramme sind geschützte Warenzeichen der USB.ORG
Quelle:  http://www.usb.org

[2] Quelle: Universal Serial Bus Revision 2.0 specification (http://www.usb.org/developers/docs/usb20_docs/usb_20_112614.zip). Zeichnungen neu erstellt und übersetzt durch InfoTip.

 

Zuletzt bearbeitet am 20.12.2017

Rechtshinweis

Sofern auf dieser Seite markenrechtlich geschützte Begriffe, geschützte (Wort- und/oder Bild-) Marken oder geschützte Produktnamen genannt werden, weisen wir ausdrücklich darauf hin, dass die Nennung dieser Marken, Namen und Begriffe hier ausschließlich der redaktionellen Beschreibung bzw. der Identifikation der genannten Produkte und/oder Hersteller bzw. der beschriebenen Technologien dienen.

Alle Rechte an den in diesem Kompendium erwähnten geschützten Marken- und/oder Produktnamen sind Eigentum der jeweiligen Rechteinhaber und werden hiermit ausdrücklich anerkannt. Alle in unseren Artikeln genannten und ggfs. durch Dritte geschützte Marken- und Warenzeichen unterliegen uneingeschränkt den Bestimmungen des jeweils gültigen Kennzeichenrechts sowie den Besitzrechten der jeweiligen eingetragenen Eigentümer.

Die Nennung von Produktnamen, Produkten und/oder der jeweiligen Produkthersteller dient ausschließlich Informationszwecken und stellt keine Werbung dar. InfoTip übernimmt hinsichtlich der Auswahl, Leistung oder Verwendbarkeit dieser Produkte keine Gewähr.

Sollten dennoch wider unserer Absicht Rechte Dritter verletzt werden, so bitten wir um eine Benachrichtigung ohne Kostennote.