Universal Serial Bus
Der Universal Serial Bus (USB) ist ist ein Bussystem zur Verbindung von einem Computer mit externen Geräten zum Austausch von Daten. Durch die relativ hohen möglichen Datenraten und die automatische Erkennung von Geräten und deren Eigenschaften ist der USB zum Anschluß fast aller Gerätearten von Maus und Tastatur bis zu Festplatten und Kameras geeignet. Die Anzahl der USB-Anschlüsse eines Computers kann mit USB-Hubs vergrößert werden.
(Im Zusammenhang mit USB Hubs wird oftmals fälschlich von "aktiv" oder "passiv" gesprochen, das ist völliger Unsinn, ein USB Hub ist immer ein aktives Gerät. Was eigentlich damit gemeint wird ist "Self Powered" oder "Bus Powered", also selbstversorgt oder busversorgt. Ein Hub mit eigenem Netzteil, also selbstversorgt, gibt an nachfolgende Geräte jeweils bis zu 500mA Strom ab, ein busversorgter Hub bekommt selbst aber nur maximal 500mA und kann dadurch maximal vier Ports haben an die er jeweils 100mA weitergibt.)
Überblick
Der USB kommt mit nur 4 Leitungen aus (2 für Strom, 2 für Daten), braucht damit nur kleine Stecker, und ermöglicht hohe Datenübertragungsraten. Zusätzlich kann er für Geräte mit geringem Verbrauch gleich noch die Stromversorgung zur Verfügung stellen. Er stellt damit eine gute Alternative dar zu den bisherig verwendeten Schnittstellen (parallell/Centronics und seriell/RS232).
USB ist ein serieller Bus. Das heißt, dass die Kommunikation seriell, auf lediglich einer differenziellen Daten-Leitung (2 Leitungen, eine überträgt invertierte Daten, dadurch reduziert sich die Abstrahlung und erhöht sich die Übertragungssicherheit) erfolgt.
Er erlaubt es, bis zu 127 verschiedene Geräte an einem Hostcontroller anzuschließen. Durch Verwendung mehrerer Hostcontroller können auch noch mehr geräte angeschlossen werden, jedoch ist dies abhängig vom verwendeten Betriebssystem, Windows beispielsweise wird lange vor Erreichen der 127 Geräte instabil. Er zeichnet sich dadurch aus, dass die Installation der Geräte verhältnismäßig einfach ist und die Datenkabel der Geräte im laufenden Betrieb ein- und ausgesteckt werden können.
USB erlaubt es einem Gerät mit 1,5MBit/sec (Low Speed), 12MBit/sec (Full Speed) oder mit 480MBit/sec (High Speed, ab USB 2.0 verfügbar) Daten zu übertragen. Damit ist es möglich Geräte mit geringem Datenaufkommen mit preiswerteren Chips auszustatten und im Falle von Low Speed Geräten sogar dünnere Kabel mit einfacherem Schirm zu verwenden.
Aufgrund der mangelhaften Echtzeiteigenschaften ist aber auch USB 2.0 keine richtige Alternative zu FireWire.
Das Logo USB 2.0 wird meistens mit High Speed verwechselt, also erwartet, dass ein als USB 2.0 kompatibel bezeichnetes Gerät auch mit 480MBit/sec läuft. Korrekt ist jedoch, dass USB 2.0 nur die aktuelle Spezifikation ist und alle Geräte unabhängig von Ihrer Geschwindigkeit auch USB 2.0 kompatibel sein sollten. Lediglich bei Hubs und bei Computern, bzw. USB Karten bedeutet USB 2.0 auch High Speed. Bei allen anderen Geräten muss darauf geachtet werden, dass sie über das Logo "USB 2.0 Hi-Speed" verfügen, wenn man ein Gerät mit 480MBit/sec erwartet.
Die verschiedenen Host-Controller
Die USB-Controller-Chips in den PCs halten sich an einen von drei etablierten Standards. Diese unterscheiden sich jeweils in ihrer Leistungsfähigkeit und der Implementierung von bestimmten Funktionalitäten (entweder erledigt sie der Chip von selbst, "in Hardware", oder der Treiber muss softwareseitig dafür sorgen). Für ein USB-Gerät sind die verwendeten Controller vollständig transparent, allerdings ist es für den Benutzer des PC mitunter wichtig, feststellen zu können, welche Art Chip der Rechner verwendet, um den korrekten Treiber auswählen zu können.
Universal Host Controller Interface (UHCI)
UHCI wurde im November 1995 von Intel spezifiziert. Die aktuelle Version des Dokuments trägt die Revisionsnummer 1.1, daher nennen sich auch alle gegenwärtigen USB-Geräte USB 1.1-kompatibel. UHCI-Chips bieten Unterstützung für USB-Geräte mit 1,5 oder 12 MBit/s Bandbreite. Sie werden hauptsächlich in Mainboards von Intel verbaut, man findet sie aber auch in Produkten anderer Hersteller, z.B. VIA Technologies.
Open Host Controller Interface (OHCI)
OHCI ist eine Spezifikation, die gemeinsam von Compaq, Microsoft und National Semiconductor entwickelt wurde. Version 1.0 des Standards wurde im Dezember 1995 veröffentlicht, die aktuelle Fassung trägt die Versionsnummer 1.0a und stammt von September 1999. Ein OHCI-Controller hat prinzipiell die gleichen Fähigkeiten wie seine UHCI-Pendants, erledigt aber mehr Aufgaben in Hardware und ist dadurch marginal schneller als ein UHCI-Controller (der Unterschied bewegt sich in Bereichen, die gerade noch messbar sind, daher kann man dies vernachlässigen). Bei den USB-Controllern auf Mainboards, die nicht von Intel oder VIA stammen handelt es sich mit großer Wahrscheinlichkeit um OHCI.
Enhanced Host Controller Interface (EHCI)
Der Enhanced Host Controller ist der Chip, der bei USB 2.0 verwendet wird. Er wickelt dabei nur die Übertragungen im Hi-Speed-Modus (480 MBit/s) ab. Wenn man USB 1.1-Geräte an einen Port mit EHCI-Chip steckt, reicht der EHCI-Controller den Datenverkehr an einen hinter ihm liegenden UHCI- oder OHCI-Chip weiter. Es handelt sich bei EHCI also um einen Zusatzchip zu einem normalen USB 1.1-Controller. Wenn kein EHCI-Treiber verfügbar ist, werden die USB 2.0-fähigen Geräte ebenfalls an den Partner-Controller durchgereicht und arbeiten dann mit langsamerer Geschwindigkeit.
Weblinks:
- usb.org - USB Konsortium