USB-Grundlagen

08.11.2000 von Frank Klinkenberg
Der USB eignet sich bestens für den Anschluss mäßig schneller Peripherie. Wir zeigen, was diesen Bus technisch auszeichnet.

Der USB ist eine preiswerte, serielle Schnittstelle, die bidirektional und isochron arbeitet. Bei einer Datentransferrate von 12 MBit/s eignet sich der USB in seiner derzeitigen Version 1.1 besonders für Peripheriegeräte mit kleinem bis mittlerem Datenaufkommen. In diese Kategorie fallen zum Beispiel die Tastatur, Maus, Scanner, Drucker, Telefone, Joystick oder einfache Wechselplatten und CD-ROM-Laufwerke.

Der USB wurde bereits 1993 von Intel und Microsoft sowie Compaq, DEC, IBM PC Company, NEC und Northern Telecom definiert. Der Name dient dabei eher der Vermarktung als einer aussagefähigen Bezeichnung, die an bestehende Normen anknüpft. Der USB besteht nämlich aus vielen Punkt-zu-Punkt-Verbindungen, die in mehreren Ebenen sternförmig angeordnet sind. Damit ist der USB kein Bus im herkömmlichen Sinn. Für das Marketing gelten jedoch andere Gesetze: Bus ist kurz, gut bekannt und positiv vorbelegt.

Universell stimmt gemäß der USB-Definition nur im unteren bis mittleren Geschwindigkeitsbereich. Bei Massenspeicherperipherie setzen sich deutlich schnellere serielle Verbindungen durch: Firewire , Fibre Channel und Serial ATA sind die Nachfolger des parallelen IDE- und SCSI-Busss. Der digitale Anschluss von Monitoren und DVI setzt ebenfalls auf die serielle Hochgeschwindigkeitsübertragung von Daten. Mehr dazu lesen Sie in unseren Beiträgen Digitale Grafikschnittstellen , Ultra-ATA/100 und Firewire: Nepp oder Innovation? .

Doch auch die Befürworter von USB haben nicht geschlafen. Mit USB 2.0 kommt in der ersten Hälfte 2001 eine mit 480 MByte/s vierzig mal schnellerer USB-Version, die voll kompatibel zum bisherigen Standard ist. Mehr dazu lesen sie in unserem Beitrag USB 2.0: Highspeed mit 480 Mbit/s.

Konzept und Zielsetzungen

Die drei von der USB Developer's Group als "Motivation" propagierten, wichtigsten Merkmale des USB sind:

Die typische Anzahl der Steckverbinder an der Rechnerrückseite eines PC sollte mit diesem Konzept von bisher neun auf vier reduziert werden. Zusätzlich zum USB sollte es ursprünglich nur noch einen Grafik-, einen schnellen Massenspeicher- und einen LAN-Anschluss geben. Nachdem sich der USB jedoch noch nicht so schnell durchgesetzt hat, wie es die Industrie gerne gehabt hätte, ist die Anschlussvielfalt eher gewachsen. Neben den Standardanschlüssen gesellen sich bei aktuellen PCs nun noch die zwei oder vier USB-Buchsen hinzu. Die alten seriellen und parallelen Anschlüsse haben in heutigen PCs noch weitgehend Bestand.

