[Gta04-owner] Charging battery from USB
Dr. H. Nikolaus Schaller
hns at goldelico.com
Wed Nov 9 19:09:34 CET 2011
Am 09.11.2011 um 18:35 schrieb Alexander Lehner:
> On Wed, 9 Nov 2011, Dr. H. Nikolaus Schaller wrote:
>> The GTA04 also has a problem with USB charging if the battery is
>> drained. A low voltage battery is being trickle charged with approx.
>> 70 mA. After the power-on voltage (ca. 3.2V) is reached, the CPU switches on
>> but then draws approx. 100-400 mA. This of course discharges the
>> battery faster than it is being recharged. Depending on some chemical
>> effects in the battery and operational thresholds, it may still be
>> sufficient to boot the processor far enough that the software enables
>> a higher charging current (e.g. 500 mA).
> does the GTA04 power management have the same 'trick' to use a special 5-pin USB cable to immediately draw 1000mA?
> The NEO-charger has this with a certain resistor between ground and the 'Id-pin' or something like that.
It can control and read the ID pin - but only after the CPU has been started and
can program the USB/OTG controller in the TPS65950 chip.
But for charging (without active CPU control) the ID pin is ignored and the charging
current is ignored.
> Another solution I've been using was, to boot the phone with a second (charged) battery, plug the USB which then allows 500mA charging and then exchange the full battery with the empty one.
Yes, that works fine. As soon as the kernel enables the USB charging path to draw more
than 50-100 mA (not on the host or power supply but in the USB charger controller), you
can remove the battery and replace it with another one.
There is one limitation: if WLAN, Bluetooth and UMTS are active, the system draws more
current than the power supply can provide. So it may fail.
> The philospophical part:
> It's nice to understand the current handshaking on USB, I learned a lot by reading the NEO wiki.
> On the other hand, I never saw a device that obeyed those rules. For example coffee-cup warmers or beer-coolers with a Peltier-element and a fan simply pull out current of the USB power whatever they can get and rely on the hosts power supply to limit current...
Maybe the TI TPS65950 tries to follow this rule and draw not more than
100 mA - until USB negotiation with the host is working. Unfortunately
this means to start up the OMAP processor which can draw more than
100 mA just to run this negotiation.
For the GTA04A4 board we have applied some small hardware changes
that should keep the power demand a little lower until full Linux is running.
But we will see if it helps.
Another idea is to modify the X-Loader/MLO code (which appears to run
at lower clock speed and therefore lower power) to enable full power USB
charging before doing anything else.
More information about the Gta04-owner