Woher weiß der Computer was am USB Anschluss angeschlossen ist?

5 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Der erste Schritt geschieht noch ganz ohne Datenübertragung: Wenn ein USB-Gerät an den PC angeschlossen wird, ändert es die Spannung an den Datenleitungen des USB-Anschlusses. Das kann auch durch einen fest verlöteten Widerstand auf dem Gerät geschehen.

Der Computer merkt nun, dass da etwas angeschlossen wurde und beginnt mit der "Enummeration". Dabei baut er eine Kommunikation mit dem Gerät auf und fragt die Eigenschaften ab. Wichtig sind hier: Gerätetyp, Hersteller-ID (vid) und Produkt-ID (PID). Streng genommen muss jeder Hersteller eine Hersteller-ID und mindestens eine Produkt-ID kaufen.

Für manche Geräte-Typen (wie Tastatur, Maus...) ist Kommunikation standardisiert, für andere kann der Hersteller grob aus verschiedenen Rahmen-Strukturen wählen und den Inhalt nach Belieben definieren. Dann braucht das Gerät aber einen eigenen Treiber.

Das USB-Gerät sendet nie von sich aus Daten. Es wartet immer, bis es vom Computer abgefragt wird. Bei Tastatur und Maus fragt z.B. der Computer in regelmäßigen Abständen, ob es etwas neues gibt. Wenn das Gerät "Ja" antwortet, fragt der Computer weiter.

Von julihan41 und bestätigt

Jedes USB Gerät kann mehrere sogenannte Endpoints zur Kommunikation bereitstellen, muss aber immer einen Endpoint 0 bereitstellen, über welchen der USB Host bzw. das Betriebssystem die Eigenschaften des USB Gerätes abfragen kann.

Da wird zuerst mal die Klasse (HID (Human Interface, also Tastatur/Maus), Bilder (Kamera/Scanner), Drucker, Hub, etc.) übermittelt, dann ein Code für den Hersteller und das Gerät selbst. Eine Kurzbezeichnung des Geräts steht da auch oft drin. Außerdem noch Details wie Übertragungsgeschwindigkeit, Stromverbrauch, etc.

Liste der Geräteklassen ist in Wikipedia.

Je nach Geräteklasse, Hersteller und Typ entscheidet dann des Betriebssystem, welcher Treiber verwendet wird und wie das Gerät anzusteuern ist.

Woher ich das weiß:Studium / Ausbildung – Informatiker

Anders kann es ja nicht sein oder?

Sendet das angeschlossene Gerät erstmal ein paar Bits in denen es den Computer mitteilt was es ist?

Die Geräte senden Daten. Bei einer Tastatur eben Buchstaben und Zahlen. Schließt du eine Camera an, emfängt der PC Bildmaterial.

Stelle dir das USB als Glas vor. Da kannst du Bier, Milch, Sekt, Softdrinks (oder Pipi) reintun. Das merkst du, wenn du daran nippst.

USB Geräte identifizieren sich eindeutig beim Betriebssystem, falls es kein Standard Gerät ist, muss ein eigener Treiber her.

Woher ich das weiß:Studium / Ausbildung – Masterstudium Elektrotechnik - Schwerpunkt Embedded Systems

Ja, angeschlossene Geräte senden eine Gerätekennung und das Betriebssystem versteht diese.


NoayHD 
Fragesteller
 10.05.2024, 23:45

Und hat da jedes Produkt seine eigene Gerätekennung oder sind die eingeteilt nach Kategorien?

0
PaterAlfonso  10.05.2024, 23:46
@NoayHD

Etwas Nachdenken über die Vielzahl möglicher Geräte, die man anschließen könnte, und die Frage beantwortet sich quasi von selbst.

0