A power management system including a battery-powered application, in
which an input current is supplied by a source of current that may be a
current-constrained source, such as a USB port, to a battery for charging
the battery and to an application load. Battery charging current is
supplied to the battery for a period of time based on magnitude of
battery charging current, so that charging current of lesser magnitude is
applied to the battery for a greater period of time. In accord with one
implementation, battery charging current is determined by monitoring the
difference between a programmed charging current, dependent on battery
type, and magnitude of current used by the load. Change of battery
charging current due to voltage mode charging, when charge current begins
to drop as the battery approaches full charge, is detected, and in
response, the charging period is set to a fixed charging period based on
the battery.