Gibt es ein aktuelles USB-Kommunikationsprotokoll?

Jan 29, 2025
Hardware
UNCACHED INHALT

Die meisten von uns denken nie viel über ihre USB-Geräte nach, wir schließen sie einfach an und vergessen sie. Aber was ist, wenn Sie der neugierige Typ sind, der mehr über die Funktionsweise von USB erfahren möchte? Der heutige SuperUser Q & A-Beitrag enthält Antworten auf die Fragen eines neugierigen Lesers.

Die heutige Frage-Antwort-Sitzung wird uns mit freundlicher Genehmigung von SuperUser zur Verfügung gestellt - einer Unterteilung von Stack Exchange, einer Community-gesteuerten Gruppierung von Q & A-Websites.

Foto mit freundlicher Genehmigung von Evilelka Kowalski (Flickr) .

Die Frage

SuperUser Reader smeeb möchte wissen, ob es tatsächlich ein USB-Kommunikationsprotokoll gibt:

Laut Wikipedia USB :

  • Definiert die Kabel, Anschlüsse und Kommunikationsprotokolle, die in einem Bus für die Verbindung, Kommunikation und Stromversorgung zwischen Computern und elektronischen Geräten verwendet werden.

Aber gibt es eine tatsächliche USB-Kommunikationsprotokoll ? Mein Verständnis ist das:

  1. Sie schließen ein USB-Gerät an einen Computer an (z. B. Ubuntu oder Linux).
  2. Linux findet den Gerätetreiber für dieses Gerät irgendwie ( Bonus, wenn Sie wissen! ) und lädt es.
  3. Das Gerät ist jetzt unter angeschlossen / dev / theDevice .
  4. User Space Apps können jetzt lesen und schreiben / dev / theDevice und der Treiber verarbeitet die Eingabe und Ausgabe auf niedriger Ebene für das zugrunde liegende Gerät / die zugrunde liegende Hardware.

Soweit ich das beurteilen kann, a USB-Kommunikationsprotokoll erscheint nirgendwo in diesem Fluss. Wenn ich das richtig verstehe, ist der USB nur das Kabel und die elektrische Verbindung zwischen dem PC und dem Gerät.

Liege ich hier falsch Implementiert USB tatsächlich ein Low-Level-Protokoll, das den obigen Ablauf unterstreicht? Wenn ja, was ist das und wie funktioniert es bei einer Sicht von 30.000 Fuß?

Gibt es ein aktuelles USB-Kommunikationsprotokoll?

Die Antwort

Die SuperUser-Mitwirkenden RedGrittyBrick und projectdp haben die Antwort für uns. Zuerst RedGrittyBrick:

Ja ( Siehe USB-Protokolle ).

Soweit ich weiß, definiert die USB-Spezifikation einen komplexen Satz geschichteter Protokolle und Geräteprofile.

Beispielsweise können USB-Geräte Vorlagen auf hoher Ebene wie Massenspeicher, Tastatur, Benutzeroberflächengerät usw. entsprechen und von einem generischen Gerätetreiber verwaltet werden. Einige USB-Geräte können auf einer niedrigeren Ebene kommunizieren, sodass die USB-Unterstützung des Betriebssystems auf niedriger Ebene erkennen kann, dass gerätespezifische Treiber auf höherer Ebene benötigt werden.

Gefolgt von der Antwort von projectdp:

Frage

Gibt es ein Low-Level-USB-Kommunikationsprotokoll in Aktion und was ist das?

Antworten

Ja da ist. Die USB-Spezifikation enthält das USB-Protokoll, das die Art und Weise definiert, wie der Bus auf Bitebene verwendet wird. Dies wäre das Protokoll auf niedriger Ebene, das den Protokollen auf höherer Ebene zugrunde liegt (d. H. Massenspeicher, HID usw.).

Einzelheiten zur Funktionsweise des USB-Protokolls finden Sie hier OSDev-Wiki ist hilfreich. Hier ist noch einer interessante Beschreibung Verwenden von Sequenzdiagrammen zur Beschreibung der verschiedenen Datentransaktionen gemäß dem USB-Protokoll.

Bonus-Frage

Wie findet und lädt Linux den Gerätetreiber für dieses Gerät?

Bonusantwort