Ein wesentliches Merkmal des USB ist die Einbindung des Telefons in das Buskonzept, daher die Teilnahme von Northern Telecom aus Kanada, einem der weltweit größten Hersteller für Telefone und Telefonsysteme. Das Protokoll für den Telefonanschluß "Telephony Application Programming Interface" (TAPI) kommt (wen wundert's) von Microsoft/Intel.

Die USB-Erfinder haben auch neue Fachbegriffe geprägt. So wird ein (virtueller) Kommunikationskanal als "Pipe" und ein Gerät (device) als Knoten (node) bezeichnet. Der (Bus)-Teilnehmer ist eine Funktion (function) oder ein Knoten. Die Adressierung erfolgt bei USB mit 7 Adressenbits und 4 sogenannten "Endpoint"-Bits. Formal erhält man damit 127 Geräteadressen (die Adresse 00h ist reserviert) mit maximal 15 Unteradressen im Gerät (hier ist die Adresse 0h reserviert).

Pyramide als Bus

Der Bus, der eigentlich keiner ist, stellt sich als hierarchischer Sternverteiler oder als Pyramide mit mehreren Ebenen dar. Die Punkt-zu-Punkt-Verbindungen laufen sternförmig in einem Hub zusammen, der gegebenenfalls wiederum mit einer Leitung am hierarchisch nächst höheren Hub angeschlossen ist. Dieses Konzept zieht sich bis zur Spitze der Pyramide durch. Ein Hub ist dabei ein Zwischenverteiler oder Verstärker ohne eigene logische Funktionen. Er dient quasi nur zur Auffächerung der Verbindungsstrecken auf mehrere Geräte und zur Geräteparameterabfrage.

Aus Sicht der Geräte ist der Hub ein Konzentrator, wobei Port 00h die Verbindung zur nächst höheren Hierarchieebene in Richtung zum Rechner herstellt. Der PC besitzt als einziges Gerät den sogenannten Root Hub oder Master (mit Root Port), der den gesamten USB steuert. Eine Ringverbindung ist nicht erlaubt.

Der USB-Steckverbinder in Richtung Root Hub ist immer vom Typ A, Richtung Gerät vom Typ B. Damit wird eine Vertauschung oder der Aufbau einer Ringverbindung verhindert.

Verfahren und Protokoll

Der USB kennt einen isochronen Betrieb, bei dem zyklisch (typischerweise jede Millisekunde) ein Teil der Bandbreite fest für die Übertragung - zum Beispiel von Audio- und Videodaten - reserviert wird. Daneben gibt es die übliche asynchrone Übertragung.

Jede Verbindung zum Gerät wird vom Rechner (host) aufgebaut. Der Betrieb selbst wird im "Polling"-Verfahren durchgeführt mit entsprechend hoher CPU-Belastung für die dauernden Abfragen. Man benötigt damit aber nur einen einzigen Interrupt im PC für alle angeschlossenen Geräte. Das ist im PC-Betrieb auch sinnvoll, da aufgrund der veralteten Architektur die Interrupts Mangelware sind.

Die Daten laufen als Pakete über den Bus. Noch vor den Daten wird ein Token mit der Adresse des ausgewählten Teilnehmers und mit anderen internen Informationen an das Gerät gesendet. Jede Übertragung (transaction) besteht daher im Regelfall aus drei Phasen (token, data, handshake phase). Dazu wird ein virtueller Kanal (pipe) als physikalische Verbindung zwischen den Endpunkten im USB geschaltet. Speziell für die isochrone Datenübertragung wird das Zeitmultiplexverfahren (TDM ) angewendet.

Zwei Arten des Datentransportes sind definiert. Zum einen der Datenstrom (stream), der sich als eine unstrukturierte Folge von Bytes darstellt und zum anderen Meldungen (messages) mit einer im USB definierten Struktur. Die verfügbare Bandbreite wird auf die verschiedenen virtuellen Verbindungen (pipes) aufgeteilt, wobei unterschiedliche Datenraten im gemischten Betrieb am USB möglich sind.

Fehlerschutzmechanismen für Steuerinformationen und Daten sichern die Datenübertragung mit einem 5-Bit- und einem 16-Bit CRC-Polynom (Cyclic Redundancy Check). Einzel- und Doppelbitfehler sind damit korrigierbar.

Kabel und Potentiale

Zur Verbindung der Geräte dient ein vieradriges Kabel. Zwei Adern sind verdrillt und übertragen das Datensignal in symmetrischer Form (differential) in einem 3,3-Volt-System. Für die Stromversorgung der Peripheriegeräte (5 V nominell) kommt das andere Drahtpaar (unverdrillt) zum Einsatz.

Wegen der Punkt-zu-Punkt-Topologie entfallen externe Abschlusswiderstände (Terminatoren), diese sind bereits fest in den Geräten eingebaut. Die Belastung der Datenleitungen durch die Widerstände dient zudem zur automatischen Erkennung von im laufenden Betrieb neu hinzugekommenen oder entfernten Geräten.

Beim USB wird eine Spannungsdifferenz von etwa einem Volt zur Signaldarstellung verwendet. Ist die Leitung +Data (D+) positiver als die Leitung -Data (D-), gilt dies als eine logische EINS. Ist die Leitung D- positiver als die Leitung D+, dann stellt dies eine logische NULL dar. Die minimale Spannungsdifferenz beider Leitungen beträgt 0,2 V, die absolute Spannung darf 3,6 Volt nicht überschreiten. Die Flankensteilheit des Signals soll zwischen 4 und 20 ns liegen. Im Ruhezustand ergeben sich durch die Abschlusswiderstände für die +Leitung etwa +3 V und etwa 0 V für die -Leitung (logical "1"). Für die Kennzeichnung des Endes einer Paketübertragung gibt es den unsymmetrischen NULL-Zustand (Single-ended 0 State). Dazu müssen beide Datenleitungen einen Pegel unterhalb +1,6 V für die Dauer von mindestens zwei Taktzeiten einnehmen. Danach wird der symmetrische EINS-Zustand (differential "1") hergestellt. Dieser Zustand ist so lange hochohmig, bis eine neue Übertragung beginnt. Das geschieht dann zwangsweise mit einem symmetrischen NULL-Bit.

Für die Codierung der Bits wird NRZI verwendet. Sollen sechs oder mehr EINS-Bits unmittelbar nacheinander übertragen werden, dann wird automatisch eine NULL (Flankenwechsel) eingefügt. Diese wird beim Empfänger ebenso automatisch wieder entfernt.

Strom inklusive

Die Stromversorgung eines Gerätes kann über das Kabel (maximal 500 mA) oder lokal erfolgen. Dazu werden die zwei anderen Adern aus dem vieradrigen Kabel verwendet. Die beiden Steckverbinderstifte für die Stromversorgung sind etwas länger als die Anschlussstifte für das Datensignal.

Geräte werden je nach Stromverbrauch in "Low Power" (max. 100 mA, 4,4 V) oder "High Power" (max. 500 mA, 4,75 V) eingeteilt. Beim Einschalten/Einstecken darf jedoch kein Gerät mehr als 100 mA ziehen. Wenn genügend Leistung verfügbar ist, darf nach der Identifikation auf den höheren Verbrauch umgeschaltet werden.

Geräte mit geringem Strombedarf können somit direkt über den Bus versorgt werden. Andere Geräte mit höherem Strombedarf benötigen eine eigene Versorgung, können aber über den USB ein- und ausgeschaltet werden. Es gibt zudem umfangreiche Möglichkeiten der Energieverwaltung, wie beispielsweise das Umschalten in den Bereitschafts- oder Schlafzustand.

Eine einzelne Kabelstrecke darf maximal 5 Meter lang sein. Mit insgesamt sieben zugelassenen Kabelstrecken hintereinander beträgt die größte Entfernung zwischen dem Root Device PC und dem Peripheriegerät somit 35 Meter.

Es gibt zudem eine Kabelvariante mit unverdrillten Datenadern für den langsamen Unterkanal mit bis zu 1,5 MBit/s. Das Protokoll sorgt dafür, dass schnelle Signale nicht über diese ungeschirmten Kabel laufen.

Ausblick

USB hat sehr lange gebraucht, sich am Markt zu etablieren: Erst im Jahr 2000, vier Jahre nach der Verabschiedung der USB 1.0 Spezifikation im Januar 1996, ist daraus eine allseits akzeptierte und genutzte Schnittstelle geworden. Doch inzwischen reicht die Datenrate für viele Anwendungen nicht mehr aus. FireWire mit seiner Datenübertragungsrate von 400 MBit/s drohte, den 12 MBit/s langsamen USB im Multimediabereich abzulösen.

Doch inzwischen steht USB 2.0 vor der Tür: voll kompatibel zu bisherigen USB-Geräten und mit 480 MBit/s Transferrate vierzig mal schneller. Mehr dazu lesen Sie in unserem Beitrag USB 2.0: Highspeed mit 480 MBit/s. Die ersten Controller für USB 2.0 sind fertig, Microsoft hat schon Treiberupdates für Windows 98SE, Me und 2000 angekündigt. Doch marktreife Geräte und PC-Chipsätze mit USB 2.0 sind erst Mitte 2001 zu erwarten. ala)

Weitere Informationen rund um USB finden Sie bei USB.org, Linux USB und USB Workshop.