Handout zu USB lang (Referat )

Werbung
USB (Universal Serial Bus)
1. Geschichte
1.1 USB – Entwicklung
Das USB–Implementers-Forum wurde 1994 gegründet und entwickelte in wenigen
Monaten den Universal-Serial-Bus, der erstmals 1995 auf der Comdex in Las Vegas in der
1.0 Version der Öffentlichkeit vorgestellt wurde. Ende 1995 wurden die ersten
Motherboards mit dem USB–Connecter bestückt und ausgeliefert.
Die bekanntesten Gründungsmitglieder waren:




Microsoft
Compaq
Intel
IBM
Ziele des heute mehr als 1100 Mitglieder umfassenden USB–Implementers–Forums:




Entwicklung des USB–Standards vorantreiben
Überwachung der Kompatibilität neuer USB–
Produkte zum aktuellen USB–Standard
technische Unterstützung für Firmen, die USB
kompatible Geräte auf den Markt bringen wollen
Ausgiebige Tests neuer Geräte unter den
verschiedensten Betriebsbedingungen
1.2 Entwicklungshintergründe

leichte Benutzbarkeit...
Für den Endanwender wird die Konfiguration heute zwar schon durch PCI, PnP, PCMCIA
u.v.a. erleichtert, aber es gibt aus seiner Sicht immer noch zu viele Input- / OutputInterfaces

Port – Erweiterungen...
Ein bisher fehlender bidirektionaler, billiger Peripherie-Bus unterdrückte den Einsatz von
Telefon, Fax, Modem, Anrufbeantworter, Scanner, PDA, Keyboard, Maus usw. an einem
Host-Adapter.
Existierende Lösungen waren immer nur für wenige verschiedene Geräte geeignet!

Computergestütztes Telefonieren...
Durch die unterschiedliche Entwicklung der Computer- u. Kommunikationsindustrie
wurde bis jetzt eine Integration des Telefons in die PC-Umgebung nie richtig erreicht.
1
2. Allgemeines
USB bietet den großen Vorteil, dass Peripheriegeräte (Mäuse, Tastaturen, Modems,
Lautsprecher, Card-Reader, Drucker, Scanner usw.) während des Betriebes des
Computers ein- und ausgesteckt und dabei automatisch konfiguriert werden können
("hot-plug" und "hot-unplug" in Ergänzung zu "plug & play"). Ein weiterer Vorteil ist, dass
5-Volt Versorgungsspannung auf dem Bus liegen ("bus power"). Viele USB-Geräte
kommen daher ohne separate Stromversorgung aus. Man hat nur noch ein Kabel, das
USB-Kabel. In der USB-Version 1.1 unterstützt USB Übertragungsgeschwindigkeiten von
1.5MBit/s und 12MBit/s. Damit ist USB deutlich langsamer als die Alternative Firewire
(IEEE-1394, Sony i.Link), die ebenfalls die "hot-plug"- und die "bus power"-Möglichkeit
bietet. Ein neuer Standard, USB 2.0, ist aber bereits auf dem Markt. Mit 480 MBit/s wird
Firewire hier deutlich übertroffen.
3. Eigenschaften
3.1 USB 1.1









LowSpeed Modus mit 1,5 MBit/s für z.B. Maus und Tastatur
FullSpeed Modus mit 12MBit/s für Geräte mit mittleren Übertragungsraten, wie
Audio oder ISDN
integrierte Stromversorgung bis 500mA
Geräte können bei laufendem Betrieb angeschlossen werden ("hot-plug") und
werden automatisch erkannt
Durch USB-Hubs und entsprechende Kaskadierung können bis zu 127 Geräte
angeschlossen werden, ohne dass Interrupt-Konflikte entstehen
Energiemanagement unterstützt Suspend (=Standby) und Resume (=WakeUp)
maximale Kabellänge 5 Meter (mit Signalverstärkungskabeln, sogenannten
Repeatern, lassen sich bis zu 25 Meter überbrücken)
Datenübertragung von PC zu PC mit einem USB-Link-Kabel möglich
Hardware-Ressourcen sparend: USB Controller benötigt nur einen IRQ
3.2 USB 2.0




