USB 2.0 Highspeed an allen Ports

8

Gibt es einen USB 3.0-Host, der USB 2.0-Hochgeschwindigkeitsverbindungen an mehreren Ports gleichzeitig bereitstellen kann?

Um klar zu sein, frage ich, ob ein USB 3.0-Host seine 5 Gbit / s auf mehrere voll gesättigte USB 2.0-Hochgeschwindigkeitsgeräte aufteilen kann.

Cody Smith
quelle

Antworten:

7

Dies ist ein Missverständnis. Niemand "teilt" oder "verteilt" irgendetwas in der USB3-Architektur. USB2-Signale werden ausschließlich über den USB2 D + / D- Kanal übertragen, USB3-Signale über Tx / Rx-Paare. Ich denke, dieses Missverständnis kommt von der älteren und anderen USB2-Architektur, bei der Transaktionen mit voller und niedriger Geschwindigkeit (FS und LS) wirklich zwischen mehreren FS / LS-Verbindungen "aufgeteilt" werden können. In USB2 wurde diese Funktion über einen in jeden Hub eingebauten sogenannten " Transaction Translator " (TT) -Block implementiert . Und die HS-Bandbreite könnte nur dann zwischen FS-Geräten "aufgeteilt" werden, wenn mehrere TT ( MTT ) in den Hub integriert sind. Diese Art von Übersetzungsarchitektur ist in der Super-Speed ​​USB3-Architektur weder implementiert noch spezifiziert .

Wenn Sie vier USB2-Festplatten an einen Hub anschließen, erhalten alle VIER einen Gesamtdurchsatz von 35-40 MB / s pro Host oder einen nachhaltigen Durchsatz von 8-10 MB / s pro Laufwerk . Eine höhere USB3- "Bandbreite" hat nichts mit USB2-Transaktionen zu tun, absolut nichts (außer dass die xHCI USB3.0-Controller-Architektur beim Umgang mit Protokoll-Overhead möglicherweise etwas effizienter ist).

USB3.0-Hubs enthalten im Wesentlichen zwei Hubs, einen USB3- und einen älteren USB2-Hub. Sie funktionieren unabhängig voneinander. Sie leiten nur Downstream-Ports (Mux) an den einen oder anderen Hub-Controller um, wenn ein Gerät angeschlossen ist, oder arbeiten einfach parallel, wenn sich Hubs im Segment befinden.

Gleiches gilt für USB3.0-Hosts, die Architektur ist dieselbe und sie werden gleich genannt, außer dass es sich um einen "Root" -Hub handelt. Wenn Sie das Dienstprogramm USBview.exe erhalten, werden Sie feststellen, dass der xHCI-Root-Controller in ZWEI ROOT-HUBS, einen SS-USB3 und einen anderen USB2 verzweigt. Wenn Sie ein USB3.0-Gerät an den USB-Anschluss des Mainboards anschließen, wird es in den USB3-Bereich verschoben. Die logische Anschlussnummer lautet "1". Wenn Sie ein USB2-Gerät an denselben physischen Port anschließen , wird es an den USB 2-Zweig weitergeleitet, und sein logischer Port ist ungefähr "5", sodass die Gesamtbandbreite durch den entsprechenden Root-Hub-Abschnitt definiert wird. Niemand teilt die Super-Speed-Bandbreite mit High-Speed-Geräten, sie sind nahezu unabhängig.

Die Antwort auf die OP-Frage lautet also "NEIN".

Ale..chenski
quelle
1
Ich persönlich glaube, dass das Weglassen der SS-zu-HS-Übersetzung ein großes Versehen auf der Seite des USB-Leitungsgremiums ist. Es ist schwer zu erwarten, dass alle USB-Geräte in Zukunft SS sein werden, und alle aktuellen USB-Kabel müssen die alten D + / D- Kabel über alle Kabel führen, um alle diese Geräte zu unterstützen. Vielleicht wird sich das in Zukunft von USB ändern, ich weiß es nicht.
Ale..chenski
+1 Danke für diesen Augenöffner. Bedeutet dies, dass die USB 3.0- und USB 2.0-Pfade additiv sind? dh USB 3.0-Hub mit einem USB 3.0-Gerät, das die USB 3.0-Bandbreite überlastet. Können Sie dem Hub ein USB 2.0-Laufwerk hinzufügen, das weiterhin Zugriff auf die USB 2.0-Bandbreite hat?
Fixer1234
1
@ fixer1234, physisch ja, USB2-Pfad wird zum USB3-Pfad hinzugefügt. Ich bin mir jedoch nicht sicher, ob die Host-Controller-Architektur und der Softwaretreiber beide Pfade effektiv verwalten können. Dies hängt davon ab, wie viele unabhängige "Geräteschlitze" die Controller-DMA-Engine unterstützt. Das hängt von der Implementierung ab. Ich bin ein bisschen verschwommen bei INTEL / SYNOPSIS xHCI-Controller-Implementierungen. Vielleicht kann jemand anderes das klären.
Ale..chenski
Dies ist genau die Erklärung, nach der ich gesucht habe. Ich wusste die Antwort bereits, ich hoffte nur zu verstehen, warum.
Cody Smith
1

Ich habe eine ähnliche Frage getroffen, bin aber ohne Antwort migriert. Ich habe im Internet nachgeschlagen und hier eine Antwort gefunden:

Toms Hardware

Nach dieser Antwort können mehrere USB 2.0-Geräte auf USB 3.0-Hosts mit voller Geschwindigkeit ausgeführt werden. Wenn Ihr Experiment dieser Antwort widerspricht, lassen Sie es mich bitte wissen.

Aurus Huang
quelle
2
Der Klappentext auf Toms Hardvare ist völlig falsch. Siehe richtige Antwort.
Ale..chenski
Gibt es ein Experiment, das dieser Vorstellung entspricht, dass alle USB-Anschlüsse gleichzeitig mit HS-Bandbreite auf einem USB3-Host arbeiten?
Ale..chenski
0

Aus der XHCI-Spezifikation 4.6.15 Portbandbreite abrufen:

Ein xHC unterstützt möglicherweise mehrere USB-Businstanzen (BI), wobei jedes BI eine "Einheits" -Bandbreite mit der vom BI unterstützten Geschwindigkeit darstellt. Beachten Sie auch, dass einem einzelnen BI möglicherweise mehrere Root Hub-Ports zugewiesen sind.

Mit anderen Worten, ein bestimmter Controller funktioniert möglicherweise wie von @ Ale..chenski beschrieben, ist jedoch nicht erforderlich. Ich habe einen Desktop mit einer Zusatzkarte mit Renesas-Controller-Chip, auf der nur ein BI mit USB 2.0 HS-Bandbreite von vier Root-Hubs gemeinsam genutzt wird. Ich habe alle drei Webcams von diesem verkrüppelten Controller auf den integrierten Intel xHCI-Controller verschoben: Jetzt können alle drei gleichzeitig ausgeführt werden. Keine zwei Kameras können ein einziges BI gemeinsam nutzen, sodass der Intel-Controller über mindestens drei HS-BIs verfügt.

Staudenmensch
quelle