philo said:
The machine I have on my bench had an interesting problem.
It worked OK but each time I turned it on (after sitting a while) I'd
get the BIOS message that the CPU had been changed.
I reset the BIOS but that did not solve anything. The CMOS battery
measured 3.0 volts.
After trying various BIOS settings with regard to the CPU I decided to
try an old trick...I load tested the CMOS battery by placing a 150 ohm
resistor in parallel. The voltage dropped to zero. With a new battery,
the voltage was about 2.5 volts.
With a new battery the problem went away.
This is not the first time I've seen "odd ball" problems due to a weak
CMOS battery...but such situations are rare.
You can also have the "changed CPU" problem, due to a DMI/ESCD
problem. You'd check whether the microcode segment in the BIOS,
has an entry for the CPU. And whether there are any unpatched
problems in the BIOS version, with respect to the "fake recognition"
they do in the BIOS.
The BIOS records hardware configuration in the DMI area of the
BIOS flash chip. It records all sorts of stuff. It might list your
Pentium III processor as a Pentium II. Nobody really cares all
that much, what is reported in there. But, it still can lead
to the occasional message on the screen, if some portion of
that "recognition" activity screws up. After a processor change,
it might *never* write the correct information into DMI, leading
to the warning message being present on each and every restart.
*******
The motherboard, should never really be putting the CMOS battery
into all that much of a load. If your load test on the CMOS battery,
leads you to think that is the root cause, it might also be true
that the loading of the CMOS well is higher than it should be.
When running on the 3V CR2032, the only thing running in the CMOS
well should be the 32768Hz oscillator (similar to a digital watch),
as well as the ripple counter that makes 1 Hz pulses, to be counted
to keep time. The ripple counter "spikes" on each operation,
for a fraction of a microsecond. The item that stops this from being
an issue, is the ceramic cap next to the 3V input on the Southbridge.
It smooths out those spikes.
The power consumption from the CMOS battery is *so* low, they
stick a 1K ohm resistor in series with the battery. That means,
the Southbridge can never draw more than 3mA from the battery.
(Even if you short the pin on the Southbridge, the resistor sees 3mA.)
When the battery is actually being used, the average consumption
is 10uA. And that's why resistor load emulation, isn't particularly
indicative of how the battery would behave under normal circumstances.
It's not matching what the battery actually sees in practice.
When the battery is being used (diodes switched so the battery
is experiencing current draw), the current should be 10uA.
That's why I might be tempted to take my multimeter, with that
fresh battery in place, try to locate the 1K series resistor,
and measure the voltage across it. You would do that with the PC
powered off, and 3VSB draining low enough so that it's no longer
sourcing current. The voltage V=RI should be
1K ohms times 10 microamps or 0.01V if all is well.
If you find, by leaving the PC turned off and unplugged,
that the battery lasts less than 3 years in that state,
then the drop across the 1K ohm resistor is probably higher
than 0.01V. In a sense, the 1K resistor is like a current
shunt, allowing you to measure the current. (Use a high impedance
voltmeter, not your Simpson.)
I've labeled the CMOS stuff, here.
http://i58.tinypic.com/zxp4j.gif
The 10 microamp draw exists, when the computer is powered off.
3VSB would be at zero volts in that case. D2 would be reverse biased.
D3 is forward biased. Southbridge draws 10 microamps. The 10 microamps,
through the 1K resistor, gives 0.01V. If the battery is at 3V,
the Southbridge sees 3V - Vfb - 0.01 = 2.69V roughly. The drop
across the resistor is intended to be negligible. The
resistor is there, to prevent more than 3mA from ever flowing
out of the battery, under some mythical fault condition.
(The schematic in question, does not use the "battery shorting"
method, that some motherboards use. The 1K resistor would be
more important, for such an alternative design.)
On a modern motherboard, the diodes D2 and D3, are in a
common, 3-legged package. The resistor is moved to the
anode side of D3, which makes no difference to circuit
operation. An example of the part used for D2/D3, is shown here.
I have three motherboards that use this same part.
( BAS40W-05, on page 2 it says "K45 marking = BAS40W-05"
Look for K45 printed on top.)
http://www.diodes.com/datasheets/ds30114.pdf
I'm not faulting your suggestion to do a load test. What
you're doing, is effectively detecting the battery will
need to be changed in three weeks, and when refurbishing
machines, you look like a hero by doing so (customer sees
no field failure in three weeks time). The test
still has merit. What I'm questioning, is why the
motherboard would be upset at this point. The motherboard
should still have been happy. I'd want to check the drop
across the 1K, to make sure the load is nominal.
There have been a couple posters in the newsgroup, who
experienced CMOS batteries dying in no time at all. And
they never reported back as to why. So occasionally,
for no visible reason, the load in that circuit is
way higher than 10 microamps (while powered off).
Measuring across the 1K resistor, is a way of
determining if that is the path draining the battery.
(If higher than 0.01V across the 1K ohm resistor,
something is wrong. To be measured with PC completely
unpowered via AC cord. Unplug it.)
Paul