usb – universal serial bus

25
Michael Hentsche 1 USB – Universal Serial Bus Geschichte, Technik, Kommunikation

Upload: taffy

Post on 16-Mar-2016

54 views

Category:

Documents


0 download

DESCRIPTION

USB – Universal Serial Bus. Geschichte, Technik, Kommunikation. Zur Geschichte Veröffentlichung der Spezifikationen USB 2.0 USB und IEEE-1394 USB „On-the-go“ Minimalanforderungen Komponenten. Topologie Aufgaben des Hosts Grundzüge des Transfers Enumeration – Geräteerkennung - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: USB – Universal Serial Bus

Michael Hentsche 1

USB – Universal Serial BusGeschichte, Technik, Kommunikation

Page 2: USB – Universal Serial Bus

Michael Hentsche 2

Inhalt1. Zur Geschichte

• Veröffentlichung der Spezifikationen

• USB 2.0• USB und IEEE-1394• USB „On-the-go“

2. Minimalanforderungen3. Komponenten

4. Topologie5. Aufgaben des Hosts6. Grundzüge des

Transfers7. Enumeration –

Geräteerkennung8. Wie kommuniziert der

Host?9. Hubs

Page 3: USB – Universal Serial Bus

Michael Hentsche 3

1 GeschichteZuvor waren neue Schnittstellen meist das Werk einzelner Unternehmen, z.B. HP-Schnittstellen-Bus (GPIB), und stehen somit unter deren ausschließlicher Kontrolle.Daher sind neuere Schnittstellen meist Ergebnis einer Kooperation.In einigen Fällen fördern Organisationen wie IEEE oder TIA Entwicklungs-Komitees.In anderen Fällen gründen die Entwickler eines neuen Standards eine Organisation zur Freigabe und Betreuung.Dieser Zugang wurde beim USB gewählt.Urheberrecht für USB 1.1 liegt bei Compaq, Intel, Microsoft, NEC.

Page 4: USB – Universal Serial Bus

Michael Hentsche 4

1.1 Veröffentlichung der Spezifikationen

Release 1.0 im Januar 1996Release 1.1 im September 1998 behob Probleme von 1.0 und fügte einen Transfertyp hinzu, Interrupt-OUTRelease 2.0 April 2000 mit integrierter High-Speed-OptionIm Dezember 2000 wurden Korrekturen veröffentlicht und ein neuer Mini-B-Anschluss definiert

Page 5: USB – Universal Serial Bus

Michael Hentsche 5

1.2 USB 2.0Ein großer Schritt in der Entwicklung war Version 2.0, die in der Hauptsache sehr viel schnellere Übertragungen verspricht.Ursprüngliche Erwartungen von 20facher Erhöhung Test zeigten dass eine 40fache Steigerung möglich warÜbertragungsraten von 480Mbit/s machen USB wesentlich attraktiver für Peripheriegeräte wie Drucker, Scanner, Festplatten und Videoanwendungen.

Page 6: USB – Universal Serial Bus

Michael Hentsche 6

1.3 Der USB und der IEEE-1394

USB eignet sich besonders für Peripheriegeräte mit niedriger bis mittlerer Geschwindigkeit, wie Tastaturen, Drucker, Scanner, externe LaufwerkeBei USB steuert ein einzelner Host die Kommunikation mit vielen GerätenDen kompliziertesten Teil der Kommunikation übernimmt der Host, so dass die Elektronik der Peripheriegeräte relativ einfach und preiswert sein kann.

FireWire eignet sich am besten für Video und schnelle VerbindungenNutzt ein Peer-to-Peer-Modell, Geräte können direkt miteinander oder mit mehreren Empfängern kommunizierenFireWire ist somit flexibler, wobei aber die Elektronik der Peripheriegeräte komplizierter und teurer ist.

IEEE-1394 oder „FireWire“ ist eine Realisierung von Apple mit ahnlichen Ansätzen. Für viele Geräte eignen sich auch beide Schnittstellen.

Page 7: USB – Universal Serial Bus

Michael Hentsche 7

1.4 USB „On-the-go“Ermöglicht direkte Kommunikation ohne HostEines der Endgeräte übernimmt eingeschränkte Host-FunktionalitätSpezifikation vom 18. Dezember 2001Anzahl der unterstützenden Geräte steigtGeräte müssen dem Standard entsprechen, auch ohne spezielle Treiber als externes Laufwerk erkannt zu werden.Z.B. Fotos von der Digicam direkt am Drucker ausdrucken

Page 8: USB – Universal Serial Bus

Michael Hentsche 8

2 MinimalanforderungenHardwareunterstützung: USB-Host-Controller mit Stammhub, Ports

