Hallo allerseits!
Mein aktuelles Bastelprojekt soll über einen Li-Ionen Akku versorgt
werden der über einen MAX1811 über USB geladen wird. Am Akku hängt dann
ein MAX710 der die ganze Elektronik mit 5V versorgt. Außerdem darf der
per FT232RL über USART<->USB kommuniziert werden.
Jetzt möchte ich mich an die USB Spezifikation halten, was den Verbrauch
von 100/500mA aus dem USB Port angeht. Eigentlich müßte dazu ja der
FT232RL nur dem MAX1811 sagen ob er jetzt gerade 100mA oder 500mA
verbrauchen darf (SELI am MAX1811) oder gar nichts (EN am MAX1811).
Leider werde ich aus den Datenblättern speziell zum FT232RL nicht ganz
schlau. Es gibt einen PWREN# Pin und einen SLEEP Pin. Wenn ich es
richtig verstanden habe, darf ich 500mA verwenden (solang ich das im
EEPROM auch passend eintrage) wenn das Gerät aktiv ist (PWREN# low) und
nicht schläft (SLEEP high). Wann darf ich aber 100mA ziehen?
Und gibt es eine elegante Methode das mit dem MAX1811 direkt zu
verketten?
Grüße
Tobias
>Wann darf ich aber 100mA ziehen?
Eigentlich in diesem Fall garnicht.
100 mA darf man nach erfolgreicher Enumeration ziehen, wenn man nicht
speziell angegeben hat, dass das Gerät 500 mA braucht. Das macht der
FT232 aber bei korrekter Konfiguration sofort bei der Enumeration.
Theoretisch kann der Host die Bereitstellung von 500 mA verweigern und
das Gerät im Lowpower-Modus betreiben, meines Wissens nach setzt der
FT232 dann PWREN nicht. Ich hab das aber in der Praxis noch nie gesehen.
Also, wenn PWREN gesetzt ist, darf man auch 500 mA ziehen.
Grüße,
Peter
Danke erstmal für die Antworten.
Wenn ich Peter richtig verstehe dürfte der FT232 also an einem unpowered
USB Hub also dann gar nicht funktionieren? Gibt es dann wenigstens
irgendwie die Möglichkeit die 500mA von Client Seite, also über das
RS232 Interface zu ändern oder geht das wirklich nur mit dem
Windows-Tool über USB. Irgendwie finde ich das etwas unglücklich.
Das Schalten mit MOSFET hatte ich im Datenblatt entdeckt. Im Prinzip
würde ich dann aber nicht die ganze Schaltung damit an/ausschalten,
sondern eben nur den Enable Pin des MAX1811, oder?
Und was passiert eigentlich wenn man ein USB "Ladegerät" verwendet? Der
FT232 dürfte dann vermutlich nie sein OK zu den 500mA geben. Dann per
Software schaltbar, das PWREN# Signal überschreiben?
Der Strombedarf lässt sich nur über das EEPROM definieren. Du müsstest
ja auch dann einen Reconnect machen. Denn Windows nimmst die erste
Config, und wenn nicht genug Strom da lieferbar ist, wird kein
SetConfiguration ausgelöst, egal, ob da noch welche wären, die weniger
Strom benötigen würden.
An einem unpowered Hub wäre das korrekte Verhalten dann das PWREN nicht
zu aktivieren (und der FTDI hält sich an den USB Standard).
@Tobias Müller (twam)
>Wenn ich Peter richtig verstehe dürfte der FT232 also an einem unpowered>USB Hub also dann gar nicht funktionieren?
Doch, er bekommt nur keine Freigabe für 500mA.
> Gibt es dann wenigstens>irgendwie die Möglichkeit die 500mA von Client Seite, also über das>RS232 Interface zu ändern
Nein.
> oder geht das wirklich nur mit dem>Windows-Tool über USB.
Ja.
> Irgendwie finde ich das etwas unglücklich.
Wieso? Das reicht doch.
>Das Schalten mit MOSFET hatte ich im Datenblatt entdeckt. Im Prinzip>würde ich dann aber nicht die ganze Schaltung damit an/ausschalten,>sondern eben nur den Enable Pin des MAX1811, oder?
Ja.
>Und was passiert eigentlich wenn man ein USB "Ladegerät" verwendet? Der>FT232 dürfte dann vermutlich nie sein OK zu den 500mA geben. Dann per>Software schaltbar, das PWREN# Signal überschreiben?
?
MfG
Falk
Falk Brunner schrieb:>> Irgendwie finde ich das etwas unglücklich.> Wieso? Das reicht doch.
Naja, dann könnte ich halt in meinem µC ne Option einbauen auf 100mA zu
stellen falls man mal keinen anderen USB Port hat
>>Und was passiert eigentlich wenn man ein USB "Ladegerät" verwendet? Der>>FT232 dürfte dann vermutlich nie sein OK zu den 500mA geben. Dann per>>Software schaltbar, das PWREN# Signal überschreiben?> ?
Es gibt ja so Ladegerät die einfach nur 5V auf die USB Buchse legen um
z.B. das Handy zu laden. Dort wird der FT232 hat ja keinen Handshake
machen können und so vermutlich nicht via PWREN# den Strom freigeben.
Aber ich könnte ja einfach einen Pin des µC an den Fet mitanschließen um
so notfalls das PWREN# zu überschreiben wenn ich das Laden trotz
fehlender Freigabe aktivieren will.
Tobias Müller schrieb:> wenn ich das Laden trotz> fehlender Freigabe aktivieren will.
Und du bist der Meinung, dass sich die Entwickler nichts dabei gedacht
haben, die Freigabe nicht zu erteilen, wenn die Leistung nicht zur
Verfügung steht? Hmm....
Christian R. schrieb:> Tobias Müller schrieb:>> wenn ich das Laden trotz>> fehlender Freigabe aktivieren will.> Und du bist der Meinung, dass sich die Entwickler nichts dabei gedacht> haben, die Freigabe nicht zu erteilen, wenn die Leistung nicht zur> Verfügung steht? Hmm....
Es geht ja nur darum, auch laden zu können wenn es nicht an einem USB
Host hängt, sondern nur per Billig Netzteil 5V angelegt werden.
Christian R. schrieb:> Achso. Wäre da nicht ein Controller, der die USB Charging Spec> beherrscht, eher was?
Auf Netzteilseite? Diese ganzen USB Autoladeadapter oder
Handyladeadapter sind halt leider ziemlich dumm :(
@Tobias Müller (twam)
>> Wieso? Das reicht doch.>Naja, dann könnte ich halt in meinem µC ne Option einbauen auf 100mA zu>stellen falls man mal keinen anderen USB Port hat
Kannst du auch so. Wenn dein FT232 das PWREN nicht freigibt, dann gibt
es keine 500mA. Klare Signalisierung.
>Es gibt ja so Ladegerät die einfach nur 5V auf die USB Buchse legen um>z.B. das Handy zu laden. Dort wird der FT232 hat ja keinen Handshake>machen können und so vermutlich nicht via PWREN# den Strom freigeben.
Logisch, das sind einfach 5V an einer USB Buchse ohne jegliche Logik. So
wie viele Geräte einfach Saft aus dem USB ziehen. Nichts schön, geht
aber meistens.
>Aber ich könnte ja einfach einen Pin des µC an den Fet mitanschließen um>so notfalls das PWREN# zu überschreiben wenn ich das Laden trotz>fehlender Freigabe aktivieren will.
Dann kannst du das auch gleich weglassen und immer frech 500mA ziehen,.
macht dann auch keinen Unterschied.
MfgG
Falk