Was genau sind die Unterschiede zwischen einem USB-Host und einem Gerät?

Stieß auf einige Zweifel:

  1. Was genau sind die Unterschiede zwischen einem USB-Host und einem Gerät? Ist es nur der, der den Bus antreibt?
  2. Wenn zwei Geräte eine Verbindung herstellen, sagt das Gerät "Hey, ich werde der Host sein und Sie das Gerät?"
  3. Kann ein Gerät sowohl als Host als auch als Gerät fungieren. Beispielsweise soll "A" als Gerät fungieren, wenn ein USB-Host angeschlossen ist, und "A" als Host fungieren, wenn ein USB-Gerät angeschlossen ist?
Dies wird direkt und klar genau dort beantwortet, wo Sie es erwarten würden, nämlich in der USB-Spezifikation oder sogar in den meisten einführenden Informationen zu USB. -1
Ich würde empfehlen, dass Sie Jan Axelsons „USB Complete“ lesen. Es ist ein wahres Juwel zu diesem Thema.
@OlinLathrop Ihr ​​Kommentar ist nicht hilfreich. Die USB-Spezifikation ist 75 MiB groß und besteht aus 43 PDF-Dateien mit insgesamt 2984 Seiten.
@Stép: Die USB-Spezifikation hat auch ein Inhaltsverzeichnis, und selbst die früheren und kleineren Spezifikationen beantworten diese Fragen. Diese Fragen sind sehr grundlegend und zeigen einen völligen Mangel an Versuchen, Antworten zu finden.
@OlinLathrop Mein Versuch, mit Google die Antwort auf genau diese Fragen zu finden, hat mich zu dieser Frage geführt. Dies war das beste Google-Suchergebnis. Kam hierher und sah die Empfehlung, fast 3000 Seiten zu lesen/durchzusuchen! Deshalb sagte ich, dass der Kommentar nicht sehr hilfreich war.
Ich wollte mich nur bei @quantum231 dafür bedanken, dass er mich auf das Buch von Jan Axelson verwiesen hat. Ich habe einen Auszug auf ihrer Website gelesen und mich sofort für den Kauf entschieden, bis ich herausfand, dass die neueste Ausgabe ~ 40 US-Dollar kostet ... Aber ich brauchte nicht wirklich die neuesten Spezifikationen mit 3.1 und USB-C, also habe ich mir einfach eine gebrauchte geholt vierte Ausgabe Taschenbuch für 14 Dollar, es ist aktuell genug für mich, enthält USB 3.0 und USB OTG, das das Protokoll vorschreibt, wenn ein Host auch ein Gerät sein kann und umgekehrt, was diese Frage beantworten würde. Ich weiß, dass das OP Jahre her ist, wollte aber nur erwähnen, dass ich das Referenzmaterial als nützlich empfand.
Ein guter und lesenswerter Artikel: cdn-learn.adafruit.com/downloads/pdf/…

Antworten (2)

Was genau sind die Unterschiede zwischen einem USB-Host und einem Gerät?

Der Host initiiert die gesamte Kommunikation auf dem Bus, das Gerät antwortet nur auf Anfrage des Hosts. Einzelheiten finden Sie in den Spezifikationen auf usb.org .

Wenn sich zwei Geräte verbinden, [...]

Einer muss sich als Host und der andere als Gerät verhalten. Details finden Sie in den USB-OTG-Spezifikationen.

Kann ein Gerät sowohl als Host als auch als Gerät fungieren?

Beispielsweise können viele Android-Telefone und -Tablets (erfordert Android 3+). Die „Magie“ steckt im On-the-Go-Kabel/Adapter, das das Telefon in den Host-Modus schaltet, indem es den ID-Pin auf GND zieht.

USB-OTG-Spezifikationslink funktioniert nicht
Deeplink entfernt

Genau wie Stéphane bin ich wegen der Antwort hierher gekommen. Was ich hier nicht gefunden habe! Mit ein wenig Recherche habe ich das gefunden.

Mit einem Host-Controller können Sie mit allen USB-Geräten kommunizieren, und mit einem USB-Geräte-Controller können Sie nur mit einem Host-Controller kommunizieren.

USB-Host ist in den meisten Fällen der USB auf der PC-Seite und USB-Gerät ist der USB in Ihrer Maus, Tastatur, Flash-Speicher usw.

Alle USB-Transaktionen werden vom Host verwaltet. und das Gerät antwortet nur auf die Host-Transaktionen.

Ich hoffe, das hilft.

Es ist nicht klar, was Sie hinzufügen, was nicht schon vor Jahren gesagt wurde.
Er gab eine etwas gründlichere Antwort mit konkreten Beispielen, anstatt Sie auf die erste Seite eines langen und komplexen Dokuments zu schicken. Die gewählte Antwort hätte es zumindest besser auf den Punkt bringen können