Andy Powell wrote:
On Friday 18 April 2008 18:34, Michael Shiloh wrote:
Hi everyone,

With input from the experts who designed the system, I've tried to
document precisely how charging works on the Neo Freerunner.

I welcome your feedback:

 :)

I'm being honest. I really do appreciate feedback.



The Neo Freerunner charges the battery when 5VDC is provided at the USB
port, whether from a computer USB port or from a dedicated USB charger.

The Neo Freerunner can charge most rapidly when it can pull 1 Amp from
the power supply connected to the USB socket. However, not all chargers
or computers can provide this much current.

It might seem like a dumb question, the the charger provided can source 1Amp, right? :)

Not a dumb question at all. I do say this further down, but perhaps should elevate it.



When the Neo Freerunner detects that power has been provided at the USB
port, it will attempt to draw only 100mA. This minimum is mandated by
the USB standard. This amount of current is insufficient to both power
the Neo Freerunner (or even just its backlight) and to charge the
battery, and therefore the battery will not be charged. (The battery
discharge rate, however, will be slightly lower, as the supplied 100mA
will be used to augment the battery.)

(When a charger is connected to the USB port, the Neo Freerunner
automatically powers up. Thus, if charging at 100mA is desired, the Neo
Freerunner must be shut down after the startup process has completed.)


On the GTA01 you can press AUX as you power up to get the boot menu. On mine I have added an option to start fast (500ma) charging and power off the backlight. This means I don't need to have enough power to do a full boot to get the device charging. Perhaps an option for slow (100ma) charging that turns the backlight off would be useful - although it would probably need to have a few tests run to see if it was actually helping any.


Sounds like a good plan.




After detecting USB power, The Neo Freerunner will attempt to negotiate,
via the USB protocol, a higher charge rate of 500mA. If the device
powering the Neo is capable of doing so, the Neo Freerunner will charge
at 500mA.

USB chargers do not implement the USB protocol, and thus can not respond
to requests for higher charge rates. Some manufacturers have worked
around this issue by installing resistors of different values between
different pairs of pins in in order to "identify" their own chargers of
known capacity. This is not part of the USB standard and is completely
up to each manufacturer.


I presume that if I accidentally plug in <insert device that charges via usb here> it would simply charge at 100ma?

Exactly, but only if you shutdown after plugging in.




The USB charger provided with the Neo Freerunner can source up to 1A. In
order to identify this special charger, there is a 47K ohm resistor
between the ID pin and ground. If the Neo Freerunner detects this
resistor, then the Neo Freerunner will charge at 1A.

In summary, the Neo can charge at 3 different rates: 100mA, 500mA, and 1A.

Do you have any information on how long each takes to fully charge the battery (excepting of course the 100ma option unless the stuff I mentioned above works)?

None yet, I'm afraid. Once I catch up I was hoping to do some measuring of charge and discharge rates.



Notes:

1. USB negotiation and resistor detection is performed in software, and
is thus under developer control. A developer might write an application
to indicate that 500mA or 1 Amp are available, bypassing the USB
negotiation and the 47K ohm resistor detection.


I assume OM don't want to go anywhere near the software that overrides this for legal reasons and that it'll always be something a user has to deliberately add themselves?

I expect you are right (but I'm not a lawyer...)




There is nothing  preventing the software from charging at a higher rate
than then power provider can supply, although there is danger in doing so.

The danger in drawing more current than a charger or computer USB port
can provide is that components overheat and may become permanently
damaged, or even catch fire, although most USB host devices implement
current limits that will depower the port on overcurrent.

2. The Neo Freerunner charger is a single assembly which includes
the USB cable. The cable is NOT a separate item and can not be removed
from the charger (without cutting).

3. Any third-party charger that does not contain the 47K resistor will
cause the software to assume it can draw only 100mA, regardless of how
much current the charger really can source.

4. In its hard-coded configuration, the PMU doesn't charge the battery
at all. The hard-coded configuration is used when power is applied to
the PMU after a period of complete absence of power, including the
backup battery.


How long is this period are we talking weeks,months or years?

I'll let Werner respond here (or someone else who knows), but I suspect this is about the same amount of time required to leave a GTA01 sitting unpowered before charging a dead battery. I seem to recall that overnight is sufficient.




When the system comes up, it reconfigures the PMU to enable charging.
Most of the configurable items are also preserved by the PMU if it
powers the system down, but the PMU itself still has power - either from
USB, main battery, or the backup battery. (This is the PMU's STANDBY mode.)

5. All of this discussion is for setting the maximum current that the
Neo Freerunner can safely draw from the USB socket. The battery charging
current may actually be lower, if the charging logic determines that a
lower charge rate is appropriate.



Can the Freerunner operate at all without a battery - ie solely from a usb (pc or plug in the wall) charger?


Yes! This was a design goal and I myself have observed it.

Michael

_______________________________________________
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community

Reply via email to