Hallo zusammen, für ein Projekt benötige ich einen USB-Schalter, der einen USB-Stick zwischen zwei USB-Lesern umschaltet. Dafür habe ich den FSUSB30mux gewählt und eine Platine dafür entworfen und gelötet (Bilder und Schaltung oben), aber es funktioniert leider nicht, der FSUSB30 schaltet nicht, und lässt kein USB-Datensignal durch, egal was ich versuche. Es soll umschalten, wenn an dem Vin Pin Strom anliegt. Kann mir da jemand helfen? Vielen Dank
Apti schrieb: > USB-Lesern Was ist das? Sollen das 2 USB Hosts sein? Zeig den Aufbau Sehr wahrscheinlich sind D+ und D- auf den Hostseiten vertauscht. Der Stick und der Umschalter sind wohl USB HiSpeed. Auch wenn das im allg. nicht so kritisch ist sollten die USB Leitungspaare etwa gleich lang sein. Bei dir gehen die teilweise einmal über die halbe Leiterplatte
:
Bearbeitet durch User
Braucht der Stick nicht einen Power-Cycle, um sich wieder beim Host anzumelden? Und das Layout ist auch... abenteuerlich...
Mal an eine Linux Kiste angesteckt? Linux dmesg Kommando kann Dir anzeigen ob ein Gerät sich als "Full/High Speed" oder "Low speed" anmeldet - letzteres macht es wenn D+ und D- vertauscht sind.
Hab jetzt ein Problem gefunden: Der Switch-Pin wurde mit 5V-Level benutzt, aber der FSUSB30 läuft mit 3,3V...der wurde dann gebraten. Das Umschalten geht aber jetzt mit einem neuen Chip, aber der USB-Stick wird vom zweiten Host, einem PC, nicht erkannt.
Jim M. schrieb: > Linux dmesg Kommando kann Dir anzeigen Das kann der USB Tree Viewer von Uwe Sieber auch, nur dafür muss man nicht eigens ein Linux hervorkramen (wenn man nicht eh' schon eines verwendet). https://www.uwe-sieber.de/usbtreeview.html Das Ding zeigt einem auch schön die Devicedeskriptoren enumerierter Geräte an.
:
Bearbeitet durch User
Apti schrieb: > aber der USB-Stick wird > vom zweiten Host, einem PC, nicht erkannt. Du must auch VBus schalten damit der Connect funktioniert
Die Platine funktioniert wie sie sollte mit einem USB-Stick an einem Host (DFPlayer), aber nicht an einem PC, mit einer Maus geht es aber schon... Kann das an meinem "kreativen" Layout liegen, da der DFPlayer und die Maus viel langsamer sind als ein PC mit einem USB-Stick?
Apti schrieb: > Soll ich die Platine noch mal neu designen? Schadet auf jeden Fall nicht. Und schau dir mal an, wie man USB-Leitungen und auch Power-Leiterbahnen routet. Es muss ja nicht perfekt sein, aber je besser du es machst, desto stabiler läuft es.
Du solltest dir noch was überlegen, wie du beim Umschalten die +5V für den Stick kurz unterbrechen kannst. Je nach Firmware Implementierung brauchen die das um das Anstecken korrekt zu erkennen.
Das Board funktioniert jetzt, es lag an meinem Breadboard, was ich verwendet habe. Problem ist jetzt, dass wenn ich an die selbe USB-Leitung einem Akkulader, den ich benötige, der dabei laden soll, funktioniert das nicht mehr ganz zuverlässig und die Spannung sinkt auf 4,3V, es lädt aber. Wenn ich zuerst den USB-Schalter anschließe und dann den Akkulader, funktioniert es, aber die Spannung ist trotzdem nur 4,3V... Hat irgendjemand eine Idee, was das sein könnte?
Ich habe das vor den Dioden gemessen, ein anderes Messgerät zeigt 4,8V an, kann es sein, dass der USB-Stick sich zuerst anmelden muss und dann mehr Strom ziehen darf?
Apti schrieb: > kann es sein, dass der USB-Stick sich zuerst anmelden muss und dann > mehr Strom ziehen darf? Genau so funktioniert USB. Standard sind 500mA bei 2.0, mehr muss ausgehandelt werden.
Sebastian R. schrieb: > Standard sind 500mA falsch normal sind 100mA max bis zum SetConfigure Befehl danach max 500 mA (USB 2.0) 900 mA bei USB3.0
Kann man aus einer USB-C-Buchse unangemeldet mehr Strom ziehen?
Apti schrieb: > Kann man aus einer USB-C-Buchse unangemeldet mehr Strom ziehen? Wie auch bei anderen USB-Hosts wird der entnommene Strom nur in extrem seltenen Fällen überhaupt überprüft. Es gibt Unmengen von USB-Geräten, die irgendeinen Strombedarf anmelden, und sich dann nicht dran halten. Jede, ausnahmslos jede 2.5"-Festplate für netzteillosen Betrieb an einem USB-Port ignoriert die USB-Spezifikation und nimmt (kurzzeitig, während der Hochlaufphase des Spindelmotors) über 1 A Strom auf. Die USB-C-Buchse eines USB-Hosts stellt laut Spezifikation auch nur 900 mA zur Verfügung, wie die Praxis auch hier zeigt, schert sich niemand drum. Die effektive Strombegrenzung ist eine "mit Luft" dimensionierte Polyfuse. Anders sieht das bei USB-C-Netzteilen aus, die das USB-PD-Protokoll sprechen. Hier können deutlich höhere Ströme fließen, aber die Aushandlung von Spannung und Strom erfolgt über ein vollkommen anderes Protokoll und über andere Signalleitungen. USB-Hosts, die USB-PD anbieten, sind selten (meist in Form von USB-C-Docks oder in Monitoren zu finden). Normale PCs tun das üblicherweise nicht.
Harald K. schrieb: > Normale PCs tun das üblicherweise nicht Mittlerweile schon, Laptops mit USB C haben in der Regel auch die Möglichkeit, externe Geräte wie Handys über PD zu laden. Meist lässt sich im BIOS sogar einstellen, ob sie 7,5W oder 15W bereit stellen sollen. Wenn man bei 5V bleibt, reichen auch die Widerstände für 1.5A oder 3A. Ob man dann auch immer den Strom ziehen kann, ist vom Host abhängig. (Business)Laptops sind da mitunter pingelig und schalten dann ab.
Kurz eine theoretische Frage: Wenn ein USB-Stick über USB-C an einen Host angeschlossen ist, und man mehr Strom über die CC-Linien anfordert, bricht die Spannung dann kurz zusammen? Ist es außerdem möglich, sich zuerst über USB anzumelden und dann über die CC-Linien und andersherum?
Danke euch allen! Habe jetzt eine neue Platine entworfen und sie funktioniert einwandfrei.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.