610 likes | 627 Views
This article reviews different network architectures for habitat or environmental monitoring, including multi-levels, extent, duration, and energy sources. It discusses the role of mobility and adaptation and the involvement of distributed control. The insight from description vs empirical evaluation is also examined.
E N D
CS294-1 Deeply Embedded NetworksPlatformsSept 2, 2003 David Culler Fall 2003 University of California, Berkeley
Review of last time • 3 different network architectures for habitat or environmental monitoring • Multi-levels • Extent, duration, energy sources • Role of mobility and adaptation • Where was distributed control involved? • Insight from description vs empirical evaluation? CS294-1 F03
Reading Materials • G. J. Pottie and W. J. Kaiser, Wireless Integrated Network Sensors , CACM, 43(5), May 2000. • Mica: A Wireless Platform for Deeply Embedded Networks, Jason Hill and David Culler, IEEE Micro., vol 22(6), Nov/Dec 2002. • L. Doherty, B.A. Warneke, B.E. Boser, and K.S.J. Pister, "Energy and Performance Considerations for Smart Dust." International Journal of Parallel Distributed Systems and Networks, Volume 4, Number 3, 2001. • The PicoRadio Test Bed, Burghardt, Mellors, Rabaey • PicoRadio Supports Ad Hoc Ultra-Low Power Wireless Networking, Rabey, Ammer, da Silva, Patel, and Roundy CS294-1 F03
Outline • Touch of history • 3 Platform Perspectives • WINS – estimation theory • SmartDust – analog design, chip technology • Mica - systems • WINS vision • bi-part architecture for passive vigilance • PicoRadio • Incorporate programmable logic for protocol processing, as well as signal processing • Smart Dust • Really serious about energy limits • Simple, un-partitioned architecture • Berkeley TinyOS motes take off • Mica • accelerate primitives not solutions • Rich interfaces and flexible composition for cross-layer optimization CS294-1 F03
Early History • 1966 Igloo White • http://home.att.net/~c.jeppeson/igloo_white.html • 1986 DARPA packet Radio program Name Model Variant Type Length Weight ADSID I (N)- - - - - - normal seismic 31.00 ins 26.0 lbs ADSID I (S)MA-36 short seismic 20.10 ins 13.7 lbs ACOUSID II TC-415 seismic-acoustic 53.14 ins 38.8 lbs ACOUSID III MA-31 seismic- acoustic 47.63 ins . 37.2 lbs ADSID III (N)MA-33 normal seismic 37.66 ins . 37.2 lbs ADSID III (S)MA-37 short acoustic 20.10 ins . 13.7 lbs MODS81 mm mortar seismic 33.00 ins . 9.6 lbs CS294-1 F03
Classic Wireless Architecture • Partitioned system with narrow, std interfaces • Similar picture to 802.11 NIC • uP are poor at driving radios directly • Over sampling, start symbol, … • Partitioning driven by many factors • Local optimization • Standardization • IP protection • Works best in well-established areas • Encumbers deep innovation • Ex: ppp for data on cell CS294-1 F03
Emergences of WINS • 1994 Pottie and Kaiser propose Low Power Wireless Integrated Microsensor • LWIM nodes built around 1996 • DARPA Sensit Program • Late 97-98 handhelds emerge • palm • ITSY, BWRC PicoRadio, Srivastava UCLA, Chandrakasan MIT, … • Matchbox PCs • Bluetooth promised • Berkeley SmartDust • 1999 WeC mote offshoot • SCADDS (USC/UCLA) pc104s & tags • 00 Mote / TinyOS platforms • WINS ng finally appears in Linux for Sensit • 02 Mica NEST OEP creates de facto platform • 03 Bluetooth revival CS294-1 F03
WINS case for distributed sensor nets • must distribute to detect reliably regardless of $ • All signals decay with distance (r^2) + absorption, scattering, dispersion, …even with line of sight • Often need to track multiple objects • Obstructions, clustering • Detection and estimation theory • observables {Xj} – sample outputs of sensors • target signal plus background noise & interference • features {fk} – reduced representation of observations • Fourier, LPC, wavelet coefficients • hypotheses {hi} – presence/absence based on estimates of feature set • Choose hi if P(hi | {fk} ) > P(hj | {fk} ) for j != I • Reliability: number of independent observations and SNR • Complexity: dimensions of feature space, # hypotheses => More observations, rather than more processing per observation => Short range means better SNR => Fewer targets (hypoth’s) in range of set of sensors => Nearly homogeneous over small regions CS294-1 F03
Radio propagation • Energy required to transmit distance d • Et = bdn • n is about 2 in freespace, about 4 near ground • Indoor has lots of other complications • Small energy => short range + Allows spatial multiplexing • Multihop routing required to achieve distance • Energy per hop is more + routes around obstacles • Requires discovery, topology formation, maintenance • may dominate cost of communication • Requires media access control • Time, space, frequency, … • Energy to receive ~ Et at short range • Dominated by listening time (potential receive) • Radio must be OFF most of the time! • WINS asserts diversity through spreading & coding CS294-1 F03
Passive Vigilance Parts of the system must be sampling environment all the time • Reliable detection costs too much energy • use low-cost, low resolution techniques to detect potential event • Bring in more powerful, more costly options (infrequently) when important Example: seismic sensor triggering camera Processing hierarchy => Introduces processing, storage, and communication issues CS294-1 F03
WINS node arch • Two-part architecture • Combine network performance info, synch, BW reservations, into data messages • Morphed into Sensoria automotive telematics • www.sensoria.com • Observe variant on classical partitioning CS294-1 F03
PicoRadio Concept Arch • Embedded proc. for appln and protocol stack • High complexity, low frequency • Reconfigurable logic between uP and simple radio front end • Powerful data processing (SW radio) on the side • Potentially rich interfaces through FPGA • Propose 3-stage development • 2000: COTS, 2002:chip, 2004:better chip CS294-1 F03
PicoRadio I implementation (2002) • ARM 1100 proc, 4 MB • Bluetooth front-end (sans baseband controller) • 130 – 300 mw @ 60 MHz, 430 – 700 @ 200Mhz • day(s) operation on set of cell phone batteries CS294-1 F03
Smart Dust • Focused even more sharply on energy CS294-1 F03
Resolution & range sensitivity env ADC proc transducer amp Ex: acc 1 V to 16 bits => 15 uV resolution mV/G Energy Picture • Li ion battery 2 J / mm2, Ultracap: 1 mJ/ mm2 • Solar 1 mW/mm2 (~1 J/day/ mm2) x 30% • 1 uW/ mm2 indoors • Vibration - 10 uW/g (2 mg in a mm3 of silicon) • 1000x energy gap bottom-up analysis vs uP • 10 – 20 pJ/inst (16 bit) • Lots of circuit tricks (ripple carry, bus design, address reuse) • Leakage dominated by memory • ADC Energy increases fiercely with resolution CS294-1 F03
Communication • Radio • P Rmin > kTB Nf SNRmin • Pr = Pt Gant / 16 p2(d/l)n • 1 uJ/bit for 100m at 1 kbps ground-to-ground • 0.1 pJ/bit in free space • Alternatives? • Directional • Optical • Powered by larger transmitters • Optical LOS Pr = Pt Gant Arx/ 4 pd2, Gant ~ 4p/ q2 CS294-1 F03
4Mhz, 8bit MCU (ATMEL) 512 bytes RAM, 8K ROM 900Mhz Radio (RF Monolithics) 10-100 ft. range Temperature Sensor Light Sensor LED outputs Serial Port COTS Mote (Seth Hollar) COTS Dust weC Mote All physical subsystems “exposed” to processor => fine-grain multithreading in SW to coordinate flows. CS294-1 F03
System Characteristics of WSNs • Small physical size and low power consumption => Limited Physical Parallelism and Controller Hierarchy => primitive direct-to-device interface • Concurrency-intensive operation • flow-thru, not wait-command-respond => must handle multiple inputs and outputs simultaneously • Diverse in Design and Usage • application specific, not general purpose • huge device variation => efficient modularity => migration across HW/SW boundary • Largely Unattended & Numerous => robust operation => narrow SW interfaces (but highly application specific) CS294-1 F03
Rene: Second Generation ‘Mote’ • A tool for experimentation • 3 Board Sandwich. • Main CPU boardwith Radio Communication. • Sensor Board • Power Board • Rich interconnection • Allows for expansion andcustomization. • Many sensor boards:Acceleration, Magnetic Field,Temperature, Pressure,Humidity, Light, and RF Signal Strength. • Can control RF transmission strength & Sense Reception Strength. CS294-1 F03
Rene @ Sensit • UAV drops 10 nodes along road, • hot-water pipe insulation for package • Nodes self-configure into linear network • Synchronize (to 1/32 s) • Calibrate magnetometers • Each detects passing vehicle • Share filtered sensor data with 5 neighbors • Each calculates estimated direction & velocity • Share results • As plane passes by, • joins network • upload as much of missing dataset as possible from each node when in range • 7.5 KB of code! • While servicing the radio in SW every 50 us! 29 palms, 3/01 CS294-1 F03
Services Networking TinyOS www.tinyos.net Rene 11/00 Mica 1/02 Dot 9/01 Demonstrate scale - Intel • Designed for experimentation • sensor boards • power boards • DARPA SENSIT, Expeditions NEST open exp. platform 128 KB code, 4 KB data 50 KB radio 512 KB Flash comm accelerators - DARPA NEST Mote Platform and Community WeC 99 “Smart Rock” Small microcontroller - 8 kb code, 512 B data Simple, low-power radio - 10 kb EEPROM storage (32 KB) Simple sensors Crossbow CS294-1 F03
Panasonic CR2354 560 mAh Rene Power Breakdown • But what does this mean? • Lithium Battery runs for 35 hours at peak load and years at minimum load! • That’s two orders of magnitude difference! • A one byte transmission uses the same power as approx 11000 instructions. CS294-1 F03
Panasonic CR2354 560 mAh System tradeoffs: simple radio, fast on/off, application behavior CS294-1 F03
Mote Expansion Connector (v1) • Documented hardware interface • Swap components on either side of the connector while preserving investment in sensors or main boards • Sensor interfaces • 4 lines dedicated to switching components on and off • 7 analog voltage sensing lines • 2 I2C busses • SPI • UART lines • Debugging aids • All radio-related signals: RX, TX, base band, control signals, signal strength • Programming interfaces • SPI and reset signals for the main processor and the coprocessor • Ground, Vcc for both analog and digital circuits • 12 lines reserved for future use CS294-1 F03
Rene Mote Connector Schematics CS294-1 F03
Power Lines • Need to control on/off state of individual sensors • Independently switched, used as outputs • Capability • Sink up to 20 mA, source a bit less • If more current is required by a sensor circuit, use MOSFETs • No higher level protocol attached • The place to implement functionality not provided by standard interfaces CS294-1 F03
Analog Lines and AD Conversion • Many sensors provide an analog interface • Simple voltage dividers with photo resistors, thermistors, etc. • Whetstone bridges, condenser microphones, etc. • Need analog voltage sensing lines • 10 bit ADC, 2 LSB=> 8 usable bits • 3 mV error • Rail-to-rail range • Sampling rate • Max 15.4 ksps in continuous sampling mode • Max 4 ksps in a single sampling mode • 8 multiplexed channels • One dedicated to sampling BBOUT • Sampling rate high enough for most environmental phenomena • Interrupt driven, or polling version CS294-1 F03
I2C Bus • 2-wire serial bus: clock and data • Clock is an “or” of all clock generators, the slowest clock generator dictates the speed • Bi-directional data line • Higher level protocol than UART or SPI • Defines a protocol for multiple device access, up to 128 devices per bus • Defines a multiple master arbitration • Allows for multi-byte transactions • Speed: up to 400 kbps • Software and HW implementations • Soft timing constraints mean that the use of timers is not mandatory, use tasks instead • Many slave devices available • EEPROM used for logging and other permanent storage • IO extenders, ADC converters, sensors, etc. • other significant chip-chip interconnect is 1-wire CS294-1 F03
SPI • 3-wire, full duplex serial bus: clock, MISO, MOSI • Connector bus defines 2 SPI busses • Speed: up to 1 mbps • Hardware support on the main processor, software implementation on the coprocessor • Low-voltage programming interface to ATMEL microcontrollers • Interaction with coprocessor • Cyclic 16 bit distributed register • Buffering within the SPI critical • TI MSP provides double buffering on TX => 2X radio performance CS294-1 F03
UART • A standard way for exchanging information with a PC • Voltage conversion and connector required, provided by the programming board • Available speed: 2400 bps to 115 kbps • Most reliable for communication with PC: 19.2 kbps • Large clock rate errors at high sending rates • 1 byte FIFOs • Hardware doesn’t buffer multiple bytes of either input or output • Operate in either polling or interrupt driven mode • TinyOS uses UARTs in interrupt driven mode CS294-1 F03
What is the sensor-interface of the future? CS294-1 F03
AVR Processor Core • 8-bit “RISC” at 4, 8 or 16 MHz • Memory • 8 Kbytes of program memory (flash) • 512 bytes of data RAM • 512 bytes of EEPROM on chip (write: 4 ms/byte) • 32 8 bit registers • IO capabilities • 32 general purpose IO lines • Some lines also serve more specialized purposes, e.g. UART • 10-bit 8-channel ADC • Connector interface means that the IO lines serve a more specific purposes • Interrupts • No external interrupts available • No interrupt queuing • More recent ATMEGAs • Faster, more memory, better peripheral support • ARM thumb and other ARMs have little peripheral support CS294-1 F03
Clocks and Timers a key resource • Clock sources • Internal high-speed resonator, low precision • External low-speed, high-precision oscillator • Only thing running when sleeping • External high-speed, high-preciosn oscillator • Counters • 3 – 4 hardware counters • 8 or 16 bits • Scale & Interval • Compare, interrupt, periodic • Uses • General free running clock • Wake-up (t0 is external 32 KHz) • Radio timing (mica t1 16-bit free running for bit capture, t2 8-bit for general op) • Critrical with RFM, not with ChipCon • Sensor sampling • Application scheduling (t1 free running) • Inherent tension between generality and precision CS294-1 F03
Programming the Processor • Program the runtime memory image into a flash • No loader, no dynamic linker • Programming steps • Extract the code and data segments from an executable into an SREC file • Erase the current contents of the flash • Reset the processor • Download the program • Serial download protocol • Each download command contains the address, and the contents of to be stored • 10 ms delay per byte of code • Verify the program: read the flash, match it against the source image • After reset, start executing C runtime • rewrite the flash on the fly??? • Present in some uP (not Rene or Mica, yes Mica2 and dot) • Remapping? Protection? • Network Programming? CS294-1 F03
Coprocessor Circuit • Coprocessor: ATMEL AVR AT90S2343 • 2 Kbytes of code space • 1 MHz internal clock • Required connections • SPI for programming the main microcontroller • RESET for the main controller • I2C for accessing EEPROM storage • Insufficient pins – I2C and SPI clock lines are shared • Minimal capability • Software SPI • Software I2C CS294-1 F03
Radio Circuit • RFM Monolithics TR1000 916 MHz radio • On/off keying at 10 kbps (max. 19.2 kbps) • Capable of 115 kbps using amplitude shift keying • Capable of turning on in 30 us • Low-power listening by switching on and off on a sub-bit granularity • Processor interface • RFM CNTRL 0 and 1 – switch between transmit, receive, and sleep • Raw, unbuffered access to transmit (RFM TX) and receive (RFM RX) • Requires DC balanced signal – an equal number of 1’s and 0’s in the signal • Sampling on reception and modulating on transmission done is software • Too much noise in received signal to use UART for sampling • too little flexibility offered by UART • Imposes real time constraints on the system • Power usage • Transmit current: 7 mA • Receive current: 4.5 mA • Sleep: 5 uA CS294-1 F03
Radio Signal Strength • Measuring the quality of reception from a node is useful • Aid in multihop routing decisions • Help with location estimation • Signal strength measurement • Based on base band sampling • Demodulated and amplified analog signal, fed into ADC channel 0 • Raw samples further processed in TinyOS • Empirical evaluation* *Klemmer, Waterson, Whitehouse, 2000 CS294-1 F03
Radio Transmission Strength Control • Useful in networking experiments • Control the cell size • Allow for power savings • Principles of operation • Radiated power is proportional to the square of the current on RFM TX pin • Signal strength control • Controlled through a digital potentiometer (DS 1804), 0-50 kOhms • Currently no observable effects on power usage • Evaluation • Optimal transmission at the pot setting of 10 kOhms • Changing the range from 45 to 90 feet in an indoor environment • Changing the transmit strength has no effect on power usage • Effects secondary to shape/length of the antenna CS294-1 F03
LEDs • Basic mote UI and a great debugging tool • Power consumption: 6mA • LED consumes as much power as the main microcontroller • If power is a concern, turn them off! • LED 1 and LED 2 multiplexed with the signal strength potentiometer control • Use them for controlling any other DS 1804 pots, one at a time • Many groups have built add-on segmented displays CS294-1 F03
narrow standardized intrerface rich physical interface New Architectures? Embedded Network Arch. Typical Wireless Arch. (cellphone) • Traditional approach is to partition design into specialized subsystems with rigid interfaces. • TinyOS allows low and high-level processing to be interleaved. • rich physical information can be exposed • specialized hardware to accelerate primitives • Enables cross-layer optimizations audio kbd / display Sensor / Actuators Codec Application Controller CoProc Multi-Purpose Controller DSP protocol accelerators Protocol Processor RF Transceiver RF Transceiver CS294-1 F03
Mica Architecture CS294-1 F03
Basic Packet Processing • Key accelerators • Start symbol detection • Channel Synchronization • Bit Spooling • Potentials? • CRC?, encrypt/decrypt • Carrier sense? Collision detect? CS294-1 F03
Cross Layer Optimizations • Low-power listening • Shift cost from frequent receive to infrequent send so listening is cheap • No compromise on latency and bandwidth • HW alternatives? • RF wake up • Treat radio as a sensor, rather than communication device • Escalating event detection • Time Synchronization • Source/recv tightly synchronized for comm to work • Minimize system induced variance • Eliminate uncertainty in transmit path • Ranging for Localization • Signal strength, time-of-flight CS294-1 F03
Example Application Environmental Monitoring • Sample period: 4 sec • Reporting period: 5 min • Data analysis: in-network aggregation Alarm Notification • Local processing for large variation detect • Report alarm within 4 secs CS294-1 F03
Optimization evaluation • Sensing & Processing • 15 mw 17 mJ per day • Sleeping • 60 uw 5038 mJ per day • Communination • hardware accelerators for edge capture and serialization • 10 kbps => 50 kbps 2262 => 452 mJ/day5x • Rendezvous: 2x time-synchronization* • time-stamp packets: +- 100 ms • radio bit edge detection: +- 2 us • radio-level timesynch 669 => 33 mj/day20x • Wake-up • packet listen: 108 ms (21 ms) 54,000 => 25 mj/day2000x • sample radio channel for energy: 50 us • Combined: 2AA lifetime grows from 1 year to 9 years • dominated by sleep energy * receiver-based alternative (Elison) CS294-1 F03
UC Berkeley Family of Motes CS294-1 F03
Mica2 and Mica2Dot • ATmega128 CPU • Self-programming • Chipcon CC1000 • FSK • Manchester encoding • Tunable frequency • Byte spooling • Power usage scales with range 1 inch CS294-1 F03
Basic Sensor Board • Light (Photo) • Temperature • Prototyping space for new hardware designs CS294-1 F03
Light (Photo) Temperature Acceleration 2 axis Resolution: ±2mg Magnetometer Resolution: 134mG Microphone Tone Detector Sounder 4.5kHz Mica Sensor Board CS294-1 F03
5” x 2.5” x 3” size <$250 total 2-axis accelerometer COTS-BOTS (UCB)Commercial Off-The-Shelf roBOTS CS294-1 F03