TinyOS Radio Stacks - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

TinyOS Radio Stacks

Description:

If reading floor, transmit on next byte boundary from radio ... What does a stack look like where you can change MAC layers, security models, and encodings? ... – PowerPoint PPT presentation

Number of Views:118
Avg rating:3.0/5.0
Slides: 29
Provided by: joepol
Category:
Tags: tinyos | radio | stacks

less

Transcript and Presenter's Notes

Title: TinyOS Radio Stacks


1
TinyOS Radio Stacks
  • Joe Polastre, Phil Buonadonna, etc
  • Monday, October 20 2003

2
Radio Stacks
  • Mica (Old)
  • Mica (MicaHighSpeedRadio)
  • Mica2 (CC1000)
  • Future?

3
Typical Radio Stack
Generic Comm
AM
Packet Layer
New Radios (CC2.4K)
Byte Layer
Radio Control
Mica2
Bit Layer
4
Mica (Old)
Generic Comm
AM
CRCPacketObj
SecDedRadioByte
RFM
5
Mica (MicaHighSpeedRadio)
Generic Comm
CSMA Preamble Detect Start Sym Detect
AM
RadioCRCPacket
Encoding
Captures radio timing and syncs receiver to sender
MicaHighSpeedRadioM
ChannelMon
RadioTiming
SlavePin
SpiByteFifo
SecDedEncoding
RandomLFSR
6
Mica2 (CC1000)
Wires the control and data paths Implementation
hidden from app
Generic Comm
AM
CSMA Encoding Data Preamble Detect Synchronization
Control (Freq,Power,etc)
CC1000RadioC
CC1000Control
CC1000RadioIntM
SpiByteFifo
RandomLFSR
ADC
7
Mica2 Radio Stack
  • Phil B

8
Radio Packets
9
Mica
10
Mica2
Switch to TX Mode
Switch to RX Mode
MAC Delay
Preamble
Sync
Packet Transmission
1-128
18
2
36
56
250ms
250ms
11
Comparison
12
Mica2 Preamble
  • CC1000 must sync its clock to incoming signal
  • With manchester encoding, 17 sync bytes are
    required for longest range
  • an extra byte is added for offset in receiving

13
Strength
  • Mica
  • sends two strength bytes to measure high
    amplitude via RSSI pin
  • Mica2
  • with FSK, both 0 and 1 contain energy
  • measure energy at any point during packet
    reception, no need for extra bytes

14
Synchronous ACKs
  • Mica
  • Switch from Transmit to Receive mode instantly.
  • No need to resynchronize ack sender.
  • Mica2
  • Switch from Transmit to Receive mode in 250ms
  • CC1K requires that each receiver lock to the
    incoming signal (18 bytes 7.5ms)
  • Almost as expensive as sending a packet!

15
CSMA
16
Mica
  • Hardware sets automatic gain control (AGC) using
    a capacitor in ASK mode
  • Channel Monitor looks for 1 bits on the radio
    while waiting to send
  • start symbol/preamble detection

17
Mica2 Release
  • Set a fixed noise floor threshold
  • On transmission
  • Take RSSI reading
  • If reading gt floor, transmit on next byte
    boundary from radio
  • With a few months in the lab, what happens?

18
Collisions Oh My!
Channel Clear
1
2
4
3
19
CC1000 Radio MAC
Radio RSSI sampled at 5kHz
Current MAC
Incoming Packet
Adjusted Threshold
Adjusted Threshold with Averaging
Channel Considered Clear
Periodic Errors
Channel Busy during Xmit
20
CC1000 Radio MAC
Radio RSSI sampled at 5kHz
Median over 5 sample window
Average over 5 sample window
Max over 5 sample window
21
Mica2 Joe
  • Use calibrated ADC
  • Adjust noise floor
  • After each packet transmission, sample RSSI and
    add to 10 sample FIFO queue
  • Select median(Q) and add to EWMA
  • On transmit
  • Take lt5 RSSI samples
  • If one reading gt floor, transmit on next byte
    boundary from radio
  • Downside can take up to 10 packets for the noise
    floor to settle

22
Comparison
23
Results
24
Results
25
Brief Low Power Operation
  • Mica
  • Snooze Node is either on or off
  • Radio Can detect channel activity in
    microseconds
  • Radio startup time is negligible (10s of ms)
  • Mica2
  • HPLPowerManagement check the state of the mote
    and shut down if appropriate
  • Radio Currently can detect channel activity in
    7.5ms (18 bytes)
  • Using RSSI and MAC noise floor estimation, can
    reduce this time to 1ms.
  • Radio start up time is up to 2500ms!

26
ACKs Revisited
  • If we can now reliably detect channel activity,
    can we do ACKs?
  • Answer Hopefully.
  • How?
  • By switching modes and sending data (or pulse
    sending data), the receiver can detect this
    signal
  • Think amplitude shift keying
  • May be able to detect hidden terminals too
  • If ACK doesnt have pattern but instead is
    constant energy, then someone didnt detect the
    original transmitter and transmitted over him
  • Can be done in 4-5 bytes and doesnt require the
    receiver to synchronize!
  • but it hasnt been tried yet.

27
Open Questions
  • Allow Application to control MAC backoff?
  • Is TOS_Msg the right networking abstraction for
    building sensor network apps and services?
  • OSI? S-MAC?
  • What does a stack look like where you can change
    MAC layers, security models, and encodings? Mica
    and Mica2 stacks are close, but not quite there

28
webs.cs.berkeley.edu
  • tinyos-1.x/beta/CC1000Radio/
Write a Comment
User Comments (0)
About PowerShow.com