HighSpeed Modus mit 480 MBit/s für große Datenmengen
z.B. ideal für Video, externe Festplatten und CD-Brenner
Erste USB-2-Karten (PCI) wurden auf der Cebit 2001 in Hannover vorgestellt
USB 2.0 ist abwärtskompatibel, d.h. USB 1.1 Stecker können weiterverwendet
werden; dies gilt ebenfalls für hochwertige USB 1.1 Kabel
2
4. Wie schnell ist die USB-Verbindung im Vergleich zu anderen
Schnittstellen?
Die Angaben erfolgen in MegaByte/s:








Seriell
USB 1.1
Parallel
Ultra SCSI
Ultra Wide SCSI
IEEE1394/Firewire/i.Link
USB 2.0
Ultra160 LVD / U2W
0,014 MB/s
1,5 MB/s
2,5 MB/s
20 MB/s
40 MB/s
50 MB/s
60 MB/s
160 MB/s
5. Wie sehen die Stecker der USB-Kabel aus?
USB-Kabel wurden bzgl. der Stecker bewusst so konzipiert, dass man bei komplexen
USB-Bäumen keine Verbindungsfehler machen kann. USB-Kabel haben immer zwei
verschiedene Stecker-Typen: Typ A und Typ B. Stecker von Typ A werden computerseitig
(downstream) verwendet und Stecker vom Typ B bei den USB-Geräten (upstream).
Eine Ausnahme bilden USB-Link-Kabel. Solche Spezialkabel dienen der Kopplung von
zwei Computern. Sie haben zwei Stecker vom Typ A und zusätzlich eine
Umsetzelektronik, die sich in der Mitte des Kabels in einem Kunststoffblock befindet.
6. Technik
6.1 Architektur
Ein USB System besteht immer aus einem Host (in der Regel dem PC) und bis zu 127
Devices (Geräte, die am USB angeschlossen werden können). Im Unterschied zu PCI u.ä.
benötigt der USB im Host keinen I/O Adressraum und auch keine IRQ.
Die Devices sind am Host sternförmig, u.U. über einen Hub angeschlossen. Die
maximale Entfernung zwischen Host und Device bzw. zwischen Hub und Device darf nicht
mehr als 5 Meter betragen. USB ist sehr Host – zentrisch, d.h. nur der Host veranlasst
eine Datenübertragung (niemals ein Device oder ein Hub). Der USB unterstützt
Hot-Plug, d.h. im Betrieb können Devices am Bus angeschlossen oder vom Bus entfernt
werden.
3
Die Devices werden dabei automatisch erkannt. Zusammen mit den Daten wird auch der
Clock übertragen.
Devices können auch über den USB mit Spannung (5 Volt, max. 500mA) versorgt
werden. USB besitzt dabei umfangreiche Power Management Funktionen. Devices können
dabei in einen Suspend – Mode versetzt werden. In diesem Mode nehmen die beteiligten
Geräte noch Spannung auf, nehmen aber an der Kommunikation nicht teil. Für die
Stromversorgung der Devices, Spannungsabfälle und die erlaubten Kabel gelten die
(umfangreichen) Vorschriften des USB. Trotzdem sind im Handel Kabel erhältlich, die lt.
USB Spezifikation nicht zulässig sind.
Fehlerkorrektur wird durch eine robuste Übertragung auf dem Physical Layer (Kabel mit
einem Schutzschirm), Kontrollsignalen und der Erkennung von fehlenden Paketen
gewährleistet.
USB unterstützt 2 Geschwindigkeiten; Low-Speed mit 1,5 Mbit/s und Full-Speed mit 12
Mbit/s.
Untenstehendes Bild zeigt die USB Architektur.
„Compound Device“
HUB
HUB
6.2 Kommunikation auf dem USB
Alle Bus-Transaktionen führen zur Übertragung von bis zu drei Paketen. Jede Transaktion
beginnt, wenn der Host-Controller ein USB-Paket sendet, das die Art und Richtung der
Transaktion sowie die Geräte-Adresse und Endpunkt-Nummer bestimmt. Dieses Paket
wird als Token-Paket bezeichnet. Das angesprochene Gerät wird bestimmt, indem jedes
angeschlossene Gerät die Adress-Felder dekodiert und sich im Falle der Übereinstimmung
selbst selektiert. Bei einer bestimmten Transaktion können Daten entweder nur von Host
an ein Gerät gesendet werden oder der Host kann nur Daten eines Gerätes empfangen.
Die Datenquelle sendet im Anschluss ein Datenpaket oder zeigt dem Empfänger an, dass
keine Daten zu übertragen sind. Der Empfänger antwortet dann generell mit einem
Handshake-Paket, welches anzeigt, ob die Übertragung erfolgreich war oder nicht.
Host und Device kommunizieren über Pipes (logischer Kanal) miteinander.
Eine Pipe ist eine Verbindung zwischen einem Endpunkt eines Gerätes und der HostSoftware. Sie ermöglicht den Datenfluss zwischen Host-Software und Endpunkt über
Puffer im Speicher.
Es gibt zwei verschiedene Arten von Pipes: Stream-Pipes, deren Daten keine USBspezifische Struktur besitzen und Message-Pipes, die USB-spezifische Daten
transportieren.
Stream-Pipes unterstützen Bulk-, Interrupt- und isochrone Transfers und sind immer unidirektional. Mit Message-Pipes ist bidirektionale Kommunikation möglich. Außerdem
unterstützen sie nur Kontroll-Transfers.
4
Die Übertragung der Daten erfolgt asynchron oder isochron (konstante Bandbreite) mit
verschiedenen Transfers. Diese sind unterteilt in:
- Kontroll-Transfers werden von der USB-Software benötigt, um ein Gerät zu
konfigurieren oder Status-Informationen anzuzeigen. Die Datenübertragung erfolgt
verlustfrei, d.h. fehlerkorrigiert. Bidirektionale Transfervariante.
- Interrupt-Transfers für kleine Datenpakete mit geringer Häufigkeit
(Beispiel: Maus). Unidirektionale Transfervariante. Im Fehlerfall werden die Daten noch
einmal gesendet.
- Bulk-Transfers für große Datenmengen und nicht-periodische Übertragung. Dieser
Transfer wird für Anwendungen verwendet, deren Daten auch verzögert gesendet werden
können (Beispiel: Drucker).
- Isochrone-Transfers für periodische und kontinuierliche Übertragung von
zeitkritischen Daten wie Audio und Video. Unidirektionale Transfervariante mit
geringer Verzögerung.
Bei den einzelnen Transfers werden die zu übertragenden Daten in verschiedene Pakete
(Token, Daten, Handshake und Special) verpackt und versendet.
6.3 Devices
Die Funktionalität von Devices ist in der USB Spezifikation sehr genau definiert. Devices
werden u.a. durch die Geschwindigkeit (Low-Speed bzw. High-Speed) definiert. Devices
werden in Klassen eingeteilt. Definierte Klassen sind u.a. Human Interface Devices (HID),
Audio, Communication, Mass-Storage, Monitor, Printer und USB/IrDA. Devices können
eine eigene Stromversorgung (self-powered) besitzen oder aber vom USB versorgt (buspowered) werden.
Neue am USB angeschlossene Devices werden automatisch erkannt. Dabei werden vom
Device nacheinander die Zustände Powered und Reset durchlaufen. Das Device ergibt
sich dann mit der Default-Adresse 0 zu erkennen. Das Device wird nun konfiguriert. Mit
der Konfiguration werden u.a. die Klasse, Anzahl der Endpoints, die Device-Adresse,
Datenaufkommen, Art der Stromversorgung usw. festgelegt. Danach kann das Device auf
Requests (Anforderungen für Senden oder Empfangen) vom Host reagieren. Devices
können mehrere Konfigurationen, aber nie mehr als eine zur gleichen Zeit, besitzen.
Die Vorteile von Plug-and-Play und die Verwendung der Windows USB Device-Treiber
werden nur bei völlig korrekter Konfiguration und vollständiger Klassenspezifikation
erreicht.
6.4 Host
Der Host ist in einem USB System der zentrale Koordinator. Der Host ist normalerweise
im PC integriert. Jeder Datentransfer wird immer vom Host veranlasst oder geht zum
oder über den Host. Der Host agiert auch als zentraler Timer auf dem USB. Der USB
Treiber stellt die I/O Request Pakete (IRP) mit Angabe der Pipe für die Datenübertragung
auf dem USB bereit.
Der Host übernimmt im einzelnen folgende Aufgaben:
-
Erkennung von Anschluss/Entfernung von Devices inkl. Remote Wakeup
Verwaltung der Kontrollinformationen von Devices
Steuerung der elektrischen Interfaces zwischen Host und Device bzw. Hub
Fehlerbearbeitung
Root Hub-Funktion
5
Der Host prüft z.B. auch ob der USB die entsprechende Bandbreite unterstützen kann.
Dafür muss er entsprechende Berechnungen anstellen. Die Parameter dafür sind
abhängig von der jeweiligen Bus-Topologie. Parameter für die Signalverzögerung (Anzahl
der Hubs, Kabel usw.) gehen in diese Rechnung mit ein.
Die Host-Implementierung bestimmt die Grundlast des Systems und die erreichbaren
Verzögerungszeiten bzw. den Datendurchsatz.
6.5 Hub
Die Funktion eines Hub ist besonders für Systeme mit mehr als 2 USB Devices am Host
von Bedeutung. Der Hub stellt mehr Ports (typisch sind 4 bzw. 7) zur Verfügung. Hubs
können auch hintereinander geschaltet werden. Hubs mit einer Device-Funktion (z.B. mit
einem Keyboard) nennt man Compound-Devices. Der Port in Richtung Hub ist der
Upstream-Port, in Richtung der Devices der Downstream-Port.
Die Performance eines USB Systems mit Hubs ist u.a. auch von der HostImplementierung abhängig. Hubs erkennen auch die Geschwindigkeit der
angeschlossenen Devices und ob Kollisionen im Datentransfer vorliegen. Suspend und
Resume von Devices wird auch von Hubs unterstützt. Die Konfiguration des Hub wird
vom Host übernommen.
Hub-Schema
6.6 Elektrik
Der USB überträgt elektrische Signale und die Betriebsspannung über ein vieradriges
Kabel mit 90 Ohm Impedanz. Die Signalübertragung erfolgt differentiell über 2 dieser
Adern, wobei mindestens 200 mV Eingabespannung für den Empfänger bereitgestellt
werden müssen.
Anschluss Adernfarbe Funktion
1
rot
VBUS / Vcc
2
weiss
- Data
3
grün
+ Data
4
schwarz
GND
USB Kabel-Schema
6
Zwei verschiedene Arten der Signalübertragung werden unterstützt: normale
Übertragung mit 12 Mbit/s und langsame Übertragung mit 1,5 Mbit/s. Beide Modi sind
zur selben Zeit im USB-System möglich, was durch geräte-transparentes Umschalten
zwischen diesen Modi ermöglicht wird.
Ein Taktsignal wird kodiert mit den differentiellen Daten übertragen. Außerdem geht ein
SYNC-Feld jedem Datenpaket voraus, damit der Empfänger seinen Takt mit dem Sender
synchronisieren kann.
Die mit VBus und GND bezeichneten Adern versorgen die USB-Geräte jeweils mit
Betriebsspannung. VBus liegt am Ausgang der Quelle bei +5 V. Um eine garantierte
Eingabespannung und ordnungsgemäße Terminierungswiderstände zu gewährleisten,
werden vorkonfigurierte Terminatoren an beiden Enden des Kabels benutzt. Die
Terminierungen ermöglichen es weiterhin festzustellen, ob Verbindungen von Geräten
mit dem USB-System hergestellt oder unterbrochen werden. Außerdem lässt sich
dadurch zwischen Geräten unterscheiden die den normalen bzw. langsamen
Übertragungsmodus verwenden.
7. Vorteile / Anwendungen

