1 / 25

USB – Universal Serial Bus

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

taffy
Download Presentation

USB – Universal Serial Bus

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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 Inhalt 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. 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. 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. 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. 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. 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-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 Michael Hentsche

  25. Danke für ihre Aufmerksamkeit! Michael Hentsche

More Related