Forum: PC Hard- und Software USB Port schalten


von Rainer (Gast)


Lesenswert?

Hallo,
ich habe ein Projekt in dem ich 4 USB Geräte habe, jedes der USB Geräte 
möchte ich einzeln ein und ausschalten über Software.
Ich habe schon diverse lösungen an HUBs gefunden an denen ich ein Knopf 
Drücken kann und der USB Hub schalten den Port ab.

Wenn es keine Fertiglösung dafür gibt (in erschwinglichen bereich) würde 
ich ein USB io Lösung nehmen die über den USB anschluss einzelne Relais 
schaltet. Das ganze soll dann aber nicht über Diverse adapter laufen. 
USB - LPT - Relaisekarte sondern eine Komplette Karte wo schon alles 
verbaut ist.

Ich hoffe ihr Könnt mir da weiterhelfen. Das ganze sollte unter Windows 
7 laufen.

Gruß Rainer

von zuckerhut (Gast)


Lesenswert?

Wo ist denn die Frage?

von Silvia A. (silvia)


Lesenswert?

> Wo ist denn die Frage?
Wir sind hier ein Forum - da darf auch ohne Fragen diskutiert werden.

Rainer schrieb:
> Das ganze sollte unter Windows 7 laufen.
Soweit ich weiss unterstützt auch Windows 7 den USB Bus

von oszi40 (Gast)


Lesenswert?

Es geht nicht nur darum irgendwas irgendwann mit Relais zu schalten. 
USB-Geräte sollten sauber an/abgemeldet werden am System.

Mehr da http://de.wikipedia.org/wiki/Universal_Serial_Bus

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Rainer schrieb:
> ich habe ein Projekt in dem ich 4 USB Geräte habe, jedes der USB Geräte
> möchte ich einzeln ein und ausschalten über Software.

Was willst Du damit erreichen?

von Christian R. (supachris)


Lesenswert?

Den Sinn kann man schon nachvollziehen. Wir hätten auch gerne einen 
USB-Auswerfer für unsere Bus-Powered USB Geräte in der 
Entwicklungsphase. Spart das Kabel abziehen und wieder anstöpseln. Es 
soll Hubs geben, die können das, und das lässt sich per Software (über 
den Control Endpoint) schalten. Aber ich hab noch keinen in der Hand 
gehabt.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

In so einem Fall ist das sicherlich sinnvoll. Allerdings begegnet man 
hier im Forum auch recht oft etwas ... äh, kruden Ansätzen, die Probleme 
lösen sollen, die man entweder anders aus der Welt schaffen kann oder 
aber gar keine sind.

von Rainer (Gast)


Lesenswert?

Hallo,
sorry für die verspätete antwort.

Ja, das Problem welches bisher besteht ist das wir die Geräte immer 
abziehen müssen und wieder einstecken müssen. Da das vorhaben jedoch so 
ist das über ein Remote System zu machen bei den man nicht immer daneben 
sitzen muss um wieder den stecker zu ziehen wollten wir wenn möglich das 
ganze aus der Ferne steuern wenn man nicht an dem System sitzt.

Daher diese Per Software abschalt möglichkeit.

Naja, die frage? Da waren eigentlich 2
1) Ob jemand so einen Hub kennt der über software die einzelen Ports 
schalten läst oder 2) Einer eine "erschwingliche" USB Relaise steuerung 
kennt, das ich dann über die einzelnen Ports der Relaise Karte eine 
eigenlösung packen kann um darüber die USB Ports zu deaktivieren

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Rainer schrieb:
> Ja, das Problem welches bisher besteht ist das wir die Geräte immer
> abziehen müssen und wieder einstecken müssen.

Geht es um Entwicklung oder soll damit irgendein Defizit der Geräte/der 
Devicetreiber der Geräte kompensiert werden?

von Εrnst B. (ernst)


Lesenswert?

Rainer schrieb:
> 1) Ob jemand so einen Hub kennt der über software die einzelen Ports
> schalten läst oder

Fast alle HUBs behaupten zwar dass sie das Können (wHubCharacteristics 
hat das "Power Switching"-Bit gesetzt), aber bei vielen sind dann doch 
alle Ports einfach parallelgeschaltet. Spart 4 Transistoren, und auch 
die tollen USB-Festplatten mit >1A Anlaufstrom ohne Netzteil laufen 
daran.

Willkürlich mal zwei Hubs geschnappt und die Descriptoren gedumpt:
Hub 1:
1
Hub Descriptor:
2
  bLength               9
3
  bDescriptorType      41
4
  nNbrPorts             4
5
  wHubCharacteristic 0x0089
