Forum: Mikrocontroller und Digitale Elektronik USB-Geräte umschalten


von Max (Gast)


Lesenswert?

Hallo,

ich habe zwei USB-Geräte an einem Hub hängen. Nun soll nur eines der 
Beiden aktiv sein. Reicht es, wenn ich einfach VCC trenne, um ein Gerät 
zu deaktivieren oder muss zusätzlich ein Datenkanal abgetrennt werden?

von Winfried (Gast)


Lesenswert?

Wenn sie in getrennten Ports des Hubs stecken, sollte Auftrennung von 
VCC reichen. Praktisch ausprobiert hab ich das aber noch nicht.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Das reicht nicht . Mindestens Vcc, D+ und D- müssen getrennt werden, 
da die Datenkanäle bei fehlender Vcc auf Massepotential gezogen werden.

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

Travel Rec. wrote:
> Das reicht nicht . Mindestens Vcc, D+ und D- müssen getrennt werden,
> da die Datenkanäle bei fehlender Vcc auf Massepotential gezogen werden.

Die Aussage stimmt, aber einige Hubs melden das Gerät ab, wenn Vcc 
fehlt.
Wenn also ein Hub dazwischen ist, wie du es schreibst, dann kannst du es 
testen. Mehr als nicht funktionieren wird nicht passieren.

von Winfried (Gast)


Lesenswert?

Schreib mal deine Testergebnisse, interessiert mich, ob VCC ausreicht.

von Guido Körber (Gast)


Lesenswert?

D+ und D- müssen getrennt werden, das reicht dann. Wird nur Vbus 
abgeklemmt, dann kann es muntere Fehlerströme durch die Datenleitungen 
zu Masse geben. Nicht umsonst sind im USB Stecker Vbus und Gnd 
vorauseilend.

von Max (Gast)


Lesenswert?

Hallo,

also ich habe nur VCC getrennt und es funktioniert so wie es mir 
vorgestellt hatte. (:

von Winfried (Gast)


Lesenswert?

@Guido Körber: Gilt das auch für einen Hub, wenn der mehrere USB 
Anschlüsse hat und man pro USB Anschluss nur ein Device dran hat? Ich 
dachte, der Hub gibt an dem jeweiligen Anschluß D+/D- nur weiter, wenn 
das konkrete Device auch angemeldet/erkannt ist.

von Εrnst B. (ernst)


Lesenswert?

Übrigens kannst du das ganze auch rein in Software machen:
Einen HUB kann man per USB-Control-Message dazu veranlassen, einzelnen 
Ports den Saft abzudrehen:

CLEAR_FEATURE/SET_FEATURE mit PORT_ENABLE oder PORT_POWER.
Mit PORT_INDICATOR lässt sich übrigens die LED an dem Port steuern.

Details gibts im Chapter 11 der USB-Spec.

Stromabschalten per Software geht natürlich nur, wenn der HUB-Hersteller 
nicht den FET dafür eingespart hat... versuch macht kluch...

Ach ja, und unter Windows könnt es ein bischen kompliziert werden, eine 
Control-Message an einen HUB zu schicken...

von Max (Gast)


Lesenswert?

>Mit PORT_INDICATOR lässt sich übrigens die LED an dem Port steuern.

MMh, jetzt habe ich die LED rausgelötet^^

von Guido Körber (Gast)


Lesenswert?

Ein Hub hat 15K Pull-Down Widerstände an den D-Leitungen und detektiert 
die Anwesenheit eines Devices durch den Pull-Up im Device entweder an D+ 
oder D-. Die Datentreiber werden abgeschaltet sobald kein Device da ist. 
Bei Low Speed Devices werden die Datentreiber auch abgeschaltet wenn 
kein Low-Speed Paket kommt bzw. der Keep-Alive.

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.