REFERAT-MenüDeutschGeographieGeschichteChemieBiographienElektronik
 EnglischEpochenFranzösischBiologieInformatikItalienisch
 KunstLateinLiteraturMathematikMusikPhilosophie
 PhysikPolitikPsychologieRechtSonstigeSpanisch
 SportTechnikWirtschaftWirtschaftskunde  



USB


Referat





Thema: USB





Was ist USB?


USB ist die Abkürzung für das englische Wort Universal Serial Bus (Universeller Serieller Bus).



Der USB ist eine neue Anschlussnorm, die den Anschluss externer PC-Komponenten wie Videokameras, Scanner, Tastaturen, Audiolautsprecher etc. erleichtern soll.

Auf die Dauer ist es keine gute Lösung wenn sich 4 oder mehrere Geräte (Zip-Drive, Kamera, Scanner, Drucker) per Umschaltbox an einem einzigen Druckerport quälen. Beim USB handelt es sich um eine standardisierte Schnittstelle, die es ermöglicht bis zu 127 Geräte an einem Computer anzuschließen.

Man erkennt USB Geräte an folgendem Zeichen:







Warum USB?


Wie schon im vorherigen Kapitel erwähnt wurde, ist es sinnvoller eine standardisierte Schnittstelle für alle Peripheriegeräte einzusetzen.

Da der USB unter anderem Free Plugging (freie Wahl der Steckplätze) und Hot Plugging (Möglichkeit während des Betriebs Geräte hinzuzufügen oder abzutrennen) unterstützt, erleichtert es die tägliche Arbeit mit dem Computer ungemein. Z.B. beim Einsatz von Digitalkameras ist dies vorteilhaft, da diese nicht permanent am Rechner angeschlossen sind.

Ebenfalls unterstützt er die Plug and Play Funktion, welche neu installierte Geräte automatisch konfiguriert.

Da der USB mittlerweile zum Standard einer Computerausstattung gehört und es kaum noch neue Peripheriegeräte ohne diese Anschlussnorm gibt, ist er eine kostengünstige Alternative zu den alten Schnittstellen geworden.

Es sind auch hohe Transferraten (USB 2.0 bis zu 480 Mbit/s) möglich. Darüber hinaus können die externen Geräte über den Bus mit Spannung versorgt werden, sofern sie einen nicht zu hohen Energieverbrauch haben (z.B. Modem).

Ein weiterer Vorteil des USB ist, dass über ihn die automatische Steuerung von Stromsparfunktionen möglich ist.




Entwicklung von USB


Da es vor 1996 keine einheitlichen Schnittstellen gab, haben sich 7 Unternehmen (Compaq, DEC, IBM, Intel, Microsoft, NEC und Northern Telecom) zusammengefunden um über ein besseres Design zu beraten, wie langsame E/A-Geräte an einen Computer angeschlossen werden können. Seither sind hunderte weiterer Unternehmen der Gruppe beigetreten. Mit dem USB Projekt verfolgten die Mitglieder der USB Arbeitsgruppe unter anderem folgende Ziele:

Benutzer sollen keine Schalter und Brücken auf Platinen oder Geräten setzen müssen.

Benutzer sollen das Gehäuse nicht zur Installation neuer E/A Geräte öffnen müssen

Es soll nur eine Kabelart für den Anschluss aller Geräte verwendet werden

E/A Geräte sollen über das Kabel mit Strom versorgt werden

An einen einzigen Computer sollen sich bis zu 127 Geräte anschließen lassen

Das System soll Echtzeitgeräte (z.B. Sound, Telefon) unterstützen

Geräte sollen bei laufendem Computer installiert werden können und es soll kein Neustart des Computers erforderlich sein

Der neue Bus und seine E/A Geräte sollen preisgünstig gefertigt werden können

Seit 1997 sind auf allen ATX Mainboards mindestens zwei USB Schnittstellen vorhanden. Dies konnte vor allem dadurch erreicht werden, da Intel die Mainboardhersteller 'zwang' diese zu implementieren. Da es zu Beginn so gut wie keine Geräte dafür gab, und wenn dann waren diese relativ teuer, sah es fast

schon so aus dass dieser Bus keine Chance hat. Als aber Apple seinen I-Mac vorstellte, welcher ganz und gar auf herkömmliche Schnittstellen verzichtete, waren die Peripheriehersteller in Zugzwang und mussten USB konforme Geräte auf den Markt bringen.

