100 likes | 209 Views
Energy in sensor nets. Where does the power go. Components: Battery -> DC-DC converter Sensors->ADC->MCU+Memory Radio. Micro-controller unit MCU. Intel strong arm – 400mW Atmel AVR – 16.5 mW Of course, strong-arm can accomplish more processing in a shorter amount of time
E N D
Where does the power go • Components: • Battery -> DC-DC converter • Sensors->ADC->MCU+MemoryRadio
Micro-controller unit MCU • Intel strong arm – 400mW • Atmel AVR – 16.5 mW • Of course, strong-arm can accomplish more processing in a shorter amount of time • Intel strong arm – 50mW in idle and 0.16mW in sleep • Battery 3000mAh • .16mW=>781 days • 16.5mW=>7.5 days • 400mW=>7.5 hours
MCU continue • 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 o 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
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. It is wasted (why? Clocks are not stable. Why? PLLs have not stabilized.) • Define power usages in the four power levels as P_i. 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. The power usage decreases linearly when going to sleep • Going to low energy is deemed useful only is more energy is saved during the procedure than is expended by going in and come out of the low power state. • The energy save is • The threshold for going to sleep power k is
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
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
radio • The radio can use a large fraction of the total power
radio Not shown is that when the radio is turned on and off, large amount of power are required
battery • Batteries are specified in terms of mAh, milliamp hours. An AA has about 2000-3000mAh. • The battery also has a maximum current drain to meet the specified lifetime. • If the current is beyond that, then the lifetime is greatly reduced in that one does not receive the 3000mAh as promised. • The problem is that this current is very small, smaller than what is required to keep the system running. • Relaxation effect • If the system is turned on and current brought to nearly zero, then the battery can catch-up and the full lifetime can be acheived