Designing Low Power Wireless Systems Telos / Tmote Sky Joe Polastre UC Berkeley Moteiv Corporation
Faster, Smaller, Numerous Moore’s Law “Stuff” (transistors, etc) doubling every 1-2 years Bell’s Law New computing class every 10 years Streaming Data to/from the Physical World log (people per computer) year
Applications Monitoring Interactive and Control Sample Rate & Precision Disconnection & Lifetime Density & Scale Low Latency Mobility Monitoring Habitat Monitoring Integrated Biology Structural Monitoring Interactive and Control Pursuer-Evader Intrusion Detection Automation
Berkeley Motes Timeline Rene’ “Experimentation” Mica “Open Experimental Platform” Telos “Integrated Platform” WeC “Smart Rock” Dot “Scale” Spec “Mote on a chip” 1999 2000 2001 2002 2003 2004
Low Power Operation Efficient Hardware Efficient Software Integration and Isolation Complementary functionality (DMA, USART, etc) Selectable Power States (Off, Sleep, Standby) Operate at low voltages and low current Run to cut-off voltage of power source Efficient Software Fine grained control of hardware Utilize wireless broadcast medium Aggregate
Typical WSN Application Short active time processing data acquisition communication Communications Periodic Data Collection Network Maintenance Triggered Events Detection/Notification Duty Cycled Sleep 99+% of time Active time is very short Milliseconds or less Long Lifetime Months to Years without changing batteries Power management is the key to WSN success wakeup Power sleep Time
Design Principles Key to Low Duty Cycle Operation: Sleep – majority of the time Wakeup – quickly start processing Active – minimize work & return to sleep For long lived wireless networks, optimize sleep, then wakeup, then active current consumption and processing time For low duty cycle networks, active mode optimizations (like dynamic voltage scaling) provide insignificant benefits
Sleep Majority of time, node is asleep Minimize sleep current through >99% Minimize sleep current through Isolating and shutting down individual circuits Using low power hardware Need RAM retention Run auxiliary hardware components from low speed oscillators (typically 32kHz) Perform ADC conversions, DMA transfers, and bus operations while microcontroller core is stopped
Wakeup Overhead of switching from Sleep to Active Mode Reduce wasted energy due to switching modes Microcontroller Radio (IEEE 802.15.4) cap charging enter rx load regs osc on rx Time (ns) Texas Instruments MSP430 Fx1xx Chipcon CC2420 292 ns 1.6 ms 10ns – 4ms typical 1– 10 ms typical
Active Microcontroller Radio External Flash (stable storage) Fast processing, low active power Avoid external oscillators Radio High data rate, low power tradeoffs Increased complexity vs robusness to noise External Flash (stable storage) Data logging, network code reprogramming, aggregation High power consumption Long writes Radio vs. Flash 250kbps radio sending 1 byte Energy : 1.5mJ Duration : 32ms Atmel flash writing 1 byte Energy : 3mJ Duration : 78ms
Selecting a Radio Narrowband Wideband Low bit rate (< 250kbps) Lower frequencies higher range Simple channel modulation Susceptible to noise (narrow frequency use) Low power consumption (<15mA) Fast wakeup times (some may be clocked by MCU) Examples: RFM TR1000, Chipcon CC1020 Wideband High bit rate (100kbps+) High frequencies Global ISM band at 2.4GHz Complex channel modulation Robust to noise (using spreading codes) High power consumption (>20mA) Slow wakeup times (must start external oscillators) Examples: IEEE 802.15.4, Bluetooth
Microcontroller Memory Trends Available RAM has stayed fairly constant Instead of increasing RAM, extra die space used for hardware modules DMA: increases performance AND lowers power consumption
Accelerators vs Modules Hardware Modules Software routines pushed into hardware Lose flexibility Example: encryption Isolated to specific component Radio or Microcontroller Examples: Packet handling support Encryption Data busses and Timers Accelerators Break modules up into accelerators Let software tie them together Considerable flexibility Spec (Jason Hill thesis) Examples: RF Interrupt Handling Encryption Simple DMA for Tx/Rx Unfortunately, most manufacturers are moving to Modules, not Accelerators Examples: Newly released Chipcon CC2430, Ember EM250
Putting it all together Low ESR fast starting oscillator Low Power Microcontroller Wireless Transceiver Real Time Clock 32.768kHz for low power modes Disconnect unused peripherals
Telos Applications Principles Monitoring – H/VAC, Structural, Environmental, Medical Principles Low Power Long Lifetime Easy to use Robust hardware and software High Performance
Telos Wireless sensor module for building applications Standards Based USB IEEE 802.15.4/Zigbee TinyOS Expansion to other sensors Low Power Hardware designed from software principles for low power operation Isolation, buffering, fast wakeup from sleep Low Cost Integrated design 50m range indoors 125m range outdoors IEEE 802.15.4 New wireless standard for low power communication CC2420 radio 250kbps 2.4GHz ISM band Zigbee-compatible
Low Power Operation TI MSP430 -- Advantages over other microcontrollers 16-bit core 12-bit ADC < 50nA port leakage (vs. 1mA for Atmels) Double buffered data buses Interrupt priorities Calibrated DCO Integrated wireless module Buffers and Transistors Switch on/off each sensor and component subsystem
Hardware Isolation Experiences from Great Duck Island One component failure kills entire system Must isolate and detect failures Remove/Turn off voltage regulators Each “sub-circuit” on Telos is isolated Microcontroller turns on/off Fine-grained control of power consumption Reduce node failures from a single faulty component
Minimize Power Consumption Compare to using the AVR MCU and 802.15.4 radio Sleep Majority of the time, including peripherals Telos: 5.1mA AVR: 30mA Wakeup As quickly as possible to process and return to sleep Telos: 290ns typical, 6ms max AVR: 60ms max internal oscillator, 4ms external Active Get your work done and get back to sleep Telos: 4-8MHz 16-bit AVR: 8MHz 8-bit
CC2420 Transceiver Fast data rate, robust signal Low voltage operation 250kbps : 2Mchip/s : DSSS 2.4GHz : Offset QPSK : 5MHz 16 channels in 802.15.4 -94dBm sensitivity Low voltage operation 1.8V minimum supply Software assistance for low power microcontrollers 128byte TX/RX buffers for full packet support Automatic address decoding and automatic acknowledgements Hardware encryption/authentication Link quality indicator (assist software link estimation) samples error rate of first 8 chips of packet (8 chips/bit)
Power Calculation Comparison Design for low power AVR + CC1000 0.2 ms wakeup 30 mW sleep 33 mW active 21 mW radio 19 kbps 2.5V min 2/3 of AA capacity AVR + CC2420 0.2 ms wakeup 30 mW sleep 33 mW active 45 mW radio 250 kbps 2.5V min 2/3 of AA capacity Telos (TI MSP) 0.006 ms wakeup 2 mW sleep 3 mW active 45 mW radio 250 kbps 1.8V min 8/8 of AA capacity Supporting mesh networking with a pair of AA batteries reporting data once every 3 minutes using synchronization (<1% duty cycle) 453 days 328 days 945 days
Duty Cycle vs Lifetime
Supporting Software Pushing information up the stack 100% Link Quality Indicator Packet Yield 0% 0ft 250ft Distance
Increasing Robustness Golden Image Problem: Faulty software causes the system to halt Solution: Store known good image in write protected flash Microcontroller Flash ST M25P80 SPI Write Protect Write OK USB Write FAIL USB Power X USB Disconnected Next year marks the release of MCUs with 1MB Flash and Protected Segments
Entering the Golden Image Watchdog Count number of resets Voltage Maintain a low power state User Input Button presses Other options Grenade timer (XSM/Trio)
Key Contributions New design approach derived from our experience with resource constrained wireless sensor networks Active mode needs to run quickly to completion Wakeup time is crucial for low power operation Wakeup time and sleep current set the minimum energy consumed Sleep most of the time Principles for increased robustness Isolation: Fine grained software control Protected Golden Image Careful microcontroller/radio selection to meet app requirements
Want to experiment with Telos? Constraints: Up to 4 powered hubs in a chain USB cables up to 5m in length Up to 127 devices on a USB bus Practical testbed limits: 30m radius About a hundred motes Usable for a large room Low cost approach Off the shelf hardware