Einfachere Verbindungen
Hatte man früher ein riesiges Schnittstellengewirr und Kabelsalat am PC, so wurde
mit USB ein anwenderfreundlicher Standard geschaffen, der allen Geräten einen
Steckertyp anbietet. Lästige Ressourcenkonflikte, besondere Einstellungen wie
Jumperbelegung oder Protokolleinstellungen gehören der Vergangenheit an - die
Konfiguration erfolgt automatisch.
Mit USB-On-the-Go können 2 Endgeräte ihre Daten direkt miteinander
austauschen. Normalerweise können USB-Geräte nur als Slaves von einem HostRechner angesprochen werden. Mit USB-On-the-Go kann beispielsweise eine
Digitalkamera Daten ohne zwischengeschalteten Computer an einen Drucker
schicken.
Eine weitere „Verbindungs“-Anwendung bietet USB durch die direkte Vernetzung
zweier Rechner mittels speziellem USB Network Cable. Diese Anwendung ersetzt
das alte Nullmodemkabel und bietet alle gängigen Netzwerkprotokolle wie TCP/IP
oder IPX. Der maximal erreichbare Datendurchsatz liegt aber mit 5 MBit/s deutlich
unter dem der Ethernetnetzwerke.

Flexiblere Erweiterungsmöglichkeiten
Plug and Play war gut gedacht, blieb aber auf halbem Weg stecken – nicht nur
wegen grundsätzlicher Technikprobleme: man musste immer noch seinen Rechner
öffnen um irgendwelche Erweiterungen einbauen zu können.
Mit USB kann man dynamische Peripherieverbindungen herstellen, d.h. USB
Geräte können jederzeit an den Rechner angeschlossen oder abgezogen werden,
sogar zur Laufzeit (hot plugging). Lediglich beim ersten Einsatz muss ein Treiber
installiert werden, bei allen weiteren Einsätzen erkennt der Rechner die Hardware
automatisch. Daraus ergibt sich der Vorteil für den Anwender, dass er mit
mehreren Geräten gleichzeitig arbeiten kann, ohne jedes Mal einen Neustart des
Rechners ausführen zu müssen.
USB ist plattformunabhängig: Entwickler können Geräte konzipieren, die den
Anforderungen der potenziellen Kunden entsprechen, ohne sich Gedanken über
die verwendete Plattform machen zu müssen.
7