USB- Versionen


Es gibt 3 Versionen des USB.

USB 1.0 ; USB 1.1 und seit August 2000 haben Intel und Cypress Semiconductor die ersten funktionsfähigen Systeme mit USB 2.0 vorgestellt. Im Vergleich zu USB 1.1 werden die Daten dabei 40 mal schneller übertragen. Nähere Angaben lassen sich aus der unten stehenden Tabelle entnehmen.





Topologie


Der USB verbindet die Endgeräte mit dem Host. Die physikalische Verbindung beruht auf der Tired-Star-Topologie.

Der Hub, welcher mit anderen Hubs oder Endgeräten (Nodes) verbunden ist stellt jeweils das Zentrum jedes " Sterns " dar.

Auch Endgeräte können als Hub fungieren, z.B. sind Monitore erhältlich, welche neben dem USB Eingang auch Ausgänge zu anderen Peripheriegeräten haben.







Technische Daten



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. Wie vorher schon erwähnt ist es mit USB 2.0 möglich bis zu 480 Mbit/s zu übertragen.

Ein Taktsignal wird kodiert mit den differentiellen Daten übertragen, wobei NRZI (No Return to Zero Invert) mit Bit-Stuffing als Verschlüsselungsmethode benutzt wird, um eine hinreichend

sichere Übertragung zu gewährleisten. Außerdem geht ein SYNC-Feld jedem Datenpaket voraus, damit der Empfänger seinen Takt mit dem Sender synchronisieren kann.

Es werden 2 Kabeltypen verwendet, zum einen Shielded Twisted Pair, zum anderem Unshielded Untwisted Pair.

Die Kabellänge darf max. 5 m betragen. Des weiteren ist ein falsches Einstecken des Kabels unmöglich, da die Stecker so konstruiert sind, dass eine Seite jeweils nur in den Host, die andere Seite in den Node passt. Die Kabel lassen sich nicht miteinander verbinden.






Kabelaufbau


Das USB Verbindungskabel hat eine Impedanz von 90 Ohm.

Es besitzt 4 Adern, wobei 2 für die Spannungsversorgung (5 Volt) und die 2 anderen für den Datentransfer zuständig sind

(-0,5 Volt  -3,8 Volt, min. 200 mA).


















Steckerarten


Beim USB unterscheidet man zwischen 2 Steckerarten.

-Typ A (Host)

-Typ B (Endgerät/Node)






USB Geräte


Man unterscheidet zwischen 2 Arten von Geräten. Zum einen die langsame Peripherie wie Tastatur, Maus, Dongles, Lautsprecher etc., zum anderen schnelle Peripherie wie Scanner, Monitor, Drucker, Kamera etc.

Modernere Anwendungen wie z.B. externe Festplatten, Netzwerke oder neuere Peripheriegeräte profitieren sehr vom neuen USB 2.0 Standard, da dieser wie schon öfters erwähnt eine Transferrate von bis zu 480 Mbit/s errreicht.















Der Hub (Verteiler / Weiche)

Hubs (Verteiler) stellen zusätzliche Anschlussmöglichkeiten für Endgeräte im USB-System bereit. Sie stellen Schlüssel-elemente in der Plug-and-Play-Umgebung des USB dar.

Ein Anschluss an einem Hub wird als Port bezeichnet. In einem USB-System kann es mehrere Hubs geben. Der Upstream-Port verbindet den Hub mit einem anderen Hub näher am Host oder direkt mit dem Host. Alle weiteren (Downstream-)Ports ermöglichen den Anschluss eines beliebigen USB-Geräts. Hubs sind in der Lage, neu angeschlossene oder wieder entfernte Geräte automatisch zu erkennen und stellen die Energie-versorgung für das entsprechende Gerät sicher. Ports

von langsamen und normalen USB-Geräten werden voneinander isoliert.

Der Hub besteht hardwaremäßig aus dem Hub-Controller und dem Hub-Repeater. Letztgenannter ist ein Protokollgesteuerter Schalter zwischen Upstream- und Downstream-Ports. Er besitzt außerdem Reset- und Energiesparfunktionen. Der Hub-Controller stellt Register zur Verfügung, um die Kommunikation mit dem Host zu ermöglichen. Spezifische Kontroll-Befehle erlauben es dem Host, den Hub zu konfigurieren und seine Ports zu überwachen.