Durch Unterstützung der Hersteller besitzt ziemlich jeder neuere PC einen Host-Controller und min. 2 Anschlüsse.„PC 2001 System Design Guide“ von Microsoft schreibt zwei USB-Ports vor

Softwareunterstützung: Betriebssystem mit USB-FunktionenEntwicklung eines USB-Geräts fällt wesentlich leichter, wenn Windows 98 oder höher vorausgesetzt wirdVon Windows 95 zu Windows 98 wurde die USB-Unterstützung stark verbessert, und sie können nicht die gleichen Gerätetreiber nutzen. Bei Windows NT keine USB-Unterstützung, es müsste mit Produkten von Drittanbietern individuelle Gerätetreiber entwickelt werden.

Page 9: USB – Universal Serial Bus

Michael Hentsche 9

3 KomponentenDer Host ist ein Computer, der zwei Komponenten enthält,

die zusammenarbeiten:Host-Controller:

Formatiert die Daten zur Übertragung auf dem Bus Übersetzt empfangene Daten für das Betriebssystem Übernimmt Funktionen der

KommunikationsverwaltungStammhub (Root Hub):

Besitzt Steckverbinder zum Anschluss von Geräten Erkennt gemeinsam mit Controller Anschließen und

Trennen von Geräten Führt Anforderungen des Host-Controllers aus Datenübertragung zw. Host-Controller und Geräten

Page 10: USB – Universal Serial Bus

Michael Hentsche 10

4 Topologie

Page 11: USB – Universal Serial Bus

Michael Hentsche 11

5 Aufgaben des Hosts

Erkennen von GerätenVerwaltung des DatenflussesFehlerüberprüfungStromversorgungDatenaustausch mit Peripheriegeräten

Anwendungsprogramme brauchen sich nicht um Einzelheiten der Kommunikation zu kümmern. Sie greifen dafür auf Standard-Betriebssystemfunktionen zurück.

Page 12: USB – Universal Serial Bus

Michael Hentsche 12

5.1 Erkennung von Geräten1. Beim Einschalten melden die Hubs

angeschlossene Geräte.2. Enumeration: Host ordnet Geräten Adressen

zu und fordert Informationen an3. Im laufenden Betrieb erfährt der Host vom

Anschließen oder Trennen eines Geräts.4. Abgeklemmte Komponente wird aus der Liste

der für Anwendungen verfügbaren Geräte entfernt.

Page 13: USB – Universal Serial Bus

Michael Hentsche 13

5.2 Verwaltung des DatenflussesWollen mehrere Peripheriegeräte senden, wird die verfügbare Zeit in „Frames“ und „Microframes“ unterteilt.Datenfluss wird in Frames zu einer Millisekunde unterteiltJede Übertragung erhält Teile eines Frames oder Microframes.

Page 14: USB – Universal Serial Bus

Michael Hentsche 14

5.3 FehlerüberprüfungDer Host fügt den übertragenen Daten Fehlerprüfbits an.Stimmt die Prüfsumme nicht überein, wird Empfang nicht bestätigt sodass die Daten erneut gesendet werdenAuch andere Indikatoren möglichHost informiert den Treiber

Page 15: USB – Universal Serial Bus

Michael Hentsche 15

5.4 StromversorgungKabel enthält neben zwei Signalleitungen eine +5V- und MasseleitungenHost arbeitet mit Gerät zusammen um Strom zu sparenPro Bussegment max. 500mAPorts einiger batteriebetriebener PCs und Hubs unterstützen nur max. 100mA, doch Windows unterstützt keine Hosts mit herabgesetzter Leistungsabgabe

Page 16: USB – Universal Serial Bus

Michael Hentsche 16

5.5 Datenaustausch mit Peripheriegeräten

Gerätetreiber können regelmäßige Kommunikation mit dem Peripheriegerät fordernAnsonsten kommuniziert der Host nur bei Anforderung durch SoftwarekomponentenProbleme werden der entsprechenden Anwendung vermittelt.

Page 17: USB – Universal Serial Bus

Michael Hentsche 17

6 Grundzüge des TransfersEin 1.x-Host unterstützt Low- und Full-SpeedEin 2.0-Host zusätzlich High-Speed1.x-Hubs wandeln Geschwindigkeit nicht um, sondern leitet nur weiter und ändert die Flankenrate entsprechend2.0-Hubs müssen High-Speed umwandeln können, und beherrschen Funktionen zur effizienten Nutzung der Buszeit Intelligenz führt zur Kompatibilität mit 1.x-

Hardware

Page 18: USB – Universal Serial Bus

Michael Hentsche 18

Je nach Verwendungszweck gibt es zwei Kategorien der USB-Kommunikation:

