Energy in sensor nets - University of Delaware
Download
Report
Transcript Energy in sensor nets - University of Delaware
Energy in sensor nets
Where does the power go
• Components:
–
–
–
–
–
–
Battery -> DC-DC converter
CPU + Memory + Flash
Sensors + ADC
DAC + Audio speakers
Display
Radio
CPU Energy
• Active
– All clocks running to all subsystems
• Idle
– Halt CPU, preserve context, able to respond to interrupts.
– When an interrupt occurs, processor returns to active
• Sleep
– Turn off power to most circuits.
– Able to monitor wake-up event
• Advanced configuration and power management interface
(ACPI) allows the OS to interface with the power saving
modes
– ACPI MCU has 5 states of various power, SystemStateS0 – fully
working, to SystemStateS4
– ACPI devices have similar 4 states
CPUs
• Intel strong arm –
– Full power: 400mW
– Idle mode: CPU clocks are stopped, but peripheral clocks are active (so
peripheral interrupts can occur) 100 mW
– Sleep mode: only a real time clock. Only timed wake up can occur. 50
micro W (some cell phones have alarms that can ring even when turned
off)
• Texas instruments MSP 430
– Wide range of modes
– One fully operational mode 1.2 mW
– 4 sleep modes
• Deepest sleep: only external interrupts can cause wake up = 0.3 micro W
• Next deepest sleep: the clock can cause wake ups = 50 micro W
• Atmel Atmega
– Active modes range from 6mW to 15mW.
– Sleep mode uses 75 micro watts
Dynamic voltage scaling
•
•
•
•
Power frequency * V2
If the frequency is reduced, or the voltage is reduced, power can be saved.
As all us “overclockers” know, there is a relationship between voltage and frequency (if
the voltage is decreased, the frequency must also be decreased)
Transmeta Crusoe
–
–
–
–
700 MHz at 1.65 V
200 MHz at 1.1V
Power is reduced by a factor of 7.8, but speed is only reduced by a factor of 3.5
Hence energy per instruction is reduced by 3.5/7.875=44%
Sleep state transition
•
Going to sleep and waking up is not free – it uses power. When transitioning, power is
used that cannot be used for any processing etc.
–
Waking
•
•
–
Wait for clocks to become stable and PLLs to stabilized
Waking from deep sleep might require moving data from static ram (or rom) to dynamic ram)
Sleep
•
•
Move data
Discharge of currnent
•
The deeper the sleep, the more time it takes to wake up (compare waking up in the
morning to waking up from dozing off as I speak)
•
Let the power usages in the four power levels be Pi. And d,k to be the time used to go
from the active state to power level k, and u,k to go from low power state k to active
state. The power usage decreases linearly when going to sleep
state
Pk
d,k
(ms)
u,k
(ms)
S0
1040
-
S1
400
5
8
S2
270
15
20
S3
200
20
25
S4
10
50
50
Deep Sleep vs. Light Sleep
•
•
If delay is important, then deep sleep might not be “better” than deep sleep.
– But to determine the trade-off between delay and energy requires a user model
Without user models, deep sleep might use more energy
Option 1 – after event is processed, go to deepest sleep
Option 2 – after event is processed, go to light sleep
PActive
P1
P0
interrupt
interrupt
There is a significant amount of time that the deep sleep uses more power than the light sleep
Optimal Sleep Depth
Energy Saved light sleep 1
P P L
T up 1
P P L
T down
P A P L
T T up T down T P
2 A
2 A
Let
T up T down o
P A P L
That is the time to go into sleep is affine with the amount of power saved
state
Pk
d,k
(ms)
u,k
(ms)
S0
1040
-
S1
400
5
8
S2
270
15
20
S3
200
20
25
S4
10
50
50
In matlab
plot([(1040-10) (1040-200) (1040-270) (1040-400)], [50 22.5 17.5 6.5])
Optimal Sleep Depth
Energy Saved light sleep 1
P P L
T up 1
P P L
T down
P A P L
T T up T down T P
2 A
2 A
Let
T up T down o
P A P L
Energy Saved light sleep
1
P P L
o P A P L 1 P A P L P A P L P A P L T o P A P L o P A P L T P
2 A
2
P A P L
o P A P L 2P A P L o P A P L P A P L T T P
P A P L
T T P
P A P L
o P A P L
Let u
P A P L
u
T T P u
u
u
T T P uu 2
u
T T P u 2
d
u
T T P u 2
T T P 2u 0
du
T T P 2u
T T P 0
u
2a
Optimal Sleep Depth
u
TT P 0
2a
T T P 0
2a
T 2a
P A P L T p 0
P A P L
o 67ms
0. 112
2
0. 112
P A P L 67 T p
2
0. 112
1040 1067 T p 163ms T p
2
0. 112
1040 20067 T p 121ms T p
2
0. 112
1040 27067 T p 105ms T p
2
0. 112
1040 40067 T p 76ms T p
Multiple power save modes are not that useful. The
deepest sleep is most likely the best.
Active power management
• Variable voltage processing – dynamic voltage scaling
(DVS)
– The voltage and clock frequency can be decreased to save power.
– We can assume that the power decreases quadratically with voltage
and linearly with frequency.
– Of course, decreasing clock freq. Decreases the MIPS so the
decrease in clock does not change the power required for a
computation. On the other hand, a lower voltage might be possible
at lower clock speed, resulting in a large saving in power.
Clock only
Clock and voltage
power
Clock freq
freq
volt
active
idle
sleep
133
1.55
240
75
50mi
croA
206
1.75
400
100
50mi
croA
Active power management
• Sleep has the most power saving. Maybe getting there fastest is the
best thing.
• E.g, 59MHz = 1V, 221MHz=1.75
• Reduction in speed is 59/221 = 0.26 (so 1/.26 more time is needed).
Reduction in power is (1/1.75)^2 = 0.32.
• Total change in energy is 0.32/0.26 > 1 => more energy is used. It is
better to use full power and go to sleep ASAP (assuming there is very
little power used at sleep, which is true)
• On the other hand, if one is merely waiting for something to happen,
then low power is useful.
• Also, if events occur frequently, then it is not useful to go to sleep and
best to finish one task just as the next event has occurred. Running
NOPs is a complete waste of energy.
• Clearly, the programs must be written with power in mind, with the
processor in mind.
• A power aware OS can help
Battery capacity
•
•
Batteries are specified in terms of mAh, milliamp hours. An AA has about
2000-3000mAh.
Capacity is often measured in J/cm^3 (recall a 1 J = 1 watt * sec)
– So an AA battery = 2.5Ah*1.5V*3600 = 13500 J
Battery issues
• Capacity under load
– If too much energy is drawn from the battery, the battery will not be able
to supply the specified amount of energy – it may even break.
– Typically, sensors will draw more power than the battery can supply for
optimal lifetime.
• Self discharge
– Batteries will lose energy over time even if no energy is drawn from them.
– E.g. zinc air batteries have a lifetime of a few weeks
• Efficient recharging
– Some techniques, e.g. solar, can only generate very low current, but over a
very long time.
– However, batteries require fairly high current to charge…
• Relaxation
– Batteries are based on a chemical process…
– Once a battery is “drained,” if left alone, it may “regain” some energy.
– If the relaxation is understood, then the sensor could take advantage of it
and extract more power from the battery
DC-DC Converter
• The battery voltage might be larger or smaller than the
sensors and processors require.
• DC-DC converter converts from one voltage to another
• DC-DC converters are not 100% efficient
Energy scavenging
•
Photovoltaics
–
–
–
•
Temperature gradient
–
–
–
•
–
–
Depending on the amplitude and frequency, it is possible to generate between 0.1
microW/cm^3 to 10mW/cm^3
Practical device of 1 cm^3 can generate 200 microW/cm^3 from 2.25 m/s^2 at 120 Hz.
How much is this? Displacement = A*sin(2*pi*120*t) -> acceleration=(2*pi*120)^2*A = 2.25
=> A=4e-6m….?
Pressure vibration
–
–
–
•
A difference of 5C can, theoretically, produce considerable power.
But it is difficult to achieve the theoretical limit
Seebeck effect-based thermoelectric generators might achieve 80 microW / cm^2 at 1V from
5C temperature difference.
Vibrations
–
•
10 microW/cm^2 indoors and 15 mW/cm^2 outdoors
A single cell creates 0.6V, which is not high enough the charge a battery. So many cells are put
in series.
Solar cells is an active area of research
Sneakers with lights
330 microW/cm^2
This could be used for sensors in roads
Air/liquid flow
Energy scavenging vs energy capacity