Fehlererkennung / Behandlung

Die Fehlererkennung und Behandlung erfolgt über die CRC-Technik (Cyklik Redundancy Check / Zyklische Blocksicherung).

CRCs werden bei allen ungeschützten Feldern von Token- und Daten-Paketen angewendet. CRCs werden von Sender vor dem Bit-Stuffing gebildet und müssen vom Empfänger entsprechend nach dem Entfernen der stuffed Bits dekodiert werden.

Durch CRCs wird ein 100-prozentiger Schutz vor Einzel- und Doppel-Bit-Fehlern erreicht. Eine falsche CRC bedeutet, dass ein oder mehr der CRC-geschützten Felder falsch übermittelt wurden.

Bei der CRC-Bildung wird das Schiebe-Register im CRC-Generator und CRC-Überprüfer mit einem Einer-Bit-Feld versehen. Jedes gesendete oder empfangene Bit wird nun mit dem höchstwertigsten Bit im Schiebe-Register XOR-verknüpft. Anschließend werden die Bits im Schiebe-Register um eins

linksgeschoben und das niedrigste Bit wird auf 0 gesetzt. Wenn das Ergebnis des o.g. XOR 1 ist, wird das Schiebe-Register mit dem Generator-Polynom wiederum XOR-verknüpft.

Wenn das letzte Bit des zu überprüfenden Feldes gesendet ist, wird die CRC im Generator invertiert und mit dem höchstwertigen Bit zuerst zum CRC-Überprüfer geschickt. Sind bei der Übertragung keine Fehler aufgetreten, dann ist das Bit-Feld im CRC-Überpfüfer gleich dem entsprechend CRC-Rest(siehe unten).

Generator-Polynom für 5-Bit Token-CRCs:

G(X) = X5 + X2 + 1

Daraus ergibt sich das Bitmuster 00101. Wenn alle Bits ohne Fehler erhalten wurden, ergibt der CRC-Rest entsprechend 01100.

Generator-Polynom für 16-Bit Daten-CRCs:

G(X) = X16 + X15 + X2 + 1

Daraus ergibt sich das Bitmuster 1000000000000101. Wenn alle Bits ohne Fehler erhalten wurden, ergibt der CRC-Rest 1000000000001101.





Das USB Protokoll


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 vom 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.


Das USB-Transfer-Modell zwischen Datenquelle oder -ziel Host und einem Endpunkt am Empfänger wird als Pipe (Übertragungsstück) bezeichnet. Es gibt zwei Arten von Pipes: Stream- (Datenfluß-) und Message- (Nachrichten-) Pipes. Im Gegensatz zu Message-Pipes haben Stream-Pipes keine USB-definierte Datenstruktur. Außerdem hat eine Pipe weitere bezeichnende Eigenschaften wie Daten-Bandbreite, Transfer-Art und Endpunkt-Merkmale wie Puffer-Größe.

Pipes entstehen, wenn ein USB-Gerät konfiguriert wird. Eine Message-Pipe -Kontroll-Pipe 0 - existiert, sobald das Gerät mit Strom versorgt wird und ermöglicht damit die Bereitstellung von Informationen zur weiteren Geräte-Konfiguration sowie Status- und Kontroll-Informationen.



Pipes


Eine Pipe ist eine Verbindung zwischen einem Endpunkt eines Gerätes und der Host-Software. Sie ermöglichen den Datenfluß zwischen Host-Software und Endpunkt über Puffer im

Speicher.


Es gibt zwei verschiedene Arten von Pipes: Stream-Pipes, deren Daten keine USB-spezifische Struktur besitzen und Message-Pipes, die USB-spezifische Daten transportieren.


Stream-Pipes unterstützen Bulk-, Interrupt- und isochrone Transfers und sind immer uni-direktional, was durch das IN- oder OUT-Token im Protokoll festgelegt wird.


Mit Message-Pipes ist bidirektionale Kommunikation möglich. Außerdem unterstützen sie nur Kontroll-Transfers.


Das USB-System intepretiert die Daten nicht, wenn sie über die Pipes transportiert werden. Dies gilt auch für Message-Pipes.


Eine Client-Software fragt Daten normalerweise über I/O Request Pakete (IRPs) ab. Sie wartet anschließend bis sie Nachricht über Erfolg oder Mißerfolg der Transaktion erhält. Genaue

IRP-Datails sind Betriebssystem-spezifisch.








