High-Resolution, Low-Power Time Synchronization an Oxymoron No More Thomas Schmid†, Prabal Dutta♢, Mani B. Srivastava†
University of California, Los Angeles ♢ University of Michigan, Ann Arbor †
Saturday, April 17, 2010
The Time-Energy Nexus
2 Saturday, April 17, 2010
The Time-Energy Nexus
High Frequency Clocks Stable Clock Frequency
New Technologies High Accuracy 2 Saturday, April 17, 2010
The Time-Energy Nexus
High Frequency Clocks
Low Frequency Clocks
Stable Clock Frequency
Long Sync Intervals
New Technologies
Duty Cycling High Accuracy Low Power 2
Saturday, April 17, 2010
The Time-Energy Nexus
High Frequency Clocks
Low Frequency Clocks
Stable Clock Frequency
Long Sync Intervals
New Technologies
Duty Cycling
High Accuracy
Low Power
2 Saturday, April 17, 2010
NESL | CENS | UCLA
What if...
3 Saturday, April 17, 2010
NESL | CENS | UCLA
What if...
•
... we could duty-cycle clocks?
3 Saturday, April 17, 2010
NESL | CENS | UCLA
What if...
• •
... we could duty-cycle clocks? During system sleep, we need low power ‣
Need to keep time reference
‣
Need stable clock frequency
‣
Resolution not important
3 Saturday, April 17, 2010
NESL | CENS | UCLA
What if...
• •
•
... we could duty-cycle clocks? During system sleep, we need low power ‣
Need to keep time reference
‣
Need stable clock frequency
‣
Resolution not important
During active time, we need high accuracy
3 Saturday, April 17, 2010
NESL | CENS | UCLA
What if...
• •
• •
... we could duty-cycle clocks? During system sleep, we need low power ‣
Need to keep time reference
‣
Need stable clock frequency
‣
Resolution not important
During active time, we need high accuracy Power Proportional Timer
3 Saturday, April 17, 2010
NESL | CENS | UCLA
What if...
• •
• •
... we could duty-cycle clocks? During system sleep, we need low power ‣
Need to keep time reference
‣
Need stable clock frequency
‣
Resolution not important
During active time, we need high accuracy Power Proportional Timer
! Virtual High-Resolution Time (VHT) 3 Saturday, April 17, 2010
NESL | CENS | UCLA
Duty-Cycling the Fast Clock
High Low
4 Saturday, April 17, 2010
NESL | CENS | UCLA
Duty-Cycling the Fast Clock
High Low Read / Capture
Write / Compare 4
Saturday, April 17, 2010
NESL | CENS | UCLA
Duty-Cycling the Fast Clock
12:34 High Low Read / Capture
Write / Compare 4
Saturday, April 17, 2010
NESL | CENS | UCLA
Duty-Cycling the Fast Clock
12:34 High Low Read / Capture
Write / Compare 4
Saturday, April 17, 2010
NESL | CENS | UCLA
Elements of Clock Synchronization 1. Offset calibration (clock skew) ‣ Time Stamping (High Accuracy, Radio) ‣ Clock Granularity (High Accuracy
Low Power, VHT)
2. Frequency error (clock drift) ‣ Time Stamping (High Accuracy, Radio) ‣ Clock Stability (High Accuracy
!t
fe fe fe
!t
Low Power, TCTS)
fe fe fe
!t
fe fe fe
!t 5
Saturday, April 17, 2010
NESL | CENS | UCLA
Elements of Clock Synchronization 1. Offset calibration (clock skew)
!‣
Time Stamping (High Accuracy, Radio)
‣ Clock Granularity (High Accuracy
Low Power, VHT)
2. Frequency error (clock drift)
!‣
Time Stamping (High Accuracy, Radio)
‣ Clock Stability (High Accuracy
!t
fe fe fe
!t
Low Power, TCTS)
fe fe fe
!t
fe fe fe
!t 5
Saturday, April 17, 2010
NESL | CENS | UCLA
Measuring Time-Stamping Accuracy
• • •
Low-level time-stamping is imperative Many modern radio chips provide an interrupt Start of Frame Delimiter in IEEE 802.15.4 radios RX1→RX2
RX1
TX RX1
TX RX2
RX2
TX→RX1
Time
TX→RX2
6 Saturday, April 17, 2010
NESL | CENS | UCLA
Radio Time-Stamping Latency Atmel RF230
7 Saturday, April 17, 2010
NESL | CENS | UCLA
Radio Time-Stamping Latency Atmel RF230 TX " RX1
0.03 0.025
Probability
0.02 0.015 0.01 0.005 0 16.6
TX " RX2
16.8
17 17.2 17.4 17.6 Time Between IRQ Rising Edge [µs]
17.8
18
16.8
17 17.2 17.4 17.6 Time Between IRQ Rising Edge [µs]
17.8
18
0.03 0.025
Probability
0.02 0.015 0.01 0.005 0 16.6 Saturday, April 17, 2010
7
NESL | CENS | UCLA
Radio Time-Stamping Latency Atmel RF230 TX " RX1
0.03 0.025
Probability
0.02 0.015
Span of 1 µs
0.01 0.005 0 16.6
TX " RX2
16.8
17 17.2 17.4 17.6 Time Between IRQ Rising Edge [µs]
17.8
18
0.03 0.025
Probability
0.02 0.015
Span of 1 µs
0.01 0.005 0 16.6 Saturday, April 17, 2010
16.8
17 17.2 17.4 17.6 Time Between IRQ Rising Edge [µs]
17.8
18
7
NESL | CENS | UCLA
Radio Time-Stamping Latency Atmel RF230 TX " RX1
TI CC2420
Time Between SFD Rising Edges Between TX and RX Node 1
0.03
0.05 0.045
Probability
0.02 0.015
Percent of Measurements
0.025
Span of 1 µs
0.01 0.005
0.04 0.035 0.03 0.025 0.02 0.015 0.01 0.005
0 16.6
TX " RX2
16.8
17 17.2 17.4 17.6 Time Between IRQ Rising Edge [µs]
17.8
0
18
3 3.05 3.1 3.15 3.2 3.25 3.3 Time Between SFDBetween Rising Edges Between TX[µs] and RX Node 2 Time SFD Rising Edge 0.05
0.03
0.045
Probability
0.02 0.015
Span of 1 µs
0.01 0.005
Percent of Measurements
0.025
0.04 0.035 0.03 0.025 0.02 0.015 0.01 0.005
0 16.6 Saturday, April 17, 2010
0 16.8
17 17.2 17.4 17.6 Time Between IRQ Rising Edge [µs]
17.8
18
3
3.05
3.1 3.15 3.2 3.25 Time Between SFD Rising Edge [µs]
3.3
7
NESL | CENS | UCLA
Radio Time-Stamping Latency Atmel RF230 TX " RX1
TI CC2420
Time Between SFD Rising Edges Between TX and RX Node 1
0.03
0.05 0.045
Probability
0.02 0.015
Percent of Measurements
0.025
Span of 1 µs
0.01 0.005
0.04 0.035
Span of 200 ns
0.03 0.025 0.02 0.015 0.01 0.005
0 16.6
TX " RX2
16.8
17 17.2 17.4 17.6 Time Between IRQ Rising Edge [µs]
17.8
0
18
3 3.05 3.1 3.15 3.2 3.25 3.3 Time Between SFDBetween Rising Edges Between TX[µs] and RX Node 2 Time SFD Rising Edge 0.05
0.03
0.045
Probability
0.02 0.015
Span of 1 µs
0.01 0.005
Percent of Measurements
0.025
0.04 0.035
Span of 200 ns
0.03 0.025 0.02 0.015 0.01 0.005
0 16.6 Saturday, April 17, 2010
0 16.8
17 17.2 17.4 17.6 Time Between IRQ Rising Edge [µs]
17.8
18
3
3.05
3.1 3.15 3.2 3.25 Time Between SFD Rising Edge [µs]
3.3
7
NESL | CENS | UCLA
Current Radios bring offset measurement to a new accuracy level ➡ Clock source errors become more significant
8 Saturday, April 17, 2010
NESL | CENS | UCLA
Elements of Clock Synchronization 1.Offset calibration (clock skew) ‣ Time Stamping (High Accuracy, Radio) ‣ Clock Granularity (High Accuracy
Low Power, VHT)
2.Frequency error (clock drift) ‣ Time Stamping (High Accuracy, Radio) ‣ Clock Stability (High Accuracy
!t
fe fe fe
!t
Low Power, TCTS)
fe fe fe
!t
fe fe fe
!t 9
Saturday, April 17, 2010
NESL | CENS | UCLA
Elements of Clock Synchronization 1.Offset calibration (clock skew)
✓‣
Time Stamping (High Accuracy, Radio)
‣ Clock Granularity (High Accuracy
Low Power, VHT)
2.Frequency error (clock drift)
✓‣
Time Stamping (High Accuracy, Radio)
‣ Clock Stability (High Accuracy
!t
fe fe fe
!t
Low Power, TCTS)
fe fe fe
!t
fe fe fe
!t 9
Saturday, April 17, 2010
NESL | CENS | UCLA
Elements of Clock Synchronization 1.Offset calibration (clock skew)
✓‣
Time Stamping (High Accuracy, Radio)
‣ Clock Granularity (High Accuracy
Low Power, VHT)
2.Frequency error (clock drift)
✓‣ !‣
Time Stamping (High Accuracy, Radio) Clock Stability (High Accuracy
Low Power, TCTS)
! ! ! ! ! ! ! ! ! !t !t !t !t fe fe fe fe fe fe fe fe fe 9 Saturday, April 17, 2010
NESL | CENS | UCLA
10 Saturday, April 17, 2010
NESL | CENS | UCLA
2mm 10 Saturday, April 17, 2010
NESL | CENS | UCLA
Manufacturing Variations Affect Calibration Curves 40
Frequency Error [ppm]
30 20 10 0 -10 -20 -30 -40 -50 0 Saturday, April 17, 2010
10
20 30 40 Temperature [C]
50
60 11
NESL | CENS | UCLA
Temperature Compensated Time Synchronization
• • •
Communicate to learn frequency vs. temperature curve
•
Assumptions
Exploit local temperature knowledge Temperature vs. Frequency does not change
‣
Root or master node has accurate time (GPS, TCXO, etc)
‣
Simple mechanism to measure offset exists 12
Saturday, April 17, 2010
NESL | CENS | UCLA
Temperature Samples Less Costly Than Communication
Sensirion SHT11
DS 32kHz TCXO
TI MSP430 On-Chip
220 ms, 287 µJ
82 ms, 75.3 µJ
35 ms, 66.5 µJ
Current Draw of DS32kHz Temperature Measurement
Current Draw of Internal Temperature Sensor
1400
1400
1200
1200
1200
1000
1000
1000
800 600
Current [µA]
1400
Current [µA]
Current [µA]
Current Draw of External SHT11 Temperature Sensor
800 600
800 600
400
400
400
200
200
200
0 0.3
0.35
0.4
0.45 Time [s]
0.5
0.55
0.6
0 69.7
69.75
69.8
69.85 Time [s]
69.9
69.95
70
0 0
0.05
0.1
0.15 Time [s]
0.2
0.25
0.3
13 Saturday, April 17, 2010
NESL | CENS | UCLA
Temperature Samples Less Costly Than Communication
Sensirion SHT11
DS 32kHz TCXO
TI MSP430 On-Chip
220 ms, 287 µJ
82 ms, 75.3 µJ
35 ms, 66.5 µJ
Current Draw of DS32kHz Temperature Measurement
Current Draw of Internal Temperature Sensor
1400
1400
1200
1200
1200
1000
1000
1000
800 600
Current [µA]
1400
Current [µA]
Current [µA]
Current Draw of External SHT11 Temperature Sensor
800 600
800 600
400
400
400
200
200
200
0 0.3
0.35
0.4
0.45 Time [s]
0.5
0.55
0.6
0 69.7
69.75
69.8
69.85 Time [s]
69.9
69.95
70
0 0
0.05
0.1
0.15 Time [s]
0.2
0.25
0.3
Send 1 radio message ~600µJ [Hui08] Saturday, April 17, 2010
13
NESL | CENS | UCLA
Calibration
• • •
Synchronization at T* for maximal frequency precision Store current frequency error and temperature in a table Go to compensation
Calibrate Unknown Drift
Init
Compensate
Measure Temperature !
Known Drift Saturday, April 17, 2010
14
NESL | CENS | UCLA
Compensation
• •
Measure temperature ‣
If temperature is not in the calibration table, go to calibration
‣
Else, use learned frequency error estimate
Additive increase, multiplicative decrease while calibrated
Calibrate Unknown Drift
Init
Compensate
Measure Temperature !
Known Drift Saturday, April 17, 2010
15
NESL | CENS | UCLA
Beaconing Adapts with Uncertainty in Error Average Hourly Beacon Interval of TDTS 45 40
2000
35 1500
30
1000
25 20
500
15
0
10 0
24
48 72 Simulation Time [h]
Beacon Interval Saturday, April 17, 2010
Temperature [C]
Average Hourly Beacon Interval [s]
2500
Temperature
96
16
NESL | CENS | UCLA
TCTS Maintains Synchronization after Disconnect Sync Stopped
20
30
0
28
-20
26
TCTS
-40
Regular XO
-60
22
-80
20
-100
18
-120
16 56
58
60
Temperature FTSP
Saturday, April 17, 2010
24
62 64 Time [h] TDTS
66
68
70
Temperature
72
Temperature [C]
Synchronization Error [ms]
FTSP vs. TDTS if Synchronization is Stopped
17
NESL | CENS | UCLA
TCTS More Resistant to Changes in Temperature
Temp [C]
e
ˆf [ppm]
Sync. Err. [ms]
TCTS Performance on a Tmote Sky Platform using 32kHz Clocks 0.3 0.2 0.1 0.0 -0.1 -0.2 10 0 -10 -20 -30 55 50 45 40 35 30 25 1.2
1.8
2.4
3
3.6
4.2
TCTS Node 1 TCTS Node 2 Saturday, April 17, 2010
4.8
5.4
6
Time [minutes]
6.6
7.2
FTSP Node 1 FTSP Node 2
7.8
8.4
9
9.6
18
NESL | CENS | UCLA
Elements of Clock Synchronization 1.Offset calibration (clock skew)
✓‣
Time Stamping (High Accuracy, Radio)
‣ Clock Granularity (High Accuracy
Low Power, VHT)
2.Frequency error (clock drift)
✓‣
Time Stamping (High Accuracy, Radio)
‣ Clock Stability (High Accuracy
!t
fe fe fe
!t
Low Power, TCTS)
fe fe fe
!t
fe fe fe
!t 19
Saturday, April 17, 2010
NESL | CENS | UCLA
Elements of Clock Synchronization 1.Offset calibration (clock skew)
✓‣
Time Stamping (High Accuracy, Radio)
‣ Clock Granularity (High Accuracy
Low Power, VHT)
2.Frequency error (clock drift)
✓‣ ✓‣
Time Stamping (High Accuracy, Radio) Clock Stability (High Accuracy
!t
fe fe fe
!t
Low Power, TCTS)
fe fe fe
!t
fe fe fe
!t 19
Saturday, April 17, 2010
NESL | CENS | UCLA
Elements of Clock Synchronization 1.Offset calibration (clock skew)
✓‣ !‣
Time Stamping (High Accuracy, Radio) Clock Granularity (High Accuracy
Low Power, VHT)
2.Frequency error (clock drift)
✓‣ ✓‣
Time Stamping (High Accuracy, Radio) Clock Stability (High Accuracy
! !t
fe fe fe
! !t
Low Power, TCTS)
fe fe fe
! !t
fe fe fe
! !t 19
Saturday, April 17, 2010
NESL | CENS | UCLA
The Oxymoron
No prior time sync system has provided both high accuracy time keeping (