peraino@gmuvax2.gmu.edu (Bob Peraino) (12/01/90)
Power Consumption Statistics for the HP-28 Scientific Calculator
----------------------------------------------------------------
Robert Peraino
Scott Hutchinson
January 18, 1990
----------------------------------------------------------------
After many months of wondering, Scott and I finally decided to perform
the laborius task of calculating the current drain of the HP-28 scientific
calculator. These measurements are as accurate as our budgets and equipment
would allow. The equipment consisted of an HP-28, a fresh set of batteries,
and a digital multimeter. These numbers are being posted for the benefit of
others who might find this information interesting, and even useful in the
planning of applications.
No single number can represent the power consumption of the HP-28; the
current drain is so low, small changes in the state of the calculator can
change the current drain dramatically. For example, pressing a key spikes
the drain. With this in mind, we set out to measure the current drain of
the common states as well as singular components of the calculator. All of
the following current readings are in micro-amps (uAMPS). To keep all numbers
accurate with respect to each other, all values were measured at the normal
speed setting (with the exception of the operating speed measurements) and
the display contrast set to minimum (with the exception of the display
drain measurements). With current drains as low as these, one can expect to
see some slight variation in readings from one machine and set of batteries
to another. In other words, if you take these measurements yourself in an
effort to duplicate the experiment, we would not be surprised if the readings
vary by a few percent. We believe these numbers to be accurate, with nominal
variance.
Standard Modes
--------------
Off - 13.5 uAMPS
"Storage mode"- 106.2
On/idle - 446.0
On/running - 2412.0
The calculator has a "storage mode" which can be achieved by pressing
ON/ATTN, ENTER, and BACKSPACE simultaneously. The calculator will beep and
shut off. The usefulness of this storage mode is questionable, since the
current drain is actually over seven times higher than when the calculator
is in the OFF state! The current theory is best explained by Preston Brown
of Hewlett Packard, in a posting to the net in reply to a query sent by me:
You're right, it does draw higher current; its basically a bug in the
hardware. The storage mode or "Coma" mode was designed for factory
checking of the leakage currents of the ICs (a very good measure of
IC reliability) and as a mode the calculators could be shipped in to
increase the shelf life of the batteries. The only problem is that
a pin on one of the ICs is left in a high current state. It shouldn't
cause any problems with your calculator only you can't use it as a low
current state.
This, of course, makes the "storage mode" useless and just an oddity
with which you can impress friends and neighbors. The above numbers are
interesting in that we can see that turning the '28 on draws 33 times more
power than when it was off, running a program draws over 5 times more power
than when it was idle, and running a program draws over 178 times more power
than when it is off. This tells us we should leave the '28 off for maximum
efficiency!
Operating Speeds
----------------
As just about everyone knows by now, the '28 has 16 operating speeds,
of which 7 is the default. Each speed uses more current than the previous one.
Since altering the operating speed is done solely to alter execution speed,
power measurements were taken while running a program. Below is a table of
the 16 speed settings and their current drain in micro-amps.
Running uAMPS
Speed
--------------
0 1633
1 1634
2 1699
3 1849
4 1995
5 2137
6 2270
7 2399
8 2523
9 2642
10 2753
11 2861
12 2965
13 3066
14 3161
15 3255
And a rough graph of the current drain:
3300| o
3200| o
u 3100| o
| 3000| o
A 2900| o
M 2800|
P 2700| o
S 2600| o
2500| o
2400| o
2300| o
2200|
2100| o
2000| o Current drain at operating speeds
1900|
1800| o
1700| o
1600|o...o
+---------------------------------------------------------------------
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
S P E E D
We can see that the current drain is almost a linear scale as the
operating speed increases. But will we see a linear increase in speed? The
questions is, what do we get for our money, as the power requirements go up?
To answer this, we used a simple program; << 1 100 START NEXT >> to act as
a standard benchmark. As the speed goes up, the execution time should come
down. Here is a table of the execution times at each speed;
Running Seconds
Speed
----------------
0 2.2593
1 2.2551
2 1.5370
3 1.1171
4 .8773
5 .7211
6 .6112
7 .5304
8 .4672
9 .4187
10 .3787
11 .3447
12 .3174
13 .2933
14 .2725
15 .2544
And the corresponding graph:
2.3|o...o
2.2| .
2.1| .
2.0| .
1.9| .
S 1.8| .
e 1.7| .
c 1.6| .
o 1.5| o
n 1.4| .
d 1.3| .
s 1.2| . Execution time at operating speeds
1.1| o
1.0| .
.9| o
.8| .
.7| o
.6| o
.5| o .
.4| o . _
.3| o o .
.2| o
+---------------------------------------------------------------------
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
S P E E D
We can see that the reduction in execution time is far from a straight
line. This is significant, for although the increase of power consumption
as speed goes up is relatively constant, the decrease in execution time is
not. When you study the above graph you will notice that the optimal
operating speed is 7, the HP default.
The Screen
----------
The screen power requirements vary slightly depending on the contrast
setting. At minimum contrast, the screen draws 243 uAMPS. At maximum contrast
the screen draws 333 uAMPS. If you are running a long program/calculation,
you may wish to disable the screen to save power.
Saving Power
------------
A few people have asked how much power can be saved if the operating speed
were set to 0, and the display were turned off. We can now calculate this.
From the above power chart, we see that speed 7 draws 2399 uAMPS and speed
0 draws 1633. Combined with disabling the display at minimum contrast, this
is a savings of (2399-1633)+243 = 1009, or about 42% of the normal operating
current.
You may wonder why anyone would want to do this, since operating speed
would be three times slower. One application written by Bob (but not yet
released) is an alarm system for the hp28s called CRON. If you need to use
your 28s for an alarm system, or to run programs at a set time/date, then you
can use CRON. CRON allows you to set repeating or one-time alarms. CRON
accomplishes this by constantly checking the date, time, and setting of
all alarms. Obviously, CRON does not need to run at full power. When CRON
is in "sleep" mode, the display is turned off, and the speed is set
to 0, saving 42% of normal operating power. When it is time to take
action on an alarm, CRON enables the display and restores the speed to 7.
This is a perfect application for reduced operating power.
The Beeper
----------
The beeper draws differing amounts of power depending on the frequency
generated. Obviously, economy usually is not a consideration in determining
which frequencies to generate in any given application. Other factors
usually dictate this. These figures are presented purely for informational
purposes.
Frequency Current
Hz uAMPS
-------------------
100 13
500 76
900 137
1300 193
1700 245
2100 316
2500 354
2900 402
3300 441
3700 493
4100 541
4500 636
4900 638
5300 744
5700 739
6100 744
6500 3248
One point of interest is the power consumption at 6500 Hz. For some
reason, at around 6500, power consumption goes way up.
Infrared LED
------------
The final subject of interest is the LED. This device is the most
costly part of the system, drawing a whopping 13000 uAMPS. If your batteries
are extremely low, use of this device could be the difference between life
and death for your precious data.
Caring for your power source
----------------------------
Short of modifying the hardware of your 28s, there is no easy way to
get data into the calculator except the keyboard. This should serve as good
incentive to make sure that what goes into your machine stays there. Programs
that run unattended for long periods of time should have a way to monitor
the power situation so that the program can be suspended should a low power
situation occur. One example presented here is a "fuel gauge" type program,
written by Bob.
BAT
[19CE]
<< 100 0 1 5
START
#FF08h PEEK #Fh AND +
NEXT
B->R 75 / 100 * IP -
>>
This program responds with a number representing a percentage of power
left in the batteries. With relatively new batteries, BAT will return 100.
Battery life as measured by BAT is NOT a linear scale. BAT will most likely
return 100 for most of the battery life and only start to drop off near the
end of battery life. BAT can, though, be used as an early warning system,
and should be incorporated into programs which may run for long periods
unattended.daver@ECE.ORST.EDU (Dave Rabinowitz) (12/02/90)
In article <3017@gmuvax2.gmu.edu> peraino@gmuvax2.gmu.edu (Bob Peraino) writes: > A few people have asked how much power can be saved if the operating speed >were set to 0, and the display were turned off. We can now calculate this. >From the above power chart, we see that speed 7 draws 2399 uAMPS and speed >0 draws 1633. Combined with disabling the display at minimum contrast, this >is a savings of (2399-1633)+243 = 1009, or about 42% of the normal operating >current. There are two ways of measuring operating power. Bob considered energy per second, which is applicable when a program is running all the time but not doing much, as in the example he gave (copied at the end of this posting). In most applications a more useful measurement would be energy per computation, since normally the calculator remains in the high-current operating state only while it's computing. We use Bob's numbers to compute the approximate energy (measured in milliamp-seconds; multiply by the battery voltage - not given in his article - to get actual energy) needed to complete his test program by multiplying the run time by the current used during that time. Running mAMPS sec ma-sec Speed -------------------------------- 0 1.6330 2.2593 3.69 1 1.6340 2.2551 3.68 2 1.6990 1.5370 2.61 3 1.8490 1.1171 2.07 4 1.9950 0.8773 1.75 5 2.1370 0.7211 1.54 6 2.2700 0.6112 1.39 7 2.3990 0.5304 1.27 8 2.5230 0.4672 1.18 9 2.6420 0.4187 1.11 10 2.7530 0.3787 1.04 11 2.8610 0.3447 0.99 12 2.9650 0.3174 0.94 13 3.0660 0.2933 0.90 14 3.1610 0.2725 0.86 15 3.2550 0.2544 0.83 Clearly it takes less total energy to execute the whole program at maximum speed, so for normal operation you'd want to run at the maximum speed that's safe given your battery condition. This is not a surprising result. The hp28s is implemented in CMOS, so for digital operations there is no DC power (there is DC power in the analog circuits which generate the display voltages, generate the CPU clock and check the battery condition, etc.). Each operation requires charging and discharging capacitances, and the same capacitances go through the same charge and discharge cycles to execute the same operations regardless of operating speed. Therefore, you can think in terms of capacitance charges per operation. It turns out that the power dissipated in charging a capacitor from a given voltage to another voltage is the same regardless of how fast the capacitor is charged, so each digital operation takes the same amount of energy regardless of how fast the operation is performed (obviously this breaks down if you go too fast or too slow, but this is accurate within the available speeds). Running the calculator faster takes the same amount of energy to do the digital operations as running it slower, but since less total time is taken, there is less overhead energy lost to the analog circuits so the total energy consumption is less. In the following example the calculator is running in a continuous loop but no one cares how many computations it accomplishes: > You may wonder why anyone would want to do this, since operating speed >would be three times slower. One application written by Bob (but not yet >released) is an alarm system for the hp28s called CRON. If you need to use >your 28s for an alarm system, or to run programs at a set time/date, then you >can use CRON. CRON allows you to set repeating or one-time alarms. CRON >accomplishes this by constantly checking the date, time, and setting of >all alarms. Obviously, CRON does not need to run at full power. When CRON >is in "sleep" mode, the display is turned off, and the speed is set >to 0, saving 42% of normal operating power. When it is time to take >action on an alarm, CRON enables the display and restores the speed to 7. >This is a perfect application for reduced operating power. Dave Rabinowitz
robert@longs.LANCE.ColoState.Edu (Robert D. Thompson) (12/04/90)
> Relay-Version: VMS News - V6.0 13/10/90 VAX/VMS V5.4; site gacvx2.gac.edu > Path: gacvx2.gac.edu!noc.MR.NET!msi.umn.edu!src.honeywell.com!sol.ctr.columb ia.edu!emory!swrinde! > zaphod.mps.ohio-state.edu!usc!snorkelwacker.mit.edu!mit-eddie!uw-beaver!mil ton!ogicse!orstcs!usenet!ECE.ORST.EDU!daver > Newsgroups: comp.sys.handhelds > Subject: Re: HP28 power study > Message-ID: <1990Dec01.224400.11957@scion.CS.ORST.EDU> > From: daver@ECE.ORST.EDU (Dave Rabinowitz) > Date: 1 Dec 90 22:44:00 GMT > Sender: @scion.CS.ORST.EDU > References: <3017@gmuvax2.gmu.edu> > Organization: Oregon State University -- Electrical & Computer Engineering > Nntp-Posting-Host: ece.orst.edu > Lines: 76 > > In article <3017@gmuvax2.gmu.edu> peraino@gmuvax2.gmu.edu (Bob Peraino) writ es: > >A few people have asked how much power can be saved if the operating speed > >were set to 0, and the display were turned off. We can now calculate this. > >From the above power chart, we see that speed 7 draws 2399 uAMPS and speed > >0 draws 1633. Combined with disabling the display at minimum contrast, this > >is a savings of (2399-1633)+243 = 1009, or about 42% of the normal operating > >current. > [ Stuff Deleted ] > This is not a surprising result. Actually it is > The hp28s is implemented in CMOS, so for > digital operations there is no DC power I would really like to see this CMOS design!! > (there is DC power in the analog > circuits which generate the display voltages, generate the CPU clock and > check the battery condition, etc.). Each operation requires charging and > discharging capacitances, and the same capacitances go through the same > charge and discharge cycles to execute the same operations regardless of > operating speed. Therefore, you can think in terms of capacitance charges > per operation. It turns out that the power dissipated in charging a > capacitor from a given voltage to another voltage is the same regardless > of how fast the capacitor is charged, so each digital operation takes the > same amount of energy regardless of how fast the operation is performed > (obviously this breaks down if you go too fast or too slow, but this is > accurate within the available speeds). Running the calculator faster takes > the same amount of energy to do the digital operations as running it slower, > but since less total time is taken, there is less overhead energy lost to the > analog circuits so the total energy consumption is less. So basically you are sayin that the HP-28 is an analog computer of sorts. I beg to differ !!! In fact CMOS typically demands more power at higher clock frequencies. This can be seen by looking at the spec sheets for a simple CMOS gate. Furthermore, the capacitors used to drive the display (for instance) have no relevance here. They play *NO* part in the performance of the math functions available in the calculator and as such have no role in the consumption of power when considering the execution of a program, for example. The power thay consume, or rather the driving circuitry, is dependent on such things as display contrast, battery voltage, temperature, etc. Lets get some background information before we release -Robert ------------------------------------------------------------------------------- Department of Electrical Engineering | "If you are going to say it, Colorado State University | check the facts..." | Center for Computer AssiSted Engineering | robert@longs.LANCE.ColoState.Edu Colorado State University | -------------------------------------------------------------------------------
edp@jareth.enet.dec.com (Eric Postpischil (Always mount a scratch monkey.)) (12/05/90)
In article <9012040556.AA19531@longs.LANCE.ColoState.Edu>, robert@longs.LANCE.ColoState.Edu (Robert D. Thompson) writes: >In fact CMOS typically demands more power at higher clock frequencies. I think you are writing of power (energy per unit of time) whereas the original author wrote of energy per operation, so both can be correct: Something that takes more power at higher frequencies can still use the same amount of energy for a given number of operations. -- edp