Unter Linux wird bei Verwendung eines USB-fähigen Kernels aufgrund der USB-Spezifikation ein funktionierendes USB-Gerät über die Hardware und den Kernel erkannt. Auf der Hardwareseite erfolgt die Erkennung durch den USB-Host-Controller. Dann übernimmt der Host-Controller-Treiber im Kernel und übersetzt die Low-Level-Bits auf dem Kabel in Informationen, die mit dem USB-Protokoll formatiert sind. Diese Informationen werden dann im usbcore-Treiber im Kernel ausgefüllt.

Ich habe dies ausgezeichnet umschrieben Opensourceforu article , die viel detaillierter und klarer über Ihre Frage im Linux-Kontext ist.

Schauen Sie sich den Rest der lebhaften Diskussion über den unten angegebenen Thread-Link an!


Haben Sie der Erklärung etwas hinzuzufügen? Ton aus in den Kommentaren. Möchten Sie weitere Antworten von anderen technisch versierten Stack Exchange-Benutzern lesen? Den vollständigen Diskussionsthread finden Sie hier .

.eintragsinhalt .Eintrittsfußzeile

USB Protocol

What Is HART Protocol?

How To Reverse Engineer A USB Protocol For Linux

Fun And Easy USB - How The USB Protocol Works

HTC Vive USB Protocol Reverse Engineering

Dmitriy Kostiuk | How To Get Yourself Into The Usb Protocol Without Pain

What Is The USB Type-C Signal Plan? How Does Orientation Independence Happen?

About The Data Center 3.0, A Protocol Analysis Software For USB, I2C, And SPI

What Is RS232 And What Is It Used For?


Hardware - Die beliebtesten Artikel

So verbinden Sie Automatic Pro mit Alexa und sprechen mit Ihrem Auto

Hardware Jun 20, 2025

UNCACHED INHALT Die meisten von uns haben keine selbstfahrende Autos noch, aber wir können noch in der Zukunft leben. Mit einem Automatischer Pro OBD-II Ad..


So verwenden Sie die Menüleiste Ihres Mac, ohne die Maus zu berühren

Hardware Mar 10, 2025

Wenn Sie wie ich sind, versuchen Sie, die Verwendung Ihrer Maus nach Möglichkeit zu vermeiden. Nichts gegen die Maus, es ist nur so, dass das Bewegen der Finger von den Tasten dazu..


So verwenden Sie Ethernet mit Ihrem Chromecast für schnelles und zuverlässiges Streaming

Hardware Mar 3, 2025

UNCACHED INHALT Der Chromecast ist ein ziemlich tolles kleines Streaming-Gerät, aber wenn Sie über schlechtes WLAN (oder überhaupt kein WLAN) verfügen, werden Sie eine wirklic..


Sieben nützliche Chromebook-Tricks, die Sie kennen sollten

Hardware Jul 11, 2025

Chromebooks aren’t like traditional laptops . Sie sind zwar viel einfacher, bieten jedoch verschiedene nützliche Funktionen, die Sie möglicherweise nicht kennen. Mit..


So schalten Sie Ihre Nest-Kamera automatisch ein und aus

Hardware Feb 14, 2025

UNCACHED INHALT Wenn Sie haben Nest bewusst Auf Ihrer Nest Cam eingerichtet, kann sie rund um die Uhr Videos aufnehmen. Dies kann jedoch schnell Ihre Bandbreite und..


So stellen Sie sicher, dass das Amazon Echo nach einer bestimmten Zeit keine Musik mehr abspielt

Hardware Jul 12, 2025

Unabhängig davon, ob Sie Musik hören möchten, während Sie einschlafen, oder sich nicht die Mühe machen möchten, sie manuell auszuschalten, wenn Sie fertig sind, verfügt das A..


So verwenden Sie die Maus, um sich in Windows 8 fortzubewegen

Hardware Mar 9, 2025

UNCACHED INHALT Windows 8 wurde klar mit Blick auf Touchscreens entwickelt. Die Verwendung von Windows 8 mit der Maus kann zunächst verwirrend sein - viele der bewährten Windows..


So übertragen Sie Ihre iTunes-Sammlung von einem Computer auf einen anderen

Hardware Sep 9, 2025

UNCACHED INHALT Wenn Sie ein iTunes-Benutzer sind und einen neuen Computer erhalten möchten, möchten Sie wahrscheinlich alle Ihre Inhalte darauf übertragen. Hier zeigen wir Ihnen einige ..


Kategorien