Datenübertragung

Der USB unterstützt den Datenaustausch zwischen USB-Host und USB-Gerät auf uni- oder bidirektionaler Basis. Datentransfers finden immer zwischen der Host-Software und einem bestimmten Endpunkt eines USB-Gerätes statt, wobei ein bestimmtes USB-Gerät verschiedene Endpunkte haben kann. Der USB-Host behandelt die Kommunikation mit einem Endpunkt eines Geräts unabhängig von einem anderem Endpunkt des selben Geräts. Wie schon erläutert, wird die Verbindung zwischen Host und dem Endpunkt eines Geräts Pipe genannt. 

Pipes (außer Message-Pipes) sind immer unidirektional, d.h. für eine bidirektionale Verbindung zwischen USB-Host und USB-Gerät sind mindestens zwei Pipes erforderlich.


Arten des Datenflusses

Die USB-Architektur unterstützt vier verschiedene Arten des Datenflusses:

Kontroll-Transfers:

Kontroll-Daten 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.

Bulk-Transfers:

Mittels Bulk-Transfer werden typischerweise große Datenmengen übertragen, wie sie beispielsweise bei Druckern oder Scannern anfallen. Bulk-Daten sind sequentiell. Ordnungsgemäßer Datenaustausch wird auf Hardwareebene durch Fehlererkennung sichergestellt. Im Bedarfsfall können auch begrenzt Wiederholungen einer Transaktion ausgeführt werden. Eine feste Bandbreite ist für diese Art der Datenübertragung nicht vorgesehen. Es wird die Bandbreite benutzt, die gerade verfügbar ist. Ist der Bus schon voll ausgelastet wird mit der Übertragung solange gewartet, bis wieder Kapazitäten vorhanden sind.




Interrupt-Transfers:   

Für kleine, zu unbestimmbaren Zeiten auftretende Datentransfers wird diese Art der Übertragung verwendet. Die Daten werden dabei mit der vollen Geschwindigkeit übertragen, die das Gerät unterstützt.

Interrupt-Transfers finden normalerweise in Verbindung mit auftretenden Ereignissen Verwendung. Es werden dabei zum Beispiel die Koordinaten eines Zeigegerätes übertragen.

Isochrone Transfers:

Die mit dieser Transferart übertragenen Daten sind fortlaufend und werden in Echtzeit erstellt, übermittelt und empfangen. Timing-Informationen werden dabei mit übertragen.

Ein isochroner Datenstrom muss mit der Rate geliefert werden, mit der er empfangen werden soll. Die dabei für die jeweilige Pipe benötigte Bandbreite ist abhängig von der Sampling-Rate des USB-Geräts. Mögliche Latenzzeiten während der Übertragung hängen von der Pufferung an den entsprechenden

Endpunkten ab.

Ein typisches Beispiel für isochrone Daten ist Sprache. Wenn der Datenstrom während einer solchen Übertragung abreißt, kommt es zu unschönen Störungen bei der Sprachausgabe. Selbst wenn die Daten komplett übertragen wurden, kann eine verzögerte Übertragung den wie zum Beispiel bei Telefon-Konferenzen benötigten Echtzeit-Effekt zunichte machen.

Die zeitlich korrekte Übertragung wird bei isochronen Transfers durch das potentielle Auslassen bestimmter Datenteile erreicht. Mit anderen Worten: wenn ein Fehler bei der Übertragung auftritt, wird er nicht durch Hardware-Mechanismen (Wiederholungen) korrigiert. In der Praxis wird der Fall des

Datenverlustes jedoch nur selten auftreten, da bei isochronen Transfers die ausreichende Bandbreite für die Übertragung reserviert wird, um sicherzustellen, dass die Daten mit der gewünschten Rate geliefert werden können. Außerdem ist der USB für minimale Datenverzögerungen bei der Übertragung konfiguriert.



Quellenangabe





-Computerarchitektur                        Andrew S. Tanenbaum

James Goodman


-EDV-Grundwissen    Manfred Precht

Nikolaus Meier

Joachim Kleinlein


-einfache IT-Systeme                         Frielingsdorf

Lintermann

Schaefer

Schulte - Göcking



-folgende Homepages:


www.tecchannel.de

www.acwsoft.de

homepage des WDR (Computer Club)













Haupt | Fügen Sie Referat | Kontakt | Impressum | Nutzungsbedingungen