unterschiedliche USB-Geschwindigkeiten auf verschiedenen Chips

Ich habe einen USB-zu-Ethernet-Chip (USB 2.0 480 Mb/s) und einen Mikrocontroller (MSP430F550x-Familie, Full-Speed-USB 12 Mb/s), der an einen USB-Hub (USB 2.0 480 Mb/s) angeschlossen ist.

Wie würde ich diese zusammen arbeiten lassen? Wird der USB-Hub mit der langsamsten Geschwindigkeit betrieben, was wäre der Mikrocontroller? Gibt es eine Möglichkeit, dass alles mit 480 Mb/s zusammenarbeitet?

Vielen Dank im Voraus für Ihre Hilfe!

Antworten (3)

Das USB-Protokoll löst das Geschwindigkeitsproblem für Sie, das schnellere Element (USB-Ethernet-Chip oder HUB) verwendet das langsamere Protokoll (weil das schnellere Protokoll das langsamere Protokoll als erforderlichen Fallback „enthält“).

Ihr eigentliches Problem wird die Treibersoftware sein: Haben Sie einen Treiber für diesen USB-Ethernet-Chip, der auf Ihrem MSP uC ausgeführt werden kann?

Sofern ich nicht das falsche Dokument lese (möglicherweise), hat die MSP430F550x-Familie keine USB-Host-Schnittstelle, sondern nur ein USB-Gerät.

Daher scheint es, dass sowohl dieser Prozessor als auch Ihre Ethernet-Schnittstelle an nachgelagerte Hub-Ports angeschlossen sind und etwas anderes wie ein PC oder ein leistungsstärkerer Mikrocontroller als ultimatives Host-Gerät vorgeschaltet ist.

Unter der Annahme, dass das Upstream-Gerät und der Hub USB2 unterstützen, könnte der Ethernet-Adapter dies nutzen, während der für Ihr Mikro bestimmte Datenverkehr mit der langsameren USB-Vollgeschwindigkeit gesendet würde. Es würde keine Kommunikation zwischen den beiden Geräten geben, abgesehen von Übertragungen zwischen ihnen, die durch den endgültigen Host in der Software durchgeführt werden.

Sie haben Recht, der Mikrocontroller wäre ein USB-Gerät und der PC wäre der Host. Da das Datenblatt USB-Eingangs- und -Ausgangsports zeigt, bedeutet dies, dass der Mikrocontroller über USB kommunizieren kann, oder?
Mit dem PC, wenn Sie die Software richtig verstehen, ja

Ich habe festgestellt, dass der von mir verwendete USB-Hub-Chip über Transaktionsübersetzer (TT) verfügt, die im Wesentlichen das langsamste Gerät beschleunigen, um es an die Geschwindigkeit des Hosts anzupassen. Wenn der Host in meinem Fall ein PC mit USB 2.0 wäre, müsste ich mir beispielsweise keine Sorgen machen, dass der Mikrocontroller langsamer ist.