350 likes | 364 Views
EECS 150 - Components and Design Techniques for Digital Systems Lec 23 – Wireless Networks. David Culler Electrical Engineering and Computer Sciences University of California, Berkeley http://www.eecs.berkeley.edu/~culler http://www-inst.eecs.berkeley.edu/~cs150. Outline.
E N D
EECS 150 - Components and Design Techniques for Digital Systems Lec 23 – Wireless Networks David Culler Electrical Engineering and Computer Sciences University of California, Berkeley http://www.eecs.berkeley.edu/~culler http://www-inst.eecs.berkeley.edu/~cs150
Outline • Abstraction in Networking • Encapsulation and layering • Physical Layer • Modulation • Coding • Quality metrics • Announcements • Media Access Control Layer • CSMA • Collision, Hidden Terminals • Network Interface EECS 150, Fa04, Lec 23 Wireless
IEEE 802.15.4 • Wireless Medium Access Control (MAC) and Physical Layer (PHY) specification for low-rate Wireless Personal Area Networks (LR-PANS) • “Wireless personal area networks (WPANS) are used to convey information over relatively short distances [10m]. Unlike wireless local area networks (WLANS), connected effected via WPANs involve little or no infrastructure. This feature allows small, power-efficient, inexpensive solutions to be implemented for a wide range of devices.” • 5.1 Components of the IEEE 802.15.4 WPAN • “A well-defined coverage area does nto exist for wireless media because propagation characteristics are dynamic and uncertain. Small changes in distance or direction may result in drastic changes in the signal strength or quality of the communications link. These effects occur whether the device is stationary or mobile.” EECS 150, Fa04, Lec 23 Wireless
Basic Tools of Abstraction • Composition: Build larger systems from smaller ones • Generalization: Tackle sub-problem and use the solution in a variety of ways • Software • functions, subroutines, objects, information hiding, encapsulation • Hardware • Digital abstraction, synchronous design methodology • Modules • Busses • Networks • Encapsulation • Protocols • Layering EECS 150, Fa04, Lec 23 Wireless
source address destination address Encapsulation payload EECS 150, Fa04, Lec 23 Wireless
data header trailer data header trailer Encapsulation: sequence of bits EECS 150, Fa04, Lec 23 Wireless
Application: logical communication rcv @rdata [src] data actual actual System: System: data header trailer actual actual Hardware Hardware: header trailer Layers Application: send @sdata dest actual actual Analog Transmitter Analog Receiver time EECS 150, Fa04, Lec 23 Wireless
More officially speaking • Internet four layers below application • Physical, MAC, Network (IP), Transport, EECS 150, Fa04, Lec 23 Wireless
IEEE 802.15.4 Architecture • “An LR-WPAN device comprises a PHY, which contains a radio frequency (RF) transceiver along with its low-level control mechanism, and a MAC sublayer that provide access to the physical channel for all types of transfer.” EECS 150, Fa04, Lec 23 Wireless
Physical Layer • “The features of the PHY are • activation and deactivation of the radio transceiver, • energy detection (ED), • link quality indication (LQI), • channel selection, • clear channel assessment (CCA), and • transmitting as well as receiving packets across the physical medium.” • Bands • 868-868.6 MHz Europe • 902-928 MHz North America • 2400-2483.5 MHz Worldwide EECS 150, Fa04, Lec 23 Wireless
Modulating and Demodulating the Channel • Transmitter emits a series of timed pulses (waveform) • Receiver samples this waveform (after finding particular edges) to recover the digital information stream • Examples: • on-off-keying (OOK) • 0 => no output, • 1 => output at particular carrier frequency • Amplitude shift keying (ASK) • 0 => low amplitude • 1 => high amplitude • Frequency Shift Keying (FSK) • 0 => freq A • 1 => freq B 0 1 1 0 0 1 0 EECS 150, Fa04, Lec 23 Wireless
Coding • Typically each bit is transmitted as a series of chips • Symbol (k bits) => n chips => waveform • Ensure that there are clear edges, not too far apart so that receiver can stay synchronized with transmitter • Differentiate valid symbol from noise • Examples • NonReturn to zero (NRZ) • 0 => 0, 1 => V, DC = V/2, string of zeros or ones • Manchester Encoding (MPE) • 0 => 01, 1 => 10 • used in ethernet (802.3) • 4B/5B • Each 4-bit nibble encoded as one of 32 5-bit values • at least one 0 and one 1 in each valid symbol EECS 150, Fa04, Lec 23 Wireless
802.15.14 Channels and Modulation • 16 channels in the 2450 MHz band separated by 5 MHz • O-QPSK : 16-ary orthogonal offset quadrature phase-shift keying • 4 bits => 32 chips • Spreads information over a wide spectrum EECS 150, Fa04, Lec 23 Wireless
Framing • The lowest-level envelop breaks the data stream into a sequence of “frames” • Each starts with a preamble to allow the receiver to lock on to the signal • may lock on in the middle • Start of frame delimiter to synch before actual packet (data unit) • 802.15.4 in units of octets EECS 150, Fa04, Lec 23 Wireless
What the PHY does • Code, transmit, receive, decode frames • activation and deactivation of the radio transceiver • energy detection (ED) within current channel • link quality indication (LQI) for received packets • channel selection • clear channel assessment (CCA) for CSMA-CA EECS 150, Fa04, Lec 23 Wireless
Announcements • No homework this week • Reading: 802.15.4 spec and cc2420 data sheet • Relevant parts • In the project final stretch • Use your time well • Serious cheating issue on CP 3 • EECS in the news: wireless sensor networks EECS 150, Fa04, Lec 23 Wireless
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 TinyOS/Mote - Open Platform WeC 99 “Smart Rock” Small microcontroller - 8 kb code, - 512 B data Simple, low-power radio - 10 kb EEPROM (32 KB) Simple sensors EECS 150, Fa04, Lec 23 Wireless Crossbow
Sensor Interface analog sensors ADC digital sensors Data SRAM pgm EPROM WSN Node Architecture • Efficient wireless protocol primitives • Flexible sensor interface • Ultra-low power standby • Very Fast wakeup • Watchdog and Monitoring • Data SRAM is critical limiting resource Flash Storage timers proc data logs Wireless Net Interface antenna RF transceiver pgm images WD Wired Net Interface serial link USB,EN,… Low-power Standby & Wakeup EECS 150, Fa04, Lec 23 Wireless
Berkeley/SF nytimes EPFL CSN accenture intel Example: Redwood Microclimates • 70% of H2O cycle is through trees, not ground • Can only observe top surface of the forest • Need to understand processes within the trees • Partially closed loop ecosystems EECS 150, Fa04, Lec 23 Wireless with Todd Dawson, UCB/IB
battery Wireless Micro-weather ‘Mote’ • Incident Light Sensors • TAOS total solar • Hamamatsu PAR • Mica2 “dot” mote • Power board • Power supply • SAFT LiS02 battery, ~1 Ah @ 2.8V • Weatherproof Packaging • HDPE tube with coated sensor boards on both ends of the tube • O-ring seal for two water flows • Additional PVC skirt to provide extra shade and protection against the rain • Radiant Light Sensors • PAR and Total Solar • Environmental Sensors • Sensirion humidity + temp • Intersema Pressure + temp mote Deep Collaboration with Intel EECS 150, Fa04, Lec 23 Wireless
Deployment and the Scientific Process EECS 150, Fa04, Lec 23 Wireless
Macroscope • See movies at http://www.cs.berkeley.edu/~get/sonoma EECS 150, Fa04, Lec 23 Wireless
TinyOS-driven architecture • 3K RAM = 1.5 mm2 • CPU Core = 1mm2 • multithreaded • RF COMM stack = .5mm2 • HW assists for SW stack • Page mapping • SmartDust RADIO = .25 mm2 • SmartDust ADC 1/64 mm2 • I/O PADS • Expected sleep: 1 uW • 400+ years on AA • 150 uW per MHz • Radio: • .5mm2, -90dBm receive sensitivity • 1 mW power at 100Kbps • ADC: • 20 pJ/sample • 10 Ksamps/second = .2 uW. jhill mar 6, 2003 EECS 150, Fa04, Lec 23 Wireless
MAC sublayer • “The features of the MAC sublayer are beacon management, channel access, GTS management, frame validation, acknowledged frame delivery, association and dissociation.” Also security • Only a portion of the media access layer is performed in hardware • Four kinds of frames: data, ack, mac cmd, beacon EECS 150, Fa04, Lec 23 Wireless
MAC Data unit EECS 150, Fa04, Lec 23 Wireless
Media Access • Many devices share the communication medium • Can’t “just transmit” • Need a “protocol” for acquiring access to the channel • But don’t have a channel to arbitrate with, like a bus EECS 150, Fa04, Lec 23 Wireless
CSMA • Carrier Sense Media Access – Collision Avoidance (CSMA-CA) • Listen for a period of time to hear if the channel is free (CCA) • If hear traffic, back off for random period of time • Typically exponentially increasing backoff • Try again • May also due random delay before first CCA • If channel is clear, transmit • Ethernet does CSMA-CD (collision detect) EECS 150, Fa04, Lec 23 Wireless
Reliability • Radio signal strength fades with distance • Also attenuation, obstructions, multipath • Signal-to-noise ratio determines bit error rate • Channel codes are “far apart” so it is possible to detect and often correct bit errors • If SNR is above a certain threshold, a defined fraction of the packets are expected to be received correctly • An additional frame check detects corrupted packets • Typically 32-bit cyclic redundancy check • To obtain higher reliability • Acknowledge receipt • Sender times out and retransmits on failure • 15.4 hardware generates acks on request • Determined by SW MAC EECS 150, Fa04, Lec 23 Wireless
cts rts ack data Hidden Terminals • Two nodes transmitting to same node may not hear each other and collide • Additional protocol to detect and avoid such hidden terminals • RTS – CTS – DATA – ACK • Software involved in the RTS-CTS-DATA protocol EECS 150, Fa04, Lec 23 Wireless
Network interface software • Typically, the low level processing of the radio is hidden behind a network interface • Busses connecting to the device • Write / read packets, write commands, read status, receive interrupts application Memory transport network Link / MAC device driver Proc network interface EECS 150, Fa04, Lec 23 Wireless
CS150 Network Layering • Interface to CC2420 is serial peripheral interconnect (SPI) • Chip-to-chip interconnect with its own protocol • Usually have CC2410 connected to microcontroller with SPI interface • Transfer commands & data to the CC2420, handle responses • Small set of appln packets, pt-pt, others might be sharing the channel EECS 150, Fa04, Lec 23 Wireless
Network Layering • Physical • CC2420 RF Chip • Handles all the RF details • Modulation/Demodulation • Noise Rejection/Filtering • This is an incredible amount of work • SPI\Reg • Standard bit serial interface • Control register read/write EECS 150, Fa04, Lec 23 Wireless
CC2420 (2) EECS 150, Fa04, Lec 23 Wireless
CC2420 • Transmit • Controller waits for CCA • Write bytes into an on-chip FIFO • Enable transmit • DAC -> I/Q Merge -> Power Amp • Receive • I/Q Split -> ADC -> Digital Processing • Results in bytes in an on-chip FIFO • Chip includes optional address filtering • Get notification of packet arrival • Controller reads bytes from on-chip fifo EECS 150, Fa04, Lec 23 Wireless
Building networks from wireless links • 802.15.4 incorporates several higher level concepts into link • Coordinator device can beacon to define sequence of frames • Other device communicate in frame slots (slotted CSMA) • Think game controllers … • Peer-to-peer networks • Any node can communicate with any node “in range” • Higher level software can discover network topology and route packets • Hop-by-hop retransmission • Many multihop traffic patterns • Collection, aggregation, dissemination EECS 150, Fa04, Lec 23 Wireless