Transcript TinyOS
Radio and Medium Access Control 1 Learning Objectives • Understand important concepts about radio signals • Understand radio properties of WSNs • Understand schedule-based medium access protocols in WSNs • Understand contention-based medium access protocols in WSNs • Understand S-MAC, B-MAC, and X-MAC 2 Prerequisites • Module 2 • Basic concepts of wireless communications • Basic concepts of computer networks 3 Radio Properties 4 Some Basic Concepts • • • • • • RSSI dbm Noise floor: see wikipedia CCA thresholding algorithms Duty cycle LPL 5 Signal Transmission 6 Ref: Fig. 2.9 of “Wireless Communications and Networks” by William Stallings Packet Reception and Transmission • Ref: [Hardware_1] Figure 5 7 Signal • An electromagnetic signal – A function of time – Also a function of frequency • The signal consists of components of different frequencies 8 802.15.4 Physical Layer 9 dB • dB (Decibel) – – – – Express relative differences in signal strength dB = 10 log10 (p1/p2) dB = 0: no attenuation. p1 = p2 1 dB attenuation: 0.79 of the input power survives: 10 * log10(1/0.79) – 3 dB attenuation: 0.5 of the input power survives: 10 * log10(1/0.5) – 10 dB attenuation: 0.1 of the input power survives: 10 * log10(1/0.1) • http://en.wikipedia.org/wiki/Decibel • http://www.sss-mag.com/db.html 10 dBm • • • • The referenced quantity is one milliwatt(mW) dBm = 10 log10 (p1/1mW) 0 dBm: p1 is 1 mW -80 dBm: p1 is 10-11W = 10pW • http://en.wikipedia.org/wiki/DBm 11 Received Signal Strength Indicator (RSSI) • The strength of a received RF signal • Many current platforms provide hardware indicator – CC2420, the radio chip of MicaZ and TelosB, provides RSSI indicator and LQI (Link Quality Indicator) 12 LQI (Link Quality Indicator) • A measure of chip error rate • Error rate – The rate at which errors occur – Error • 0 is transmitted while 1 is received • 1 is transmitted while 0 is received 13 Noise Floor • The measure of the signal created from the sum of all the noise sources and unwanted signals 14 Signal Noise Ratio (SNR) • The ratio of the power in a signal to the power contained in the noise that is present • Typically measured at the receiver • Take CC2420 as the example: – Noise Floor: the RSSI register from the CC2420 chip when not receiving a packet • For example -98dBm – The strength field from the received packet: RSSI of the received packet 15 Radio Spectrum Frequency Allocation • http://www.ntia.doc.gov/osmhome/allochrt.pdf 16 Radio Irregularity • Spherical radio range is not valid • When an electromagnetic signal propagate, the signal may be – Diffracted – Reflected – Scattered • Radio irregularity and variations in packet loss in different directions ref: [radio_1] Radio Signal Property • Anisotropic Signal Strength: Different path losses in different directions Figure 1: Signal Strength over Time in Four Directions [Radio_1] Figure 1 18 Radio Signal Property • Anisotropic Packet Loss Ratio: Packet Reception Ratio (PRR) varies in different directions [Radio_1]: Figure 3 19 Radio Signal Property • Anisotropic Radio Range: The communication range of a mote is not uniform [Radio_1]: Figure 4 20 Medium Access Control (MAC) 21 Introduction • A radio channel cannot be accessed simultaneously by two or more nodes that are in a radio interference range – Nodes may transmit at the same time on the same channel • Medium Access Control – On top of Physical layer – Control access to the radio channel 22 MAC Protocol Requirements • Energy Efficiency – Sources of energy waste • Collision, Idle Listening, Overhearing, and Control Packet Overhead • Effective collision avoidance – When and how the node can access the medium and send its data • Efficient channel utilization at low and high data rates – Reflects how well the entire bandwidth of the channel is utilized in communications • Tolerant to changing RF/Networking conditions • Scalable to large number of nodes Ref: [MAC_2] Section I, II 23 Two Basic Classes of MAC Protocol – Slotted and Sampling • Slotted Protocols (Synchronous Protocols) – Nodes divides time into slots – Radio can be in receive mode, transmit mode, or powered off mode – Communication is synchronized – Data transfers occur in “slots” – TDMA, IEEE 802.15.4, S-MAC, T-MAC, etc. • Also Ref: J. Polastre Dissertation – Section 2.4: http://www.polastre.com/papers/polastre-thesisfinal.pdf [MAC_3]: Section 4 24 Two Basic Classes of MAC Protocol – Slotted and Sampling • Sampling Protocols – Nodes periodically wake up, and only start receiving data if they detect channel activity – Communication is unsynchronized – Data transfer wakes up receiver – Must send long, expensive messages to wake up neighbors – B-MAC, Preamble sampling, LPL, etc. 25 Slotted Protocol Example: 802.15.4 • Each node beacons on its own schedule • Other nodes synchronize with the received Beacons sleep Beacon Data Data Ack Beacon CSMA Contention Period Superframe Duration Beacon Frame Duration 26 IEEE 802.15.4 Superframe 27 Using 802.15.4 send send done stop radio superframe complete beacon RX Update schedule packet RX Ack Data TX first packet RF Channel Ack received TX done 15.4 send done reliability set 15.4 Stop radio Neighbors are messages pending? Data Beacon start radio send beacon If yes, wake up SP packet received Coordinator wake for beacon TX beacon period SP 28 Main MAC Protocols Wireless medium access Centralized Distributed Schedulebased Fixed assignment Demand assignment Contentionbased Schedulebased Fixed assignment Contentionbased Demand assignment 29 Scheduled Protocols • TDMA divides the channel into N time slots [MAC_2]: Figure 1 30 Contention-based Protocols • A common channel is shared by all nodes and it is allocated on-demand • A contention mechanism is employed • Advantages over scheduled protocols – – – – Scale more easily More flexible as topologies change No requirement to form communication clusters Do not require fine-grained time synchronization • Disadvantage – Inefficient usage of energy • Node listen at all times • Collisions and contention for the media [MAC_2]: Section IV 31 CSMA • Listening before transmitting • Listening (Carrier Sense) – To detect if the medium is busy • Hidden Terminal Problem [MAC_2]: Section IV 32 Hidden Terminal Problem • Node A and C cannot hear each other • Transmission by node A and C can collide at node B • On collision, both transmissions are lost • Node A and C are hidden from each other [MAC_2]: Section IV A B C 33 CSMA-CA • CA – Collision Avoidance: to address the hidden terminal problem • Basic mechanism – Establish a brief handshake between a sender and a receiver before transmission – The transmission between a sender and a receiver follows RTS-CTS-DATA-ACK [MAC_2]: Section IV 34 Centralized Medium Access • Idea: Have a central station control when a node may access the medium – Example: Polling, centralized computation of TDMA schedules – Advantage: Simple, quite efficient (e.g., no collisions), burdens the central station • Not directly feasible for non-trivial wireless network sizes • But: Can be quite useful when network is somehow divided into smaller groups – Clusters, in each cluster medium access can be controlled centrally – compare Bluetooth piconets, for example ! Usually, distributed medium access is considered 35 Schedule- vs. Contention-based MACs • Schedule-based MAC – A schedule exists, regulating which participant may use which resource at which time (TDMA component) – Typical resource: frequency band in a given physical space (with a given code, CDMA) – Schedule can be fixed or computed on demand • Usually: mixed – difference fixed/on demand is one of time scales – Usually, collisions, overhearing, idle listening no issues – Needed: time synchronization! 36 Schedule- vs. Contention-based MACs • Contention-based protocols – Risk of colliding packets is deliberately taken – Hope: coordination overhead can be saved, resulting in overall improved efficiency – Mechanisms to handle/reduce probability/impact of collisions required – Usually, randomization used somehow 37 Possible Solutions • CSMA (Carrier Sense Multiple Access) – Advantage: • No clock synchronization required • No global topology information required – Disadvantage • Hidden terminal problem: serious throughput degradation • RTS/CTS can alleviate hidden terminal problem, but incur high overhead 38 Possible Solutions • TDMA (Time-division multiple access) – Advantage • Solve the hidden terminal problem without extra message overhead – Disadvantage • It is challenging to find an efficient time schedule • Need clock synchronization – High energy overhead • Handling dynamic topology change is expensive • Given low contention, TDMA gives much lower channel utilization and higher delay 39 Effective Throughput CSMA vs. TDMA IDEAL CSMA Channel Utilization (The fraction of time that the channel is transmitting data) Do not use any topology or time synch. Info. Thus, more robust to time synch. errors and changes. # of Contenders TDMA Sensitive to Time synch. errors, Topology changes, Slot assignment errors. 40 MAC Energy Usage Four important sources of wasted energy in WSN: – – – – Idle Listening (required for all CSMA protocols) Overhearing (since RF is a broadcast medium) Collisions (Hidden Terminal Problem) Control Overhead (e.g. RTS/CTS or DATA/ACK) [MAC_2]: Section II.B 41 S-MAC • During sleep, the node turns off its radio, and sets a timer to awake itself [S-MAC]: Figure 2 42 S-MAC • Requires periodic synchronization among neighboring node – Negotiate a schedule – Prefer that neighboring nodes listen at the same time and go to sleep at the same time – Use SYNC message [S-MAC] 43 S-MAC • All senders perform CS (Carrier Sense) before initiating a transmission – Broadcast packets are sent without using RTS/CTS – Unicast packet follow RTS/CTS/DATA/ACK • To avoid collision [S-MAC] 44 S-MAC – Overhearing Avoidance • To avoid overhearing: let interfering nodes go to sleep after they hear an RTS or CTS packet [S-MAC] 45 S-MAC – Adaptive Listening • To improve latency caused by the periodic sleep of each node in the multi-hop network • Let each node who overhears its neighbor’s transmissions (RTS and CTS) wake up a short period of time at the end of transmission [S-MAC] 46 S-MAC with Adaptive Listening Ref: Figure 1 of [DW-MAC] 47 B-MAC • A set of primitives that other protocols may use as building block • Provide basic CSMA access • Optional link level ACK, no link level RTS/CTS • CSMA backoffs configurable by higher layers • Carrier Sensing using Clear Channel Assess (CCA) • Sleep/Wake scheduling using Low Power Listening (LPL) • Ref: Section 1, 3 of ref. [MAC_1] • LPL: See Section 2.1 of ref. [Energy_1] 48 B-MAC • Does not solve hidden terminal problem • Duty cycles the radio through periodic channel sampling – Low Power Listening (LPL) 49 B-MAC Clear Channel Assessment A packet arrives between 22 and 54ms. The middle graph shows the output of a thresholding CCA algorithm. ( 1: channel clear, 0: channel busy) • Ref: Section 1, 3 of ref. [MAC_1] - Before transmission – take a sample of the channel - If the sample is below the current noise floor, channel is clear, send immediately. - If five samples are taken, and no outlier found => channel busy, take a random backoff - Noise floor updated when channel is known to be clear e.g. just after packet transmission 50 A Trace of Power Consumption [MAC_1]: Figure 3 51 B-MAC Low Power Listening Check Interval Carrier sense Receiver Sender Receive data Long Preamble Data Tx Similar to ALOHA preamble sampling Wake up every Check-Interval Sample Channel using CCA If no activity, go back to sleep for CheckInterval Else start receiving packet Preamble > Check-Interval Goal: minimize idle listening 52 Low Power Listening • Purpose – Energy cost = RX + TX + Listen – Save energy • How – Duty cycle the radio while ensuring reliable message delivery – Periodically wake up, sample channel, and sleep • The duty cycling receiver node performs short and periodic receive checks • If the channel is checked every 100ms – The preamble must be at least 100 ms long for a node to wake up, detect activity on the channel, receive the preamble, and then receive the message. 53 X-MAC • Asynchronous duty-cycled MAC protocol • Provide the following advantages over BMAC – Avoid overhearing problem: embedding the Target ID in the Preamble – Reduce excessive preamble: strobed preamble • Ref: Section 1, 3 of ref. [MAC_4] 54 X-MAC and B-MAC • Ref: Section 1, 3 of ref. [MAC_4] 55 802.15.4 Frame Format • Page 36 of CC2420 Data Sheet 56 TinyOS Implementation of CSMA o CC2420 - CCA • Hardware – CC2420 has CCA as a pin that can be sampled to determine if another node is transmitting – See CC2420 Data Sheet – Figure 1 CC2420 Pinout • Software – CC2420Transmit has the option to send the message with or without CCA • See CC2420TransmitP.send(); http://www.mailarchive.com/tinyos- TinyOS Implementation of CSMA of CC2420 - Ack • Hardware Ack – If MDMCTRL0.AUTOACK of CC2420 is enabled • Software Ack – SACK strobe in CC2420ReceiveP can be used to set software ack https://www.millennium.berkeley.e du/pipermail/tinyos-help/2008- Lab • Please add the Low Power Listening feature to the PingPong application. That is, the packet from A to B and from B to A should be received using LPL. Please follow TEP 126 - CC2420AckLplP / CC2420NoAckLplP 59 Assignment • 1. In many research papers about wireless sensor networks, spherical radio range is assumed. Is this true or not? Please brief explain. • 2. What is the main idea of Low Power Listening (LPL)? Why do we need LPL? • 3. What is the purpose of Clear Channel Assessment? • 4. What are the main advantages of X-MAC over BMAC? 60 Project • This is a group project. Each group can have up to 3 students • Project Description • In this project, you will develop a multi-hop data collection tree protocol based on TinyOS 2.x. 1. Development of a multi-hop data collection tree protocol 1.1 The protocol to form a multi-hop data collection tree The base station locally broadcast a tree construction message, which includes its own ID and its depth to be 0; a. When a node, say A, receives a tree construction message from node B at its first time (i.e., node A has not joined the data collection tree yet), node A assigns its depth to be the depth of node B plus one, and its parent to be node B. After this, node A rebroadcasts the tree construction message. 61 Project - continue b. When a node, say A, already joins the data collection tree and receives a tree construction message from node B, node A just simply disregards the tree construction message. c. When a node, say A, already joins the data collection tree (suppose that node A’s parent is node B and node A’s depth is n) and receives a tree construction message from node C: 1. suppose that if node A selects node C as its parent, node A’s depth is m; 2. suppose m < n; node A will change its parent to node C. 62 Project - continue Depth = 0 Base Station Depth = 1 J Depth = 3 Depth = 2 G Depth = 2 I A H Depth = 3 F Depth = 3 B Depth = 3 D C Depth = 3 E Depth = 3 Depth = 3 one example multi-hop data collection tree 63 Project - continue • Also see attached slide tree.ppt for a dynamic view about how to construct a multi-hop data collection tree. 1.2 After the multi-hop data collection tree is formed, each node senses and transmits its light intensity to the base station every one second. For each received message, the base station displays the following information: – Node ID which originates the message; – Tree depth of the Node; – Sensed light value 64 Project - continue • Basic Steps: Please follow the steps listed below: 1. Setting up TinyOS environment XubunTOS XubunTOS can be downloaded here: http://toilers.mines.edu/Public/XubunTOS 2. Go through the TinyOS tutorials at http://docs.tinyos.net/index.php/TinyOS_Tutor ials 65