DOT3 Radio Stack Jaein Jeong, Sukun Kim Nest Retreat January 16, 2003.

Slides:



Advertisements
Similar presentations
Channel Allocation Protocols. Dynamic Channel Allocation Parameters Station Model. –N independent stations, each acting as a Poisson Process for the purpose.
Advertisements

1 Wireless Sensor Networks Akyildiz/Vuran Administration Issues  Take home Mid-term Exam  Assign April 2, Due April 7  Individual work is required 
BZUPAGES.COM 1 User Datagram Protocol - UDP RFC 768, Protocol 17 Provides unreliable, connectionless on top of IP Minimal overhead, high performance –No.
PERFORMANCE MEASUREMENTS OF WIRELESS SENSOR NETWORKS Gizem ERDOĞAN.
Monday, June 01, 2015 ARRIVE: Algorithm for Robust Routing in Volatile Environments 1 NEST Retreat, Lake Tahoe, June
PEDS September 18, 2006 Power Efficient System for Sensor Networks1 S. Coleri, A. Puri and P. Varaiya UC Berkeley Eighth IEEE International Symposium on.
DOT3 Radio Stack Sukun KimJaein Jeong A DOT3 Mote Design & Implementation Motivation Evaluation MICA is not enough for large scale applications. DOT3 is.
Cs4411 – Operating Systems Practicum November 4, 2011 Zhiyuan Teo Supplementary lecture 4.
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
1 Chapter Six - Errors, Error Detection, and Error Control Chapter Six.
Integrated  -Wireless Communication Platform Jason Hill.
Long distance communication Multiplexing  Allow multiple signals to travel through one medium  Types Frequency division multiplexing Synchronous time.
Radio Stack Iteration How to improve the CC1000 Joe Polastre January 15, 2004 NEST Retreat.
1 University of Freiburg Computer Networks and Telematics Prof. Christian Schindelhauer Wireless Sensor Networks 5th Lecture Christian Schindelhauer.
5-1 Data Link Layer r Today, we will study the data link layer… r This is the last layer in the network protocol stack we will study in this class…
TCP: Software for Reliable Communication. Spring 2002Computer Networks Applications Internet: a Collection of Disparate Networks Different goals: Speed,
Error Checking continued. Network Layers in Action Each layer in the OSI Model will add header information that pertains to that specific protocol. On.
6: Wireless and Mobile Networks6-1 Elements of a wireless network network infrastructure wireless hosts r laptop, PDA, IP phone r run applications r may.
Process-to-Process Delivery:
CIS 725 Wireless networks. Low bandwidth High error rates.
CS640: Introduction to Computer Networks Aditya Akella Lecture 22 - Wireless Networking.
NetSim ZigBee Simulation Code Walkthrough in 10 steps
Introduction1-1 Data Communications and Computer Networks Chapter 5 CS 3830 Lecture 27 Omar Meqdadi Department of Computer Science and Software Engineering.
CS 640: Introduction to Computer Networks Aditya Akella Lecture 5 - Encoding and Data Link Basics.
1 Computer Communication & Networks Lecture 13 Datalink Layer: Local Area Network Waleed Ejaz
An Energy Efficient MAC Protocol for Wireless Sensor Networks “S-MAC” Wei Ye, John Heidemann, Deborah Estrin Presentation: Deniz Çokuslu May 2008.
Study on Power Saving for Cellular Digital Packet Data over a Random Error/Loss Channel Huei-Wen Ferng, Ph.D. Assistant Professor Department of Computer.
Data Link Layer We have now discussed the prevalent shared channel technologies  Ethernet/IEEE  Wireless LANs (802.11) We have now covered chapters.
Link Estimation, CTP and MultiHopLQI. Motivation Data Collection needs to estimate the link quality –To select a good link.
Localization using DOT3 Wireless Sensors Design & Implementation Motivation Wireless sensors can be used for locating objects: − Previous works used GPS,
1 Forward Error Correction in Sensor Networks Jaein Jeong, Cheng-Tien Ee University of California, Berkeley.
CS332, Ch. 26: TCP Victor Norman Calvin College 1.
Chi-Cheng Lin, Winona State University CS 313 Introduction to Computer Networking & Telecommunication Data Link Layer Part I – Designing Issues and Elementary.
A Location-aided Energy-aware Routing Method for UWB Sensor Networks Xizhi An and Kyungsup Kwak Graduate School of Information Technology and Telecommunications,
ECS 152A 4. Communications Techniques. Asynchronous and Synchronous Transmission Timing problems require a mechanism to synchronize the transmitter and.
Transport Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.
COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 3.
Chapter 5 Peer-to-Peer Protocols and Data Link Layer PART I: Peer-to-Peer Protocols ARQ Protocols and Reliable Data Transfer Flow Control.
1 TCP III - Error Control TCP Error Control. 2 ARQ Error Control Two types of errors: –Lost packets –Damaged packets Most Error Control techniques are.
Data and Computer Communications Chapter 11 – Asynchronous Transfer Mode.
Minimizing Energy Consumption in Sensor Networks Using a Wakeup Radio Matthew J. Miller and Nitin H. Vaidya IEEE WCNC March 25, 2004.
Network and Systems Laboratory nslab.ee.ntu.edu.tw Branislav Kusy, Christian Richter, Wen Hu, Mikhail Afanasyev, Raja Jurdak, Michael Brunig, David Abbott,
Lecture 4 Overview. Ethernet Data Link Layer protocol Ethernet (IEEE 802.3) is widely used Supported by a variety of physical layer implementations Multi-access.
Data Link and Flow Control Networks and Protocols Prepared by: TGK First Prepared on: Last Modified on: Quality checked by: Copyright 2009 Asia Pacific.
Computer Networks Lecture 3: Data Link - part II Based on slides from D. Choffnes Northeastern U. and P. Gill from StonyBrook University Revised Autumn.
Chapter 24 Transport Control Protocol (TCP) Layer 4 protocol Responsible for reliable end-to-end transmission Provides illusion of reliable network to.
Error/Flow Control Modeling (ARQ Modeling). © Tallal Elshabrawy 2 Data Link Layer  Data Link Layer provides a service for Network Layer (transfer of.
Forward Error Correction vs. Active Retransmit Requests in Wireless Networks Robbert Haarman.
TCP OVER ADHOC NETWORK. TCP Basics TCP (Transmission Control Protocol) was designed to provide reliable end-to-end delivery of data over unreliable networks.
Tufts University. EE194-WIR Wireless Sensor Networks. February 17, 2005 Increased QoS through a Degraded Channel using a Cross-Layered HARQ Protocol Elliot.
Link Layer Support for Unified Radio Power Management in Wireless Sensor Networks IPSN 2007 Kevin Klues, Guoliang Xing and Chenyang Lu Database Lab.
Medium Access Control in Wireless networks
PPR: Partial Packet Recovery Brad Karp UCL Computer Science CS 4038 / GZ06 23 rd January, 2008.
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1 The Data Link Layer A. S. Tanenbaum Computer Networks W. Stallings Data and Computer Communications Chapter 3.
DATA LINK CONTROL. DATA LINK LAYER RESPONSIBILTIES  FRAMING  ERROR CONTROL  FLOW CONTROL.
박 유 진.  Short RF Range(~10m)  Reduce range by obstruction  Low data rate(1Mbps)  Normal Audio data rate : 1.5 Mbps  CD Quality Audio data rate :
TCP - Part II.
Data Link Layer Flow Control.
Data Link Layer What does it do?
Wireless Sensor Networks 5th Lecture
Ken Gunnells, Ph.D. - Networking Paul Crigler - Programming
Data Link Layer: Data Link Control
DIGITAL DATA COMMUNICATION TECHNIQUES
Data Link Issues Relates to Lab 2.
CS412 Introduction to Computer Networking & Telecommunication
Chapter 5 Peer-to-Peer Protocols and Data Link Layer
DIGITAL DATA COMMUNICATION TECHNIQUES
Chapter 5 Peer-to-Peer Protocols and Data Link Layer
Lecture 4 Peer-to-Peer Protocols and Data Link Layer
Presentation transcript:

DOT3 Radio Stack Jaein Jeong, Sukun Kim Nest Retreat January 16, 2003

Introduction A wireless sensor –sample analog signals –communicate with other nodes in wireless. MICA is the current platform in Berkeley. MICA has been useful, but not enough for large scale app due to short range

Mote with CC1000 Radio DOT3 is a new platform with ChipCon CC1000 radio chip. MICA2 is a variation of DOT3 that has full features of MICA. We aim to have a working network stack for motes with ChipCon radio in nesC. A DOT3 with its radio chip in the middle A MICA2 mote

Design of Chipcon Radio Stack Calculates CRC. Retransmit dropped packets using Acknowledgement Sends and receives data in bytes and notifies data arrival Setting the parameters for CC1000 radio chip Packet decomposition and reassembly *:newly made or modified from existing network stack ReliableComm GenericComm AMStandard RadioCRCPacket RFComm Chipcon SpiByteFifoC SecDedEncoding ChannelMonC Application Radio ** * * * Components accessing the radio were modified Components for reliable communication were added.

Packet decomposition and reassembly The application level uses a packet whereas the underlying radio uses a byte as a data unit. Thus, a packet needs to be decomposed to bytes and reassembled from bytes. Since a packet is received as a sequence of bytes, we need a way to tell the beginning of the packet. The byte data can be transferred in half duplex mode.

Packet decomposition and reassembly Packet decomposition and reassembly can be implemented using a state machine in the below: Send mode consists of one state –IDLE state: sends a byte when the byte buffer is empty Receive mode consists of two states –FIND_SYNC state : detects the start of a packet using preamble and start symbol –READING state: reads the remaining bytes and triggers an event when all the bytes are read. IDLE Send a packet READING Receive a byte FIND_SYNC Detected Preamble Detected Start Symbol Not detected Start Symbol Init A packet is received

Interface to CC1000 Microprocessor transfers data to and from the radio using byte level interface called SPI. The microprocessor needs to communicate with CC1000 radio chip to configure or monitor the status of it. The properties like operating frequency and power consumption can be set up by changing the CC1000 status registers. ChipconM (for configuration) SpiByteFifoC (for data transfer) Micro- processor Radio Byte Buffer StatusReg Write Byte Read Byte Buffer filled? SPI Interrupt PALEPDATA DataSPI Clock PCLK

Using multiple channels CC1000 can operate in several different bands: 433, 866 and 916 MHz using corresponding capacitors and inductors. Within each band, CC1000 can operate in different frequencies according to the status register values. Using multiple channels can help reducing the interference between nodes. We found working frequencies in 433 MHz band and here are the examples: CH 1CH 2CH 3CH 4MICA TXFrequency(MHz) RXFrequency (MHz)

Add source address and Ack number to packets. Receiver keeps track of senders to handle duplicate packets Ready Wait Send Done Time Out Begin Success (Ack received) Fail (Repeated timeout) Sender Receiver Data Ack Src #1Acknum #1 Src #2Acknum #2 Src #nAcknum #n Ack table Send How to transmit messages reliably?

Evaluation Evaluation Methods –Sends a number of packets and counts the packets received as we vary the environment. –Ratio of received packets is our metric. –In outdoor tests, we vary the distance. –In indoor tests, we vary the number of nodes and number of channels used. 0ft 300ft 600ft 900ft 1200ft

Effectiveness of ECC Transmission with error correction code, no packets were dropped within 800ft compared to 500ft for non-ECC version. Rayleigh Fading

Effectiveness of retransmission Retransmission reduced the packet losses with additional time costs.

Multiple Senders Sender 1Sender 2Sender 3Receiver

Cases with multiple senders Retransmission reduced most of the packet losses due to collision.

Cases with multiple senders Retransmission paid a little high costs for increasing packet receiving rate (over 6 times in case of 4 senders).

Multiple Channels Receiver 1Receiver 4Receiver 2Receiver 3Sender 1Sender 2Sender 3Sender 4

Cases with multiple channels Using multiple channels reduced the packet losses due to collision.

Cases with multiple channels Using multiple channels reduced the time cost to achieve high receiving rate

Discussion & Future Works Comparison with MICA – Pros: Better coverage and reliability – Cons: Slower transmission (60 sec vs. 9 sec for 512 packets) caused by » Slower clock rate of radio (19Kbps vs. 40Kbps) » Less efficient interrupt handler – Modifying interrupt handler (from SPI to timer interrupt) will address this.

Discussion & Future Works Best Effort Retransmission (5 retransmission) Retransmission (0 retransmission) 31 sec64 sec32 sec Time to send/receive 512 packets Problems with our reliable transmission method – Effective for moderate collision, but not for high collision. – Introducing exponential back-off is expected to be helpful. –Overhead of retransmission is negligible.

Discussion & Future Works Using multiple channels – Reduces collision. – Currently statically determined, vulnerable to misconfiguration. – Dynamic frequency allocation is needed. Coding with error correction code –The theoretical lower bound of code word is 13-bits without considering preamble and start symbol. –Existing implementation used 3 byte code word. –Reducing the code word to 2 bytes will be helpful.

End Questions?

Extra Slides

Overview of existing network stack (MICA) Converts a packet to and from raw bytes Sends and receives bytes Calculates CRC for sanity check Codes data with ECC Application GenericComm AMStandard RadioCRCPacket MicaHighSpeedRadioM ChannelMonCSpiByteFifoCSecDedEncoding

Data interface to the radio Microprocessor transfers data to and from the radio using byte level interface called SPI. SPI consists of byte buffer, status register and clock. At each clock interrupt, status register is checked for a received byte. With no incoming byte, the microprocessor can send a byte into the byte buffer by setting the data direction as send. SpiByteFifoC (for data transfer) Micro- processor SPI Radio Byte Buffer Status Reg SPI ClockData Write Byte Read Byte Buffer filled? SPI Interrupt

Configuring Chipcon Radio The microprocessor needs to communicate with CC1000 radio chip to configure or monitor the status of it. The properties like operating frequency and power consumption can be set up by changing the CC1000 status registers. By setting or clearing three pins, the microprocessor can send or read a byte to a CC1000 status register. ChipconM (for configuration) Microprocessor Radio Write Byte Read Byte PCLKPDATAPALE

Rayleigh Fading The graphs in outdoor tests consistently had dips at 900 ft. Radio waves from the sender can take different paths and cancel each other when the waves are of opposite phase. This is called Rayleigh Fading. Receiver Sender Some obstacle (e.g. building) +