Forum: Mikrocontroller und Digitale Elektronik Problem mit FSUSB30 als USB-Schalter


von Apti (apti)


Angehängte Dateien:

Lesenswert?

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

von Thomas Z. (usbman)


Lesenswert?

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
von Sebastian R. (sebastian_r569)


Lesenswert?

Braucht der Stick nicht einen Power-Cycle, um sich wieder beim Host 
anzumelden?

Und das Layout ist auch... abenteuerlich...

von Jim M. (turboj)


Lesenswert?

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.

von Apti (apti)


Lesenswert?

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.

von Harald K. (kirnbichler)


Lesenswert?

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
von Thomas Z. (usbman)


Lesenswert?

Apti schrieb:
> aber der USB-Stick wird
> vom zweiten Host, einem PC, nicht erkannt.

Du must auch VBus schalten damit der Connect funktioniert

von Apti (apti)


Lesenswert?

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?

von Apti (apti)


Lesenswert?

Soll ich die Platine noch mal neu designen?

von Sebastian R. (sebastian_r569)


Lesenswert?

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.

von Christian R. (supachris)


Lesenswert?

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.

von Carsten W. (eagle38106)


Angehängte Dateien:

Lesenswert?

Der TPS2552 von TI im SOT23-6 Gehäuse wäre ein Kandidat für den 
Schalter.

von Apti (apti)


Lesenswert?

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?

von Sebastian R. (sebastian_r569)


Lesenswert?

Apti schrieb:
> 4,3V

Könnten das eventuell die 0,7V sein, die an deinen Dioden abfallen?

von Apti (apti)


Lesenswert?

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?

von Sebastian R. (sebastian_r569)


Lesenswert?

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.

von Thomas Z. (usbman)


Lesenswert?

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

von Apti (apti)


Lesenswert?

Kann man aus einer USB-C-Buchse unangemeldet mehr Strom ziehen?

von Harald K. (kirnbichler)


Lesenswert?

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.

von Christian R. (supachris)


Lesenswert?

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.

von Apti (apti)


Lesenswert?

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?

von Apti (apti)


Lesenswert?

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
Noch kein Account? Hier anmelden.