A circuit for charging a battery by selecting among two available power
sources while providing overcharging and temperature protection to the
battery and managing a charging current is described. A power pass and
sense circuit is arranged to provide charge voltage from either power
source based on control voltages from a current/voltage control circuit,
which receives control signals from a logic control and timer circuit, a
sensed voltage from a current setting circuit and reference and
temperature voltages from a voltage reference and thermo-sense circuit.
Differential amplifiers controlling power pass transistors are turned on
and off depending on a power source availability and selection. A power
supply circuit provides global supply voltages to all subcircuits
preventing reverse current to power sources and stable supply independent
of a power source availability. A pair of transistors arranged to operate
as body-switcher protect power pass and sense transistors against reverse
bias current.