Höhere Leistung
Um langsame Geräte wie Tastatur und Maus als auch schnelle Geräte wie Modems
oder Videokameras über ein und denselben Bus zu führen, wurde die Übertragung
über den USB in 3 Kanäle unterteilt:
-

Der Low-Speed-Kanal mit bis zu 1,5 MBit/s eignet sich für Maus und
Tastatur
Der Medium-Speed-Kanal mit bis zu 12 MBit/s für Modems oder
Audioanwendungen
Der High-Speed-Kanal mit bis zu 480 MBit/s für Drucker, Scanner,
Video und Speichermedien
Robustheit
USB ist in der Lage, defekte Engeräte zu erkennen und dies über Software dem
Anwender mitzuteilen. Zudem ist in das Protokoll eine Fehlerbehandlung sowie
Behebung integriert.

Kosten
-

preisgünstiger Sub-Channel
geeignete Entwicklung von billiger Pheripherie möglich
preisgünstige Kabel und Steckverbinder
Nachteil
Die PC-Technik hat so viele Leichen im Keller, dass wir die nicht so schnell los
werden. So gibt es zwar USB-Tastaturen, davon kann man aber nur herzlich abraten.
Denn: Wie geht's weiter, wenn Windows nicht mehr hochkommt, nur noch eine DOSBootdiskette hilft und MS-DOS keine herkömmliche Tastatur findet? Außerdem gibt es
da noch Gemeinheiten in dem Stil, dass längst nicht jedes BIOS weiß, was eine USBTastatur ist.
8
Herunterladen