Hauptmenü öffnen

USB

 
(Grundlegendes) USB-Logo

Einführung

USB wurde entwickelt, um den Anschluss von einer vielzahl von Peripheriegeräten wie Tastaturen, Zeigegeräten, digitalen Standbild- und Videokameras, Druckern, tragbaren Mediaplayern, Festplatten und Netzwerkadaptern an PCs zu standardisieren.

Durch USB abgelöste Schnittstellen

Zu den abgelösten älteren Typen gehören sowohl serielle Schnittstellen (RS-232, PS/2-Schnittstelle für Tastatur und Maus, Apple Desktop Bus), parallele (Centronics-Schnittstelle) als auch analoge (Gameport) Schnittstellen.


Vorteile von USB

Selbst-konfigurierent

Die USB-Schnittstelle ist selbstkonfigurierend, sodass der Benutzer keine Einstellungen am Gerät und an der Schnittstelle (für zB. Geschwindigkeit, Datenformat, Interrupts, Eingabe-/Ausgabeadressen oder Kanäle für den direkten Speicherzugriff) konfigurieren muss. [2]

Für weitere Informationen zu den oben genannten Einstellungen siehe Eintrag im Fach DTSM zum Thema Systemressourcen.

Hot-Plug

Hot-Plug ermöglicht das problemlose hinzufügen und entfernen von Komponenten im laufenden Betrieb (= ohne einen extrigen Neustart des Systems), solange die Software darauf nicht zugreift.

Die Installation eines Geräts, das auf dem USB-Standard basiert, erfordert nur minimale Benutzereingriffe.
Wenn ein Gerät an einen Anschluss eines laufenden PC-Systems angeschlossen wird, wird es entweder mithilfe vorhandener Gerätetreiber vollständig automatisch konfiguriert, oder das System fordert den Benutzer auf, einen Treiber zu suchen, der dann automatisch installiert und konfiguriert wird.

 
USB-Icon in Form eines Dreizacks[1]

Garantie

Da die Verwendung der USB-Logos nur nach Konformitätstests zulässig ist, kann der Benutzer darauf vertrauen, dass ein USB-Gerät ohne umfangreiche Interaktion mit Einstellungen und Konfiguration erwartungsgemäß funktioniert

Funktionsweise

Der USB überträgt die Daten bit-seriell, das heißt die einzelnen Bits werden nacheinander übertragen. Die Übertragung erfolgt differenziell über ein symmetrisches Adernpaar: liegt auf der ersten Ader der High-Pegel an, so liegt auf der zweiten der Low-Pegel an und umgekehrt. Der Signalempfänger wertet an einem Terminierungswiderstand die Differenzspannung aus. Aus deren Vorzeichen ergeben sich die beiden logischen Zustände Null oder Eins. Durch das differenzielle Verfahren und die Verwendung verdrillter Adern werden elektrisch eingestrahlte Störungen weitgehend eliminiert.

  • Das erhöht die Übertragungssicherheit und unterdrückt Gleichtaktstörungen.

Die Übertragung der Daten in beiden Richtungen (von und zum Peripheriegerät) erfolgt bei Datenübertragungsraten bis zu 480 MBit/s über dasselbe Adernpaar; Erst die mit USB 3.0 eingeführten schnelleren Modi erfordern weitere Adernpaare. Zwei weitere Adern versorgen angeschlossene Geräte mit Energie. Durch die Verwendung von nur vier Adern in einem Kabel (tauglich bis 480 MBit/s) kann dieses dünner ausgeführt und günstiger gefertigt werden als bei parallelen Schnittstellen. Im Vergleich zu bitparallelen Verbindungen – wie etwa IEEE 1284 („Centronics“) – ist eine hohe Datenübertragungsrate mit relativ geringem Aufwand zu erreichen, da nicht mehrere Signale gleichzeitig mit gleichem elektrischen Verhalten übertragen werden müssen.

Host-Controller und Slave-Clients

Die elektrische Verbindung ist eine Direktverbindung (Punkt-zu-Punkt-Verbindung); zu einem Bus-System wird USB erst oberhalb der physischen Ebene.
Die Bus-Spezifikation sieht einen zentralen Host-Controller (Master) vor, der die angeschlossenen Peripherie-Geräte (die sog. Slave-Clients) koordiniert.

  • Ein Gerät darf nur dann Daten zum Host-Controller senden, wenn es von diesem abgefragt wird.
    • Bei zeitkritischen Datenströmen, wie etwa bei Mausbewegungen, muss der Hostcontroller von sich aus häufig genug beim Gerät anfragen (Polling), ob es Daten senden will, um ein Ruckeln zu verhindern.
  • Intern adressiert der USB-Controller die angeschlossenen Geräte mit einer sieben Bit langen Kennung, wodurch sich die theoretische Obergrenze der 127 anschließbaren Geräte ergibt.

