High Accuracy, Radio

Report 4 Downloads 91 Views
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 (