Transcript
Junseok Kim Wireless Networking Lab (WINLAB) Konkuk University, South Korea http://usn.konkuk.ac.kr/~jskim
Why Power Saving is important Sensor nodes are operating with small batteries over long periods about 1~2 years
Consider, characteristics of sensor-net applications
Do sensing a few times and transmit small data ex) report the temperature of a room every hour
Sensor MAC (S-MAC) Save much energy by turning on and off a radio
periodically ACK
ACK Power On
R
R
Power On
Power Off
Energy Efficiency
< DATA
DATA
S
Power On Default
S
Power On
Power Off S-MAC
W. Ye et al, Medium Access Control with Coordinated Adaptive Sleeping for Wireless Sensor Networks ,IEEE TRANS NETWORKING, 2004
SMAC – Duty Cycle 50% duty cycle vs. 25% duty cycle Trade-offs between the energy-savings and the delay
R
S
Power On
Power Off
Power On
Power Off
R
S
Power On
Power Off
Power On
Power Off
More Energy Usage
Less Energy Usage
Less Delay
More Delay
SMAC - Synchronization Every node must be synchronized to communicate CTS
ACK
CTS
ACK
R SYNC
S1 SYNC
RTS DATA
S2
Set Sleep Timer; synchronized
RTS Set Sleep Timer; synchronized
S3 for SYNC
for RTS
Sleep
for SYNC
DATA
for RTS
Sleep
for SYNC
for RTS
Sl
SMAC - Synchronization Maintaining the synchronization of all nodes is not
easy SYNC #1 SYNC #2
SYNC #3 SYNC #4 ….
Berkeley MAC (B-MAC) Do not need the synchronization (very simple) Disadvantages: energy waste for long preamble cannot be implemented on current platforms CTS
ACK
R
ACK
R RTS
CCA
CCA DATA
S
S for SYNC
Sleep
Sleep
for RTS S-MAC
Preamble
DATA
Sleep B-MAC J. Polastre et al, Versatile Low Power Media Access for Wireless Sensor Networks, SenSys, 2004
Scheduled Channel Polling MAC (SCP-MAC) Combine S-MAC with B-MAC CTS
ACK
R
ACK
R SYNC
PreambleSYNC
S1
S1 RTS DATA
S2
S2
Set Sleep Timer; synchronized
for SYNC
DATA
for RTS
Set Sleep Timer; synchronized
Sleep
Sleep
Sleep
CCA
S-MAC
SCP-MAC W. Ye et al., Ultra-Low Duty Cycle MAC with Scheduled Channel Polling, SenSys, 2006
HOMEWORK Implement SMAC’s sleep & wake algorithm simply make 3 node be synchronized by relaying SYNC packet
time
SYNC
DATA
SYNC
DATA
time SYNC
DATA
SYNC
DATA
time
HOMEWORK (Cont.) In configuration file add ‘CC2420RadioC’ component
components CC2420RadioC;
link interface and component
.RadioControl -> CC2420RadioC;
In module file Define ‘RadioControl’ interface
uses StdControl as RadioControl;
To turn on (wake) the radio, use this:
call RadioControl.start()
To turn off (sleep) the radio, use this:
call RadioControl.stop()
HOMEWORK (Cont.) Hint call RadioControl.stop()
call RadioControl.stop()
call Timer.start(TIMER_ONE_SHOT, SLEEP_PERIOD)
time
call Timer.start(TIMER_ONE_SHOT, LISTEN_PERIOD) call RadioControl.start()
call RadioControl.start() call send.send(SYNC)
event receive.receive(SYNC)
call Timer.start(TIMER_ONE_SHOT, LISTEN_PERIOD-SYNC_DELAY) call RadioControl.stop()
time
12