Einstellungen

Der Host-Controller fragt meist zuerst nach einem Device-Deskriptor, der unter anderem die Hersteller- und Produkt-ID enthält. Mit weiteren Deskriptoren teilt das Gerät mit, welche alternativen Konfigurationen es besitzt, in die es von seinem Gerätetreiber geschaltet werden kann. Bei einer Webcam könnten diese Alternativen etwa darin bestehen, ob die Kamera eingeschaltet ist oder ob nur das Mikrofon läuft. Für den Controller ist dabei relevant, dass die unterschiedlichen Konfigurationen auch Unterschiede in der Leistungsaufnahme mit sich bringen können.

Geräte-Treiber

Damit nicht für jedes Gerät ein eigener Treiber nötig ist, definiert der USB-Standard verschiedene Geräteklassen, die sich durch generische Treiber steuern lassen. Auf diese Weise sind USB-Tastaturen, -Mäuse, USB-Massenspeicher, Kommunikations- („Communications Device Class“, kurz: CDC) und andere Geräte mit ihren grundlegenden Funktionen sofort verwendbar, ohne dass zuvor die Installation eines spezifischen Treibers notwendig ist.

Siehe Wikipedia-Eintrag für eine Tabelle der verschiedenen Klassen und dessen Verwendungszweck.

Herstellerspezifische Treiber

Herstellerspezifische Erweiterungen (die einen eigenen Treiber erfordern) sind möglich. Die Information, zu welchen Geräteklassen sich ein Gerät zählt, kann im

  • Device-Deskriptor (wenn das Gerät nur einer Klasse angehört)
  • oder in einem Interface-Deskriptor (bei Geräten, die zu mehreren Klassen gehören)

untergebracht werden.

Überblick über die verschiedenen USB-Standards

Spezifikation Spannung Stromstärke Leistung Datenrate max. Länge ohne
Repeater/Hub [3][4][5]
Name Erscheinungsjahr Nennwert zulässig min max min max Brutto Praxis
USB 1.0 / 1.1 [6]   Low-Speed 1998 5V 4,40–5,25V 0,1A 0,5 A 0,5W 2,5W 1,5 MBit/s 130 kByte/s 3.0m
  Full-Speed 12 MBit/s 1 MByte/s 10m
USB 2.0 [7]   High-Speed 2000 4,75–5,25V 0,1A 0,5A 0,5W 2,5W 480 MBit/s 40 MByte/s
USB 3.0 / 3.1 Gen 1 [8]   Super-Speed 2008 4,45–5,25V 0,15A 0,9A 0,75W 4,5W 5 Gbit/s 450 MByte/s 2-3m
USB 3.1 Gen 2 [9]   Super-Speed Plus 2013 0,9A (bis 3A mit Typ-C) 4,5W (bis 15W mit Typ-C) 10 Gbit/s 1 GByte/s 1m
USB 3.2 (nur mit USB-C) [10]  Enhanced Super-Speed 2017 3A 15W 20 Gbit/s 2 GByte/s
USB 4 2019 40 Gbit/s 4 GByte/s
USB-PD [11] Power Delivery 5-20V 5A 100W

Quote vom Elektronik-Kompendium:

Die Versionen 1.0/1.1/2.0 und 3.0 des USB-Standards sehen vor, dass ein Gerät nach dem Anschließen zunächst nur 150mA ziehen darf (Low-Power-Mode).
Wenn sich das Gerät als High-Power-Device zu erkennen gibt, kann der Host ihm erlauben, bis zu 500 mA (900mA für 3.0) zu ziehen.

An einem passiven Hub, der prinzipiell nur den Low-Power-Mode unterstützen kann, wird der Betrieb eines High-Power-Devices abgelehnt.
Das bedeutet aber auch, dass ein Gerät ohne Datenverbindung keinesfalls mehr als 100 mA ziehen darf (laut Standard).
... in der Praxis geben die Hersteller meist ein bisschen mehr auf die Leitung, als der Standard vorsieht, um nicht in die Blöse zu geraten dass ihre USB-Ports zu wenig Strom liefern.

...

Da USB auf niedrige Kosten optimiert ist, sind relativ hohe Toleranzen bei der Spannung und damit Spannungsabfälle zwischen den Geräten erlaubt.

  • So muss ein Low-Power-Gerät nach USB 1.1 und 2.0 mit 400 mW auskommen können, was einer Spannung von 4,0 V entspricht.
    • Bei High-Power-Geräten sind es 2,2 W, was 4,4 V entspricht.

USB Stecker und -Buchsen

Wikipedia[12][13] bietet zum Thema "Stecker und -Buchsen" einen zwei sehr gute (und detailierte) Einträge, mit vielen Bildern und Vergleichen der verschiedenen Stecker-Varianten.