Der Controller ist ein Microchip LAN9512 und der Grund, warum er anstelle von z. B. einer Reihe unabhängiger Controller verwendet wird, ist vermutlich:
Preis. Hier ist ein Beispiel dafür, wo Sie 100 Stück zu je 5 US-Dollar kaufen können.
Formfaktor. Sie erinnern sich vielleicht daran, dass der Raspberry Pi als "Computer in Kreditkartengröße" oder "Computer, der in Ihre Handfläche passt" vermarktet oder als "ein weiteres Mini-ITX-System" oder "ein Computer, der dies tut" vermarktet wurde passt unter einen großen Hut "usw.
Leistung. Ein Blick auf die erste Seite des Datenblattes (über den Microchip-Link zugänglich) "implementiert Betriebsarten mit reduzierter Leistung" wird als eine der "Funktionen" erwähnt. Man müsste tiefer graben, um herauszufinden, was das wirklich im Vergleich bedeutet, aber zumindest oberflächlich betrachtet macht es Sinn.
Denken Sie daran, der Pi kostet ~ 35 $ im Einzelhandel. Nicht $ 135 oder $ 350. Das ist also die Antwort auf die wörtliche Frage in Ihrem Titel: "Warum teilen sich die USB-Anschlüsse und der Ethernet-Anschluss denselben Controller?" .
Beachten Sie, dass es nicht ungewöhnlich ist, dass mehrere USB-Anschlüsse denselben Bus gemeinsam nutzen - dies ist wahrscheinlich die Norm. Ich stelle fest, dass der Laptop, auf dem ich mich befinde, jetzt 3 USB-Anschlüsse hat, aber lsusb
nur zwei 2.0 "Full Speed" -Hubs meldet. Mindestens zwei dieser Ports teilen sich einen Hub und sie erhalten nicht beide gleichzeitig "volle Geschwindigkeit". Ich bin sicher, wenn Sie Ihr aktuelles System überprüfen, ist es ähnlich aufgebaut.
Die Kombination des Ethernet mit diesem ist ungewöhnlich, aber es ist erwähnenswert, dass USB 2.0 480 Mbit / s bereitstellen sollte, während die 10/100-Ethernet-Verbindung höchstens 100 davon erfordern würde.
Wikipedia stellt unter Berufung auf die Spezifikation als Quelle fest, dass "aufgrund von Buszugriffsbeschränkungen der effektive Durchsatz der Hochgeschwindigkeitssignalisierungsrate auf 280 Mbit / s oder 35 MB / s begrenzt ist"; Ob dies pro Hafen oder für den gesamten Bus bedeutet, ist unklar.
Inwiefern wird die Datenübertragung verlangsamt?
Offensichtlich werden Sie nicht mehr als 480 Mbit / s insgesamt erhalten, und Sie werden wahrscheinlich nicht mehr als 280 Mbit / s erhalten. Persönlich habe ich noch nie Berichte über einen Pi gesehen oder gehört, der eine Übertragung von mehr als 10 MB / s vom lokalen Ethernet auf einen USB-Anschluss ermöglicht Laufwerk (dh 80 Mbit / s) konsistent für normale Zwecke. Diese Zahl ist jedoch, nachdem die Protokolle selbst verarbeitet wurden, wodurch eine Variable hinzugefügt wird, aber ich denke, ein kleiner Prozentsatz - bei Ethernet kann sie je nach Topologie und Aktivität des verbundenen Netzwerks stark variieren.
Gibt es eine Problemumgehung für dieses Problem?
Wenn Sie meinen, kann ich mehr Wasser durch ein Rohr drücken, als das Rohr enthalten soll, dann nein, oder kann ich eine Pumpe schneller arbeiten lassen oder eine Kombination oder die beiden wieder, nein. Wenn Sie eine schnellere Pumpe oder ein größeres Rohr benötigen, kaufen Sie eine schnellere Pumpe und ein größeres Rohr.