Anfangskonfiguration:Konfigurationsabfragen – Host lernt das Gerät kennen und bereitet es für Datenaustausch vor.Findet während der Enumeration statt

Anwendungskommunikation:Austausch zwischen Anwendungen und enumerierten GerätenTransfers, über die die eigentlichen Gerätefunktionen ausgeführt werden

Page 19: USB – Universal Serial Bus

Michael Hentsche 19

Jeder Transfer besteht aus Transaktionen. Jede Transaktion besteht aus Paketen mit Informationen.

Alle Übertragungen finden zwischen „Endpunkten“ statt.Host enthält ebenfalls Puffer für empfangene oder sendebereite Daten, aber keine Endpunkte, er ist AusgangspunktVor Transfer wird eine „Pipe“ eingerichtet, Verbindung zwischen Endpunkt und der Host-Controller-SoftwareDer Host stellt die Kanäle vor der Enumeration her.Alle Geräte verfügen für Setup-Transaktionen über eine Standard-Control-Pipe, die den Endpunkt 0 benutzt.

Page 20: USB – Universal Serial Bus

Michael Hentsche 20

7 Enumeration - Geräteerkennung

Es ist Aufgabe des Hubs, zu erkennen wenn Geräte angeschlossen oder entfernt werden.Ereignisse werden über Interrupt-IN-Kanal dem Host gemeldetBeim Booten des Systems fragt der Host seinen Stammhub nach Geräten und Hubs ab, danach periodischWenn neues Gerät vorhanden, sendet er Anforderungen an den Hub, dieser stellt Pipe herGerät wird enumeriert durch Control-Transfers mit Standard-USB-Anforderungen an Endpunkt 0.Erfolgreich, wenn Rückgabe der geforderten Informationen und Ausführung geforderter AktionenAm Ende wird ein Eintrag im Gerätemanager hinzugefügt.

Page 21: USB – Universal Serial Bus

Michael Hentsche 21

Schritte der Enumeration1. Der Anwender verbindet ein Gerät mit einem USB-Port.2. Der Hub erkennt das Gerät.3. Der Host erfährt vom neuen Gerät.4. Low-Speed- oder ein Full-Speed-Gerät?5. Der Hub setzt das Gerät zurück.6. Unterstützt Full-Speed-Gerät den High-Speed-Modus?7. Der Hub stellt einen Signalpfad zwischen Gerät und Bus her.8. Der Host ermittelt die maximale Paketgröße des

Standardkanals.9. Der Host ordnet eine Adresse zu.10.Der Host ermittelt die Fähigkeiten des Geräts11.Der Host ordnet einen Gerätetreiber zu und lädt ihn.12.Der Gerätetreiber des Hosts wählt eine Konfiguration aus.

Page 22: USB – Universal Serial Bus

Michael Hentsche 22

8 Wie kommuniziert der Host?Gerätetreiber: Softwarekomponente, die Anwendungen den Zugriff auf Hardwarekomponenten ermöglichtEinige Gerätetreiber sind Klassentreiber, die eine Kommunikation mit ähnlichen Geräten ermöglichenDatenkapselung: GT benötigen keine Einzelheiten über physische Verbindung, Signale, Protokolle

Zugriff des Anwendungscodes auf Geräte über deren Name oder Funktion

Art der Schnittstelle für Anwendungen irrelevant, da Anwendungscode derselbe bleiben kann, wenn Hardware-Details auf niedriger Ebene geregelt werden

Page 23: USB – Universal Serial Bus

Michael Hentsche 23

8.1 Das Win32-Treibermodell (WDM)

USB-Gerätetreiber für Windows müssen dem von Microsoft definierten Win32-Treibermodell entsprechenLow-Level-Treiber Kommunizieren mit dem Betriebssystem auf

niedriger Ebene, wo ihnen mehr Rechte zustehenKann Zugriffe auf Geräte erlauben oder verweigernFähig zu DMA-Transfers und Reaktion auf Interrupts

Page 24: USB – Universal Serial Bus

Michael Hentsche 24

9 HubsJeder Hub besitzt einen upstream- und mindestens einen downstream-Port - meist 2, 4 oder 7Externe Hubs bestehen aus zwei Hauptkomponenten:

Hub-RepeaterWeiterleitung des USB-Verkehrs zwischen Stammhub des Hosts oder einem anderen upstream-Hub und angeschlossenen (aktivierten) Geräten

Hub-ControllerKommunikation zwischen Host und Hub-Repeater

2.0-Hubs besitzen zusätzlich Transaktionswandler und interne Routig-Logik zur Kommunikation mit Low- und Full-Speed-Geräten an einem High-Speed-Bus

Page 25: USB – Universal Serial Bus

Michael Hentsche 25

Danke für ihre Aufmerksamkeit!