6
    Per-port power switching
7
    Per-port overcurrent protection
8
    TT think time 8 FS bits
9
    Port indicators
10
  bPwrOn2PwrGood       50 * 2 milli seconds

Hub 2:
1
Hub Descriptor:
2
  bLength               9
3
  bDescriptorType      41
4
  nNbrPorts             4
5
  wHubCharacteristic 0x00ad
6
    Per-port power switching
7
    Compound device
8
    Per-port overcurrent protection
9
    TT think time 16 FS bits
10
    Port indicators
11
  bPwrOn2PwrGood       50 * 2 milli seconds

Ob das Schalten wirklich geht muss ich mal testen.

von Christian R. (supachris)


Lesenswert?

Ja, angeblich können das fast alle. Aber in echt hab ich noch keinen 
gesehen, der das wirklich macht. Ansonsten halt selber bauen, USB Hub 
Chips gibts beispielsweise bei Cypress, da ist in der Apllication Note 
die Sache mit den 4 FETs drin.

von oszi40 (Gast)


Lesenswert?

Christian R. schrieb:
> die Sache mit den 4 FETs drin.

Die 4 Kontakte müßten aber in der richtigen zeitlichen Reihenfolge 
geschaltet werden! Wenn die Masse fehlt, gibt es Rauch! Deshalb die 
besonderen Kontakte am USB-Stecker.

von Εrnst B. (ernst)


Lesenswert?

oszi40 schrieb:
> Die 4 Kontakte müßten aber in der richtigen zeitlichen Reihenfolge
> geschaltet werden! Wenn die Masse fehlt, gibt es Rauch! Deshalb die
> besonderen Kontakte am USB-Stecker.

Genau darum übernimmt das Ansteuern der (P-Kanal-)FETs ja der 
HUB-Chip. Der kann dann garantieren, dass er die Datenleitungen nicht 
bedient während er den Port abgestellt hat.

von Christian R. (supachris)


Lesenswert?

oszi40 schrieb:
> Die 4 Kontakte müßten aber in der richtigen zeitlichen Reihenfolge
> geschaltet werden! Wenn die Masse fehlt, gibt es Rauch! Deshalb die
> besonderen Kontakte am USB-Stecker.

Du musst schon den Zusammenhang lesen. Die FETs im Hub dienen zum 
Abschalten der 4 Downstream Ports bei Überlast oder Befehl vom PC. Genau 
das, was gewollt ist. Wenn man das manuell macht, wirds kniffeliger, da 
muss man nämlich die vorauseilenden Power-Kontakte simulieren....

Aus dem Datenblatt:
1
The CY7C656xx includes interface signals for external port
2
power switches. Both ganged and individual (per-port)
3
configurations are supported, with individual switching being the
4
default. Initially all ports are unpowered. After enumerating, the
5
host may power each port by sending a SetPortPower request
6
for that port. The power switching and overcurrent detection of
7
downstream ports is managed by control pins connected to an
8
external power switch device. PWR [n]# output pins of the
9
CY7C656xx series are connected to the respective external
10
power switch's port power enable signals. Note that each port
11
power output pin of the external power switch must be bypassed
12
with an electrolytic or tantalum capacitor as required by the USB
13
specification. These capacitors supply the inrush currents, which
14
occur during downstream device hot-attach events. The polarity
15
of this pin is configured through the EEPROM; see Configuration
16
Options on page 13.

von StefanS (Gast)


Lesenswert?

Hat jemand eine Lösung gefunden?

Was passiert, wenn man nur die 5V+ über Relais/FET der entsprechenden 
USB-Ports abschaltet?

von Εrnst B. (ernst)


Lesenswert?

StefanS schrieb:
> Was passiert, wenn man nur die 5V+ über Relais/FET der entsprechenden
> USB-Ports abschaltet?

Dann versorgt sich u.U. das angeschlossene Gerät über die 
Clamping-Dioden an den Datenleitungen.

Beim HUB geht das, da der selber dann die Datenleitungen zu dem Port 
ebenfalls deaktiviert.

von Christian R. (supachris)


Lesenswert?

Εrnst B✶ schrieb:
> Dann versorgt sich u.U. das angeschlossene Gerät über die
> Clamping-Dioden an den Datenleitungen.

Eher nicht. Denn bei self powered USB Geräten kommt das ja ständig vor 
(PC an, aber Gerät aus), da darf auch nix passieren. Allerdings wird es 
dann wahrscheinlich Probleme bei der Anmeldung geben, wenn man aus einem 
bus powered ein self powered Gerät macht, ohne dass die Firmware das 
weiß.

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.