Hi, Ich hab die Suche von diesem Forum schon gequält aber bin noch nicht auf eine Antwort gestoßen, die mein Problem löst, deswegen möchte ich zum 1001ten mal nach der Spannungsversorgung am USB Port fragen. Ich bin Dabei ein Gerät zu entwickeln, welches sich als High-Power Gerät am Bus anmeldet und vom Bus mit c.a. 350mA versorgt wird. Das funktioniert auch! So weit do gut, jetzt sagt die USB Spezifikation, dass mein Gerät einen Suspendmode beherrschen muss, bei dem Die Strumaufnahme 0,5mA/2,5mA nicht übersteigt. Das Ist technisch nicht so einfach, theoretisch aber bestimmt möglich. Das eigentliche Problem aber ist, das mein Gerät, wenn es denn dann läuft, nicht sinnvoll in den Suspendmode gehen kann. Meine eigentliche Frage ist also: Wie kann ich Spezifikationskonform verhindern, dass mein Gerät in den Suspend-Mode wechselt? Vielen dank schon mal! cu Thorsten
Es ist an sich egal, Jedes Gerät dass ich an meinem PC betreibe, wenn ich innen S3 Standby gehe, zieht mindestens 100mA oder so, andre schalten sich garned ab wenn der PC aus geht.Gleich ist es auch wenn mein Pc aus oder im Suspend mode ist. Also lass die Spezifikation da mal Spezifikation sein, solange alles geht, und du keine usb zertifizierung brauchst, lass es einfach. Schau dir mal ne USB Maus an, PC ist aus, die Maus lässt nochimmer ihre optische LED schalten, so wie als wäre sie im Normalbetrieb. Und ne hellrote led braucht bestimtm 30mA. Bei 2A auf der 5V Leitung nenne ich aber sowas als noch verkraftbar Gruß Jens
Du könntest aber das Gerät doch komplett abschalten wenn es in Suspend geht oder ist das nicht möglich?
Läubi Mail@laeubi.de wrote: > Du könntest aber das Gerät doch komplett abschalten wenn es in Suspend > geht oder ist das nicht möglich? klar, das geht. Nur wenn ich das Gerät abschalte, 3ms nach dem kein traffic mehr auf dem Bus ist. Dann geht der sinn des Gerätes irgendwie verloren. Wie oft und wann kommt denn das überhaupt vor? cu Thorsten
> Meine eigentliche Frage ist also: > Wie kann ich Spezifikationskonform verhindern, dass mein Gerät in den > Suspend-Mode wechselt? Nein. Das Verhindern des Suspend-Modes ist nun eben nicht spezifikationsgemäß, aber in einer Welt, in der es Kabel A-Stecker auf A-Stecker gibt, Kaffetassenwärmer (sicher mit Suspend) und Festplatten mit Y-Kabel muss man wahrscheinlich nicht viel auf die Spec. geben. > Wie oft und wann kommt denn das überhaupt vor? Na die Idee ist doch Stromfresser am US-Bus nicht laufen zu lassen, wenn der Rechner (z. B. ein portables Gerät) selbst in einen Stromsparmodus geht?!
Thorsten B. wrote: > Läubi Mail@laeubi.de wrote: >> Du könntest aber das Gerät doch komplett abschalten wenn es in Suspend >> geht oder ist das nicht möglich? > > klar, das geht. Nur wenn ich das Gerät abschalte, 3ms nach dem kein > traffic mehr auf dem Bus ist. Dann geht der sinn des Gerätes irgendwie > verloren. > > Wie oft und wann kommt denn das überhaupt vor? > > cu Thorsten Hmm? Der USB Suspend wird doch nur aktiviert, wenn dein PC in den Standby, Hibernate oder Soft-Off gefahren wird. Ansonsten ist der USB voll da. Musst allerings auch aufpassen, dass du während der Enumeration nicht mehr als 100mA ziehen darfst. Klar geht auch mehr, ist aber dann nicht spec-konform.
Das klingt dann doch mal langsam so als ob auch ich das verstehen könnte :-) Also eine Betriebsart in der ich nicht mehr als 100mA brauche kann ich schon. Dann werde ich das mit dem Suspend auch mal in Angriff nehmen! vielen Dank an alle! cu Thorsten
Welchen USB Controller setzt du denn ein? Wenn du dich an die Spec halten willst, musst du zuerst dem OS über den Device Descriptor mitteilen, dass du ein High-Power Gerät bist. Wenn es der Meinung ist, dass es genügend Strom liefern kann (was ja z.B. bei Bus-Powered Hubs meist nicht der Fall ist), dann wird das OS diese Konfiguration setzen. Den USB Controller empfängt dann das SetConfig Kommando. Erst dann darfst du die mehr als 100mA ziehen. Im unkonfigurierten (nicht enumeriert) Zustand darfst du max 100mA verbrauchen. Im USB Controller gibts dann garantiert auch eine Suspend() und eine Resume() Funktion. Bei Suspend musst du alles abschalten, was mehr als 2,5/0,5 mA verbraucht. Bei Resume darfst du wieder anschalten. Beim Cypress 68013 war das ganz einfach in die Firmware zu implementieren. Der aktuelle FX2LP braucht auch im unkof. Zustand max. 85mA sodass die Sache leicht zu machen war.
Hi, ich verwende einen Microchip PIC18F4550 mit der von Microchip gelieferten Firmware. Wie oben schon zu lesen ist, dass mit dem Anmelden und dem Strombedarf das funktioniert alles soweit, auch wenn ich es noch bei keinem Hub geschafft habe, dass er mich nicht konfiguriert :-/ oder sogar abschaltet, wenn ich zuviel Strom brauche. Aber das ganze sollte soweit spezifikationskonform funktionieren. Softwaretechnisch ist auch der Suspendmode kein Problem sondern mehr von der Funktion her. Ist halt doof, wenn ein datenaufzeichnendes Gerät einfach zwischendurch abgeschaltet wird weil der Host meint das wär mal nett um Strom zu sparen. cu Thorsten
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.