Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

USB – Universal Serial Bus

Ähnliche Präsentationen


Präsentation zum Thema: "USB – Universal Serial Bus"—  Präsentation transkript:

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

2 Inhalt 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 Wie kommuniziert der Host? Hubs Michael Hentsche

3 1 Geschichte Zuvor 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. Michael Hentsche

4 1.1 Veröffentlichung der Spezifikationen
Release 1.0 im Januar 1996 Release 1.1 im September 1998 behob Probleme von 1.0 und fügte einen Transfertyp hinzu, Interrupt-OUT Release 2.0 April 2000 mit integrierter High-Speed-Option Im Dezember 2000 wurden Korrekturen veröffentlicht und ein neuer Mini-B-Anschluss definiert Michael Hentsche

5 1.2 USB 2.0 Ein 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. Michael Hentsche

6 1.3 Der USB und der IEEE-1394 IEEE-1394 oder „FireWire“ ist eine Realisierung von Apple mit ahnlichen Ansätzen. Für viele Geräte eignen sich auch beide Schnittstellen. USB eignet sich besonders für Peripheriegeräte mit niedriger bis mittlerer Geschwindigkeit, wie Tastaturen, Drucker, Scanner, externe Laufwerke Bei USB steuert ein einzelner Host die Kommunikation mit vielen Geräten Den 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 Verbindungen Nutzt ein Peer-to-Peer-Modell, Geräte können direkt miteinander oder mit mehreren Empfängern kommunizieren FireWire ist somit flexibler, wobei aber die Elektronik der Peripheriegeräte komplizierter und teurer ist. Michael Hentsche

7 1.4 USB „On-the-go“ Ermöglicht direkte Kommunikation ohne Host
Eines der Endgeräte übernimmt eingeschränkte Host-Funktionalität Spezifikation vom 18. Dezember 2001 Anzahl der unterstützenden Geräte steigt Gerä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 Michael Hentsche

8 2 Minimalanforderungen
Hardwareunterstü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-Funktionen Entwicklung eines USB-Geräts fällt wesentlich leichter, wenn Windows 98 oder höher vorausgesetzt wird Von 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. Michael Hentsche

9 3 Komponenten Der 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 Kommunikationsverwaltung Stammhub (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 Michael Hentsche

10 4 Topologie Michael Hentsche

11 5 Aufgaben des Hosts Anwendungsprogramme brauchen sich nicht um Einzelheiten der Kommunikation zu kümmern. Sie greifen dafür auf Standard-Betriebssystemfunktionen zurück. Erkennen von Geräten Verwaltung des Datenflusses Fehlerüberprüfung Stromversorgung Datenaustausch mit Peripheriegeräten Michael Hentsche

12 5.1 Erkennung von Geräten Beim Einschalten melden die Hubs angeschlossene Geräte. Enumeration: Host ordnet Geräten Adressen zu und fordert Informationen an Im laufenden Betrieb erfährt der Host vom Anschließen oder Trennen eines Geräts. Abgeklemmte Komponente wird aus der Liste der für Anwendungen verfügbaren Geräte entfernt. Michael Hentsche

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

14 5.3 Fehlerüberprüfung Der 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 werden Auch andere Indikatoren möglich Host informiert den Treiber Michael Hentsche

15 5.4 Stromversorgung Kabel enthält neben zwei Signalleitungen eine +5V- und Masseleitungen Host arbeitet mit Gerät zusammen um Strom zu sparen Pro Bussegment max. 500mA Ports einiger batteriebetriebener PCs und Hubs unterstützen nur max. 100mA, doch Windows unterstützt keine Hosts mit herabgesetzter Leistungsabgabe Michael Hentsche

16 5.5 Datenaustausch mit Peripheriegeräten
Gerätetreiber können regelmäßige Kommunikation mit dem Peripheriegerät fordern Ansonsten kommuniziert der Host nur bei Anforderung durch Softwarekomponenten Probleme werden der entsprechenden Anwendung vermittelt. Michael Hentsche

17 6 Grundzüge des Transfers
Ein 1.x-Host unterstützt Low- und Full-Speed Ein 2.0-Host zusätzlich High-Speed 1.x-Hubs wandeln Geschwindigkeit nicht um, sondern leitet nur weiter und ändert die Flankenrate entsprechend 2.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 Michael Hentsche

18 Anfangskonfiguration:
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äten Transfers, über die die eigentlichen Gerätefunktionen ausgeführt werden Michael Hentsche

19 Jeder Transfer besteht aus Transaktionen
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 Ausgangspunkt Vor Transfer wird eine „Pipe“ eingerichtet, Verbindung zwischen Endpunkt und der Host-Controller-Software Der 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. 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 gemeldet Beim Booten des Systems fragt der Host seinen Stammhub nach Geräten und Hubs ab, danach periodisch Wenn neues Gerät vorhanden, sendet er Anforderungen an den Hub, dieser stellt Pipe her Gerät wird enumeriert durch Control-Transfers mit Standard-USB-Anforderungen an Endpunkt 0. Erfolgreich, wenn Rückgabe der geforderten Informationen und Ausführung geforderter Aktionen Am Ende wird ein Eintrag im Gerätemanager hinzugefügt. Michael Hentsche

21 Schritte der Enumeration
Der Anwender verbindet ein Gerät mit einem USB-Port. Der Hub erkennt das Gerät. Der Host erfährt vom neuen Gerät. Low-Speed- oder ein Full-Speed-Gerät? Der Hub setzt das Gerät zurück. Unterstützt Full-Speed-Gerät den High-Speed-Modus? Der Hub stellt einen Signalpfad zwischen Gerät und Bus her. Der Host ermittelt die maximale Paketgröße des Standardkanals. Der Host ordnet eine Adresse zu. Der Host ermittelt die Fähigkeiten des Geräts Der Host ordnet einen Gerätetreiber zu und lädt ihn. Der Gerätetreiber des Hosts wählt eine Konfiguration aus. Michael Hentsche

22 8 Wie kommuniziert der Host?
Gerätetreiber: Softwarekomponente, die Anwendungen den Zugriff auf Hardwarekomponenten ermöglicht Einige Gerätetreiber sind Klassentreiber, die eine Kommunikation mit ähnlichen Geräten ermöglichen Datenkapselung: 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 Michael Hentsche

23 8.1 Das Win32-Treibermodell (WDM)
USB-Gerätetreiber für Windows müssen dem von Microsoft definierten Win32-Treibermodell entsprechen Low-Level-Treiber Kommunizieren mit dem Betriebssystem auf niedriger Ebene, wo ihnen mehr Rechte zustehen Kann Zugriffe auf Geräte erlauben oder verweigern Fähig zu DMA-Transfers und Reaktion auf Interrupts Michael Hentsche

24 9 Hubs Jeder Hub besitzt einen upstream- und mindestens einen downstream-Port - meist 2, 4 oder 7 Externe Hubs bestehen aus zwei Hauptkomponenten: Hub-Repeater Weiterleitung des USB-Verkehrs zwischen Stammhub des Hosts oder einem anderen upstream-Hub und angeschlossenen (aktivierten) Geräten Hub-Controller Kommunikation 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 Michael Hentsche

25 Danke für ihre Aufmerksamkeit!
Michael Hentsche


Herunterladen ppt "USB – Universal Serial Bus"

Ähnliche Präsentationen


Google-Anzeigen