Neo 1973 Battery Charging Logic

From Openmoko

Revision as of 22:00, 24 June 2007 by Bmidgley (Talk | contribs)

Jump to: navigation, search

The Neo1973 Battery charging logic is embedded into our PCF50606 PMU (Power Management Unit).

The PCF50606 supports a variety of Neo1973 Battery charging modes, based around the hardware limitations of USB.

USB hubs may only provide up to 100mA per device. If more than the available current is drawn from them, they may be reset, or power off. This resets all devices connected to the USB bus, possibly causing data loss. So, fast charge mode is only enabled after the Neo is told that it is safe to charge at this current. Or optionally if there is no communication from the host for 30 seconds - as may be the case with dumb 'USB chargers'.

WARNING: While we have spent a significant amount on various safe-guards such as battery-internal overcurrent/overvoltage protection, manual twisting with low-level charger control aspects is not recommended. It might render either the battery or the charging circuit damaged.


Contents

Charging Modes

Pre Charge

Pre Charge is how the PMU calls the charging mode in which we draw up to 100mA charging current from the USB socket. This mode is safe to use on any USB socket, since USB per specification always can supply at least 100mA on every downstream facing port.

However, 100mA charging at a 1200mAh Neo1973 Battery means 12hrs charging time, not very practical at all.

Fast Charge

Fast Charge is how the PMU calls the charging mode in which we draw up to 500mA charging current from the USB socket. This mode can only be used if the USB stack on the host controller has selected a USB Configuration in which the device exports the need for 500mA.

Thus, by default, if you apply +5V to the USB device socket, we draw only 100mA. After a host controller has issued SET_CONFIGURATION config request on a configuration with 500mA in the config descriptor, the Neo1973 software (kernel) enable the fast charging mode.

Fast Charge (CCCV)

Fast charging, using first constant current, later constant voltage. This is what we use for our Li-Ion Neo1973 Battery

Fast Charge (CVCC)

Dumb chargers

The text above suggests that a nonresponsive usb host will cause neo to go into fast charge, but that's not my experience with a P1 and roh on irc explained some different rules. To paraphrase:

If the neo measures 48kohm +/- 1% between usb pin 5 and ground, it will detect the dumb charger and use it for fast charging. This is probably how the auto adapter and the ac adapter are wired.

This is *not* the same way other dumb chargers are detected (eg for razr). In other words, plan to buy an auto adapter that is made for neo.

Personal tools

The Neo1973 Battery charging logic is embedded into our PCF50606 PMU (Power Management Unit).

The PCF50606 supports a variety of Neo1973 Battery charging modes, based around the hardware limitations of USB.

USB hubs may only provide up to 100mA per device. If more than the available current is drawn from them, they may be reset, or power off. This resets all devices connected to the USB bus, possibly causing data loss. So, fast charge mode is only enabled after the Neo is told that it is safe to charge at this current. Or optionally if there is no communication from the host for 30 seconds - as may be the case with dumb 'USB chargers'.

WARNING: While we have spent a significant amount on various safe-guards such as battery-internal overcurrent/overvoltage protection, manual twisting with low-level charger control aspects is not recommended. It might render either the battery or the charging circuit damaged.


Charging Modes

Pre Charge

Pre Charge is how the PMU calls the charging mode in which we draw up to 100mA charging current from the USB socket. This mode is safe to use on any USB socket, since USB per specification always can supply at least 100mA on every downstream facing port.

However, 100mA charging at a 1200mAh Neo1973 Battery means 12hrs charging time, not very practical at all.

Fast Charge

Fast Charge is how the PMU calls the charging mode in which we draw up to 500mA charging current from the USB socket. This mode can only be used if the USB stack on the host controller has selected a USB Configuration in which the device exports the need for 500mA.

Thus, by default, if you apply +5V to the USB device socket, we draw only 100mA. After a host controller has issued SET_CONFIGURATION config request on a configuration with 500mA in the config descriptor, the Neo1973 software (kernel) enable the fast charging mode.

Fast Charge (CCCV)

Fast charging, using first constant current, later constant voltage. This is what we use for our Li-Ion Neo1973 Battery

Fast Charge (CVCC)

Dumb chargers

The text above suggests that a nonresponsive usb host will cause neo to go into fast charge, but that's not my experience with a P1 and roh on irc explained some different rules. To paraphrase:

If the neo measures 48kohm +/- 1% between usb pin 5 and ground, it will detect the dumb charger and use it for fast charging. This is probably how the auto adapter and the ac adapter are wired.

This is *not* the same way other dumb chargers are detected (eg for razr). In other words, plan to buy an auto adapter that is made for neo.