[comp.sys.handhelds] HP28 power study

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