Presentation is loading. Please wait.

Presentation is loading. Please wait.

Why does it need? [USN] ( 주 ) 한백전자 Background Wireless Sensor Network (WSN)  Relationship between Sensor and WSN Individual sensors are very limited.

Similar presentations


Presentation on theme: "Why does it need? [USN] ( 주 ) 한백전자 Background Wireless Sensor Network (WSN)  Relationship between Sensor and WSN Individual sensors are very limited."— Presentation transcript:

1

2 Why does it need? [USN] ( 주 ) 한백전자

3 Background

4 Wireless Sensor Network (WSN)  Relationship between Sensor and WSN Individual sensors are very limited in terms of sensing regions, processing ability, and energy. However, networking a large number of sensors gives rise to a robust, reliable, and accurate wireless sensor network covering a wider region.  Wireless Sensor Network A network supporting a large number of smart sensors. A network connected to the outside world through a sink node (gateway) A self-configuring network (ad hoc).

5 Wireless Communication  Why does Wireless communication ?  Limitation of wireless communication Limited Frequency Limited Power Limited Range

6 Layers

7 Radio  Radio is defined the international standard group Most of case, IEEE define it.  IEEE 802.15.4

8 Basic MAC protocol  FDMA: Use different channel  Pure ALOHA: If you have data, send the data  Slotted ALOHA: The node can send only at the beginning of a timeslot  TDMA: Assign different transmission time  CSMA: Listen before send CSMA/CD (Carrier Sense Multiple Access/Collision Detection): Ethernet CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance): Wireless

9 What does it need for implementations?  Pure ALOHA: Check data, Send Data, Receive Data, Queue  Slotted ALOHA: Timer  TDMA: Timers, Neighbor Table, Management time slot  CSMA/CA: Backoff Timer Check channel busy or idle Send ACK ACK timer

10 p.9 S-MAC (Sensor-MAC)  Motivation Idle listen problem: Most of the time nodes do not generate traffics  Basic Idea To divide ‘time’ into the cycle, consisting of two parts: ‘active’ and ‘sleep’ During the sleeping part, a node turns off its radio to preserve energy During the active part, it can communicate with its neighbors and send any messages queued during the sleeping part. Listen Sleep time Listen

11 What does it need for implementations?  Important Time Listen start Listen end Sleep start Sleep end  How can nodes synchronize?

12 Routing

13 p.1212 Gradient-Based or Tree-Based Routing  GBR (Gradient-Based Routing) or Tree Routing The interest packet is required to record the number of hops from the sink. Each node calculates the minimum number of hops, called height. A gradient is defined as the difference between a node's height and that of its neighbor. Data packet is forwarded on the link with the largest gradient.

14 What does it need for implementations?  Sink can periodically send interest (or Beacon)  If receive the interest, the node saves hop information  The node changes hop information and then forwards it May be, happen the overhear same hop counter from neighbors. How does it select the efficient parent node.  Before send data, check its parent id.  If no receive ACK from parent, reselect parent from neighbor tables.

15 TinyOS

16 p.1515 Operating System in USN  Various choices, dependent on the platform Tiny OS, NanoQplus (ETRI), MOS (MANTIS OS), PALOS (Power Aware Lightweight OS), Embedded Linux  However, most of research centers and universities utilize TinyOS for sensor networks because of its numerous examples

17 p.1616 TinyOS  Special operating system for the wireless sensor networks  Characteristic of TinyOS Utilizing NesC languagesCompact code size based on ‘ Component ’ No virtual memory: single linear physical address space Simple process management: simple FIFO queue schedule Event/Command based interfaces Event Driven OS  Can TinyOS be useful in the industry? TinyOS is not standard Industry has to use the standard technology. But …

18 p.1717 Developing Environments  ncc compiler (Nesc -> C)  avr-gcc: cross compile the result file of ncc into object file (C -> Hex)  Main.hex is created  Compile Commander make zigbex[= Platform name]

19 p.1818 NesC Programming Language  Component It is a basic computation entry of TinyOS. It consists of two files: configuration and module  Component type: configuration: description wiring between component module: description real implemented sources

20 p.1919 Interface I  Interface Connection port between components Group of functions Function Types: Command and Event Command: Upper component can call command type functions in the lower component. (implementation of function locates in the lower components) Event: Lower component can signal event type functions in the upper component. (implementation of function locates in the upper components) -- this is the callback function interface Timer { command result_t start (char type, uint32_t interval); command result_t stop (); event result_t fired (); }

21 p.2020 Interface II  Interfaces used in BlinkTimer example. Red: use interface Blue: provide interface

22 p.2121 Wiring Interface  Wiring between Interfaces Interface 1 = interface 2 Interface 1 means interface 2 Interface1 ‐ > interface2 Interface1’s implementation is linked in Interface 2 Interface1 < ‐ interface2 It is same with “Interface2 ‐ > interface1”

23 p.2222 Processing  Computation: 2-level scheduling (events and tasks)

24 p.2323 Task (scheduled function)  Task: Just computation function Scheduled by FIFO void general_fun(){ printf("general fun start"); } void main(){ printf("Main start\n"); general_fun() } void general_fun() { printf("general fun start"); } task void ex_task() { printf("ex_task start"); } void main() { printf("Main start\n"); post ex_task(); general_fun() }

25 p.2424 Event (starting points of all operations)  Event is interrupt. RF interrupt ADC interrupt Timer interrupt UART interrupt  When the interrupts expire, the corresponding interrupt handler is called. This is the starting point of some special components

26 p.2525 Relation between Event and Task

27 p.2626 Power Saving in TinyOS  Main (Includes Scheduler) If TinyOS has no Task, it enters to CPU sleep for saving energy consumption. For example, Atmega 128 CPU enables interrupt signals such as Timer and UART even if it goes to sleep.

28 p.2727 TinyOS scheduler Task queue Task #1 Task #2 Task #... Task #n-1 Task #n Interrupt vectors ADC timer1 UART0 SPI compare If Task queue Empty Then sleep scheduler Task(i) Command(i) sleep Event handler Command(j) call return No task Task return If queue != empty Then execute TASK Timer0 time out !! interrupt

29 p.2828 TINYOS Folders  /opt/tinyos-2.x  /opt/tinyos-2.x/tos

30 TOSSIM  Simulates a network of motes  Bit-level simulation of motes’ operation and communication  Simulator for TinyOS programs  Compiles directly from TinyOS code  Can scale to large numbers

31 Q & A


Download ppt "Why does it need? [USN] ( 주 ) 한백전자 Background Wireless Sensor Network (WSN)  Relationship between Sensor and WSN Individual sensors are very limited."

Similar presentations


Ads by Google