Der USB Standard: Technik, Geschwindigkeiten und Protokolle

Gesendet von Javi und eingeordnet in Elektronik

Geschrieben am in Deutsch mit einer Größe von 24,68 KB

1 Einführung

Die USB (Universal Serial Bus)-Schnittstelle ist eine Technologie zur Datenübertragung und Stromversorgung, die auf dem Markt für PCs und Peripheriegeräte eingeführt wurde, um die älteren seriellen (RS-232) und parallelen Schnittstellen zu verbessern. Die Schnittstelle besteht aus vier Leitungen, unterstützt unterschiedliche Arbeitsgeschwindigkeiten und ist „Plug-and-Play“, wobei in den meisten Fällen keine externe Stromversorgung erforderlich ist.

Der Universal Serial Bus ist ein serieller Bus, der den Anschluss von bis zu 127 Peripheriegeräten an einem einzigen Port eines PCs ermöglicht. Er bietet automatische Erkennung und Konfiguration, sobald die Geräte physisch verbunden sind, ohne zusätzliche Hardware oder Software zu benötigen, und erlaubt die Verbindung ohne Neustart des Computers. Er wurde von führenden Unternehmen der Telekommunikations- und Computerbranche entwickelt: Compaq, DEC, IBM, Intel, Microsoft, NEC und Northern Telecom.

2 Funktionen

Der USB-Bus unterstützt den gleichzeitigen Datenaustausch zwischen einem Host-Computer und einer Vielzahl von Peripheriegeräten. Alle Peripheriegeräte teilen sich die Bandbreite des Busses über ein Token-Passing-Protokoll (Token). Der Computer gibt das Token an das ausgewählte Peripheriegerät, das dann in seiner Antwort das Token zurückgibt. Dadurch können Geräte vom Bus getrennt oder angeschlossen werden, ohne dass andere Geräte getrennt werden müssen.

Da alle Peripheriegeräte den Bus gemeinsam nutzen und Informationen jederzeit gleichzeitig übertragen werden können, wird diese in Pakete aufgeteilt. Jeder Paket-Header enthält eine Kennung, die das Ziel angibt. Pakete werden mit einem System zur Fehlererkennung und -behebung, das auf einer CRC-Prüfsumme basiert, gesichert.

2.1 Geschwindigkeiten

USB-Geräte werden je nach Übertragungsrate in vier Kategorien eingeteilt:

  • Low-Speed (USB 1.0): Hat eine Übertragungsrate von bis zu 1,5 Mbit/s (192 KB/s). Wird hauptsächlich für Human Interface Devices (HID) wie Tastaturen, Mäuse und Joysticks verwendet (wird immer noch verwendet, da billiger).
  • Full Speed (USB 1.1): Übertragungsrate bis zu 12 Mbit/s (1,5 MB/s). Dies war der Standard, bevor die USB 2.0 Spezifikation eingeführt wurde. Diese Geräte teilen sich die Bandbreite der USB-Verbindung basierend auf einem Algorithmus für FIFO-Puffer.
  • High Speed (USB 2.0): Übertragungsrate bis zu 480 Mbit/s (60 MB/s).
  • Super Speed (USB 3.0): Befindet sich derzeit in der letzten Entwicklungsphase und erreicht eine Datenübertragungsrate von bis zu 4,8 Gbit/s (600 MB/s). Die Bus-Geschwindigkeit ist zehnmal schneller als USB 2.0. Dies wird durch zusätzliche Datenleitungen erreicht, die eine parallele Übertragung ermöglichen und gleichzeitig die Abwärtskompatibilität zu früheren Standards gewährleisten.

2.2 Physikalische Schnittstelle

USB definiert zwei Datenleitungen (D+ und D-) und zwei weitere für die Stromversorgung (VBus und GND), wodurch in vielen Fällen der Einsatz einer externen Stromversorgung vermieden wird. Für die Datenübertragung wird der NRZI-Algorithmus (Non Return to Zero Inverted) verwendet.

Die USB-Signalübertragung erfolgt über eine 4-adrige Leitung. Für Übertragungsraten von 12 Mbit/s oder höher wird ein geschirmtes Kabel verwendet, für 1,5 Mbit/s ein ungeschirmtes.

Bei geschirmten Kabeln bilden die Datenleitungen ein Twisted Pair, während die Leitungen für Masse (GND) und Stromversorgung (VBus) gerade verlaufen. Bei ungeschirmten Kabeln verlaufen alle Leitungen gerade.

Auf der elektrischen Ebene erfolgt die USB-Signalübertragung über 4 Leitungen.

Z

In Bezug auf die Leistung bietet das Kabel eine Nennspannung von 5 V. Es ist wichtig, den Drahtdurchmesser zu berücksichtigen, um einen zu hohen Spannungsabfall auf dem Kabel zu vermeiden. Ein Abschlusswiderstand auf den Datenleitungen dient zur Erkennung und Konfiguration des Ports und der Geschwindigkeitseinstellungen.

Auf Signalebene gibt es eine charakteristische Impedanz von 90 Ohm. Die Empfindlichkeit des Empfängers beträgt mindestens 200 mV und er ist in der Lage, eine hohe Gleichtaktunterdrückung zu gewährleisten. Der Takt wird im Datenfluss über die NRZI-Codierung übertragen. Dabei wird Bit-Stuffing verwendet, um sicherzustellen, dass die Taktfrequenz konstant bleibt. Jedem Paket geht ein Synchronisationsfeld voraus.

2.3 Anschlussarten

In Bezug auf die Anschlüsse können je nach Gerätetyp zwei Hauptvarianten gefunden werden: Typ A und Typ B.

Typ A-Stecker

Rechteckig, in der Regel für Geräte, die keine hohe Bandbreite benötigen (z. B. Tastaturen, Mäuse, Webcams etc.) verwendet.

Typ B-Stecker

Die als Typ B bekannten Anschlüsse haben eine quadratische Form und werden vor allem für High-Speed-Geräte (externe Festplatten etc.) verwendet.

emV1NuK + OcbEz9uze6e6v5UpqnrdcbJVIeVNVKYWiul4wdTHVbWSGFqrZSOH0x1WFkjham1Ujp + MNVhZY0UptZK6fjBVIeVNVKYWiul4wdTHVbWSGFqrZSOH0x1WFkjham1Ujp + + MNVhZY0UptZK6fjBVIeVNVKYWiul47cnpoe92Df9h9SsrpQ8TwAAAABJRU5ErkJggg == MNVhZY0UptZK6fjBVIeVNVKYWiul4wdTHVbWSGFqrZSOH0x1WFkjham1Ujp

y3bA + IL8y5CcqAKSi2LopA2yqRU6sDCAVxdZNGWBTLXJiZQCpKLZuJ2DgcnD5B1wtrgqJniN6AAAAAElFTkSuQmCC

Typ A und Typ B

3 USB Übertragungsprotokoll

Alle USB-Geräte bestehen aus einer Reihe von Endpunkten und erhalten eine eindeutige Adresse vom Host-System zugewiesen. Ein Endpunkt ist ein Puffer innerhalb des Geräts, der Daten speichert. Jeder Endpunkt hat eine eindeutige Kennung, die einer bestimmten Funktion und Richtung des Datenflusses zugeordnet ist. Alle Geräte müssen Endpunkt 0 besitzen, der für die Konfiguration verwendet wird.

Verbindungen zwischen den verschiedenen Endpunkten eines Geräts und dem Host werden als Pipes bezeichnet. Pipes ermöglichen die Datenübertragung zwischen der Host-Software und den Geräte-Endpunkten. Jede Pipe wird durch die Art des Dienstes, Endpunkt-Nummer, Paketgröße, Adresse etc. bestimmt.

Es gibt 4 verschiedene Arten von Endpunkten (Control, Bulk, Isochronous und Interrupt). Jeder Typ wird für eine bestimmte Art der Übertragung verwendet und bildet entsprechende Verbindungen (Pipes) zwischen den Endpunkten:

  • Control Pipe oder Nachricht: Es ist ein bidirektionaler Kommunikationskanal zwischen zwei Control-Endpunkten (einem Eingang und einem Ausgang). Alle Geräte verfügen über zwei Control-Endpunkte an Adresse 0, bevor das Gerät konfiguriert werden kann. Über diesen Endpunkt kann der Host Informationen über das USB-Gerät lesen, bevor die eigentliche Datenübertragung beginnt.
  • Stream Pipe: Ein unidirektionaler Kommunikationskanal zwischen dem Host-System und Endpunkten der Typen Bulk, Isochronous und Interrupt.

Die Übertragungen können je nach Endpunkttyp wie folgt klassifiziert werden:

Control-Übertragung: Modus zur Konfiguration

Verwendet immer Endpunkt 0. Alle USB-Geräte müssen diesen Übertragungstyp unterstützen.

Control-Daten dienen zur Konfiguration des Peripheriegeräts, wenn es an USB angeschlossen wird. Einige spezielle Treiber können diese Verbindung nutzen, um eigene Kontrollinformationen zu übertragen.

Bei dieser Verbindung gehen keine Daten verloren, da die Geräte aktiv Fehler erkennen und beheben.

Isochrone Übertragungen

Modus für die Übertragung von Audio oder Video in Echtzeit verwendet. Diese Art der Übertragung arbeitet in Echtzeit. Dies ist der Modus mit der höchsten Priorität.

Nur High-Speed- und Full-Speed-Geräte können isochrone Endpunkte unterstützen.

Sprachübertragung ist ein Beispiel für diese Anwendung. Wenn die Übertragung nicht korrekt erfolgt, können Störungen (Glitches) auftreten und die Anwendung kann Fehler wie Underruns erkennen.

Interrupt-Übertragung

Modus für die schnelle Übertragung kleiner Datenpakete, z. B. für Eingabegeräte (Mauszeiger).

Diese Art der Übertragung wird für Geräte verwendet, die regelmäßig Aufmerksamkeit benötigen, insbesondere Low-Speed-Geräte.

Diese Art der Übertragung gewährleistet die Übertragung kleiner Datenmengen. Die Reaktionszeit kann nicht kürzer sein als der von der Schnittstelle angegebene Wert. Eine Maus oder ein anderes Zeigegerät ist eine typische Anwendung dieser Übertragungsart.

Bulk-Übertragungen

Dieser Modus wird für die Übertragung großer Datenmengen verwendet. Wie bei der Control-Übertragung gehen bei dieser Verbindung keine Daten verloren. Diese Art der Übertragung ist nützlich, wenn die Übertragungsrate nicht kritisch ist, z. B. beim Senden einer Datei zum Drucken oder Empfangen von Daten von einem Scanner.

Bei diesen Anwendungen ist die Übertragung schnell, aber es kann zu Wartezeiten kommen, wenn das Gerät beschäftigt ist. Nur Full-Speed- und High-Speed-Geräte können diese Art der Übertragung verwenden.

Enumeration (Geräteerkennung)

Wenn Sie ein USB-Gerät an den PC anschließen, erfolgt der Prozess der Enumeration. Dabei erkennt der Host das Gerät und ermittelt dessen Parameter, wie zum Beispiel:

  • Leistungsaufnahme (in Ladeeinheiten ausgedrückt)
  • Anzahl und Typen der Endpunkte
  • Größe und Geräteklasse
  • Übertragungstyp
  • Zweck der Control-Endpunkte usw.

Die Enumeration wird vom Host initialisiert, sobald ein neues Gerät am Bus erkannt wird. Der Host weist dem Gerät eine Adresse zu, ermöglicht die Konfiguration und erlaubt anschließend die Datenübertragung.

Verwandte Einträge: