Time & timers, and GPS introduction · FYS3240 PC-based instrumentation and microcontrollers Time &...

20
FYS3240 PC-based instrumentation and microcontrollers Time & timers, and GPS introduction Spring 2014 Lecture #11 Bekkeng, 20.12.2013

Transcript of Time & timers, and GPS introduction · FYS3240 PC-based instrumentation and microcontrollers Time &...

Page 1: Time & timers, and GPS introduction · FYS3240 PC-based instrumentation and microcontrollers Time & timers, and GPS introduction Spring 2014 – Lecture #11 Bekkeng, 20.12.2013

FYS3240

PC-based instrumentation and microcontrollers

Time & timers, and GPS introduction

Spring 2014 – Lecture #11

Bekkeng, 20.12.2013

Page 2: Time & timers, and GPS introduction · FYS3240 PC-based instrumentation and microcontrollers Time & timers, and GPS introduction Spring 2014 – Lecture #11 Bekkeng, 20.12.2013

TAI and UTC time

• International Atomic Time (TAI) as a time scale is a weighted

average of the time kept by over 300 atomic clocks in over 60 national

laboratories worldwide.

• Coordinated Universal Time (UTC) is the primary time standard by

which the world regulates clocks and time, and is based on TAI but

with leap seconds added at irregular intervals to compensate for the

slowing of the Earth's rotation.

• Since 30 June 2012 when the last leap second was added TAI has

been exactly 35 seconds ahead of UTC. The 35 seconds results from

the initial difference of 10 seconds at the start of 1972, plus 25 leap

seconds in UTC since 1972.

• UTC is the time standard used for many internet and World Wide Web

standards. The Network Time Protocol (NTP), designed to synchronize

the clocks of computers over the Internet, encodes times using the

UTC system.

Page 3: Time & timers, and GPS introduction · FYS3240 PC-based instrumentation and microcontrollers Time & timers, and GPS introduction Spring 2014 – Lecture #11 Bekkeng, 20.12.2013

Synchronize PC clock to NTP server in

Windows

Note: this Internet time settings is not available when the computer

is part of a domain (such as the domain UIO.no)

Windows Time service

Page 4: Time & timers, and GPS introduction · FYS3240 PC-based instrumentation and microcontrollers Time & timers, and GPS introduction Spring 2014 – Lecture #11 Bekkeng, 20.12.2013

Leap seconds

• Time is now measured using stable atomic clocks

• A leap second is a one-second adjustment that is occasionally

applied to UTC time in order to keep its time of day close to the

mean solar time.

o Solar time is a reckoning of the passage of time based on the Sun's

position in the sky.

• Leap seconds are necessary partly because the length of the

mean solar day is very slowly increasing, and partly because the

atomic, fixed-length SI second, when adopted, was already a little

shorter than the current value of the second of mean solar time.

.

Since 1967, the second has been defined to be the duration of 9,192,631,770

periods of the radiation corresponding to the transition between the two hyperfine

levels of the ground state of the cesium 133 atom

Page 5: Time & timers, and GPS introduction · FYS3240 PC-based instrumentation and microcontrollers Time & timers, and GPS introduction Spring 2014 – Lecture #11 Bekkeng, 20.12.2013

• GPS time is the atomic time scale implemented by the atomic clocks

in the GPS ground control stations and the GPS satellites themselves.

• Periodic corrections are performed to the on-board satellite clocks to

keep them synchronized with ground station clocks.

• GPS time is NOT corrected for leap seconds.

• GPS time is NOT equal to UTC or TAI time.

– GPS time remains at a constant offset of 19 seconds with TAI.

– As of July 2012, GPS time is 16 seconds ahead of UTC because of the

leap seconds added to UTC.

– A new leap second correction will be added to UTC in 2016

– GPS time was set to match UTC in 1980

• However, the time offset from UTC is contained in the GPS broadcast

message and is usually applied automatically by GPS receivers.

GPS time

From: http://leapsecond.com/java/gpsclock.htm

A GPS satellite clock run faster

(about 38 μs a day) due to

velocity and gravity effects

(follows the Relativity theory)

Time dilation

Page 6: Time & timers, and GPS introduction · FYS3240 PC-based instrumentation and microcontrollers Time & timers, and GPS introduction Spring 2014 – Lecture #11 Bekkeng, 20.12.2013

Computer clocks

• Hardware clocks

– Real Time Clock (RTC) is an integrated circuit on the motherboard.

– The RTC has a battery backup power so that it tracks the time even while the

computer is turned off.

– Based on a 32.768 kHz quartz crystal oscillator.

– Maximum resolution of 1 millisecond (1 kHz).

• Software clocks

– Maintained by the operating system, based on the RTC interrupts.

– When the system starts it sets the system time to a value based on the real-time

clock of the computer and then regularly updates the time based on interrupts

from the RTC.

• Timers/Counters

– 8253/8254 PIT (Programmable Interval Timer)

– APIC (Advanced Programmable Interrupt Controller)

– ACPI (Advanced Configuration Programmable Interrupt)

Page 7: Time & timers, and GPS introduction · FYS3240 PC-based instrumentation and microcontrollers Time & timers, and GPS introduction Spring 2014 – Lecture #11 Bekkeng, 20.12.2013

High-Resolution Timers/Counters

• High Precision Event Timer (HPET) is a 64-bit up-counter with a

frequency higher than 10 MHz.

• Time Stamp Counter (TSC) is a 64-bit register in the CPU (cores)

that increment each processor clock cycle. However, can be unreliable

on a modern multicore computer due to:

– multicore computers can have different values in their time-keeping

registers.

– variability of the CPU frequency due to power management technologies or

performance technologies such as Intel Turbo Boost Technology.

• A comparator can be used to generate an interrupt.

Access the TSC (or HPET) timer using the Windows API functions

QueryPerformanceCounter (μs resolution) and QueryPerformanceFrequency

∆𝑇 = QueryPerformanceCounter(n) − QueryPerformanceCounter(n − 1)

QueryPerformanceFrequency

Page 8: Time & timers, and GPS introduction · FYS3240 PC-based instrumentation and microcontrollers Time & timers, and GPS introduction Spring 2014 – Lecture #11 Bekkeng, 20.12.2013

QueryPerformance from LabVIEW

TSC example

Page 9: Time & timers, and GPS introduction · FYS3240 PC-based instrumentation and microcontrollers Time & timers, and GPS introduction Spring 2014 – Lecture #11 Bekkeng, 20.12.2013

Computer clock drift

• A quartz clock typically drift more than 1 second in six days.

• The software clock is a bad timekeeper!

• The computer clock drifts away from the correct time. At the

time of synchronization with a time server the clock is reset to

the “correct time” (but with a small offset).

• Could update the computer clock often, but a much better

solution is to read UTC time directly from a timing card (such

as NI PXI-6683) connected to GPS, IRIG-B or IEEE1588.

Software / Operating System (OS)

limits timing resolution and

accuracy! The performance is

system (hardware, OS) dependent.

Page 10: Time & timers, and GPS introduction · FYS3240 PC-based instrumentation and microcontrollers Time & timers, and GPS introduction Spring 2014 – Lecture #11 Bekkeng, 20.12.2013

Satellite navigation

• A satellite navigation system with global coverage is called a global navigation satellite system, or GNSS. – GPS (USA)

– GLONASS (Russia)

– GALILEO (EU): In-Orbit Validation • 30 satellites in 2019

– Compass (China): Chine + Asia-Pacific • 35 satellites in 2020

• A satellite navigation systems can give very accurate – Position

– Velocity (doppler)

– Time

Page 11: Time & timers, and GPS introduction · FYS3240 PC-based instrumentation and microcontrollers Time & timers, and GPS introduction Spring 2014 – Lecture #11 Bekkeng, 20.12.2013

The Global positioning System

(GPS)

• Space segment

– 24 (28/31) satellites orbiting the Earth at an altitude of approximately

20,200 km. The orbital period is about 12 hours

– Six orbital planes with four satellites in each.

– At least four satellites are visible from any point on the ground at

any time

• Control segment

– Tracking stations around the world monitor and measure orbit and

satellite clock correction parameters. These corrections are

transmitted up to the satellites and broadcasted to the user segment.

• User segment

– GPS receivers, giving the user information about the receiver

position, velocity and time

Page 12: Time & timers, and GPS introduction · FYS3240 PC-based instrumentation and microcontrollers Time & timers, and GPS introduction Spring 2014 – Lecture #11 Bekkeng, 20.12.2013

Triangulation in 3D

One satellite

Two satellites

Three satellites

Page 13: Time & timers, and GPS introduction · FYS3240 PC-based instrumentation and microcontrollers Time & timers, and GPS introduction Spring 2014 – Lecture #11 Bekkeng, 20.12.2013

Satellite navigation

• The GPS receiver compare the time of transmission of the coded signal from the satellite with the time of arrival at the receiver

• The velocity v is the velocity of electromagnetic waves in vacuum, including a model of the average delay in the troposphere and ionosphere

• Variations in neutral density, temperature and humidity in the atmosphere, and electron density in the ionosphere, affects the velocity of electromagnetic waves, and therefore gives an error in the measured distance s

• Orbit errors and multipath (due to reflections) also contribute to the total error in the measured distance to a satellite

s = v * Δt

Index of refraction (n):

n(λ) , c = f * λ

Multipath

Page 14: Time & timers, and GPS introduction · FYS3240 PC-based instrumentation and microcontrollers Time & timers, and GPS introduction Spring 2014 – Lecture #11 Bekkeng, 20.12.2013

TEC MAP

TEC = Total Electron Content

Page 15: Time & timers, and GPS introduction · FYS3240 PC-based instrumentation and microcontrollers Time & timers, and GPS introduction Spring 2014 – Lecture #11 Bekkeng, 20.12.2013

Satellite navigation in 3D

• The distance to at least four satellites must be known!

• Three satellites need for three distance measurements

– Measure “signal time of flight” : s = v * t

• The fourth satellites is needed in order to remove clock errors in

the receiver unit

– GPS satellites have calibrated atomic clocks, but a GPS receiver has only a

standard quartz crystal oscillator

– An error of 1 ms in the receiver clock gives a position error of

3*108 m/s * 1 ms = 300 km

• Navigation data message from each satellite: – Satellite time (when the message was transmitted) + correction

– Satellite position (when the message was transmitted), using ephemeris (orbit data)

– Almanac data (orbit data etc. for ALL satellites)

• More satellites gives better accuracy!

Page 16: Time & timers, and GPS introduction · FYS3240 PC-based instrumentation and microcontrollers Time & timers, and GPS introduction Spring 2014 – Lecture #11 Bekkeng, 20.12.2013

Pseudorange

The measured pseudorange 𝑃 𝑘 from a satellite k can be expressed as

(since we can assume no clock error in the satellite):

𝑃 𝑘 = (𝑋𝑘 − 𝑥)2+ (𝑌𝑘 − 𝑦)2+ (𝑍𝑘 − 𝑧)2+ 𝑑 + 𝑣 = 𝜌𝑘 + 𝑑 + 𝑣

Where d is the position error due to receiver clock error, (Xk,Yk,Zk) is

the known position of satellite k, (x,y,c) is the true receiver position, and

𝑣 is zero mean Gaussian white noise with variance σ2

Page 17: Time & timers, and GPS introduction · FYS3240 PC-based instrumentation and microcontrollers Time & timers, and GPS introduction Spring 2014 – Lecture #11 Bekkeng, 20.12.2013

GPS signals

• Frequencies used in the GPS system:

– L1: 1575.42 MHz –C/A code and P(Y) code

– L2: 1227.60 MHz –P(Y) code

– New civilian signals in the future

• L2C, L5, and L1C

• Every satellites transmit a unique PRN (pseudorandom noise) code (C/A

code)

• A doppler shift is introduces (on L1 and L2) due to relative motion

between the satellite and the receiver

• The receiver must perform a correlation (search in received data) in

order to detect the PRN code from a satellite

– local PRN codes are correlated with the navigation message

Page 18: Time & timers, and GPS introduction · FYS3240 PC-based instrumentation and microcontrollers Time & timers, and GPS introduction Spring 2014 – Lecture #11 Bekkeng, 20.12.2013

New GPS signal L2C

Page 19: Time & timers, and GPS introduction · FYS3240 PC-based instrumentation and microcontrollers Time & timers, and GPS introduction Spring 2014 – Lecture #11 Bekkeng, 20.12.2013

Differential GPS (DGPS)

• Used to increase the GPS position

accuracy (different types of DGPS)

• Reference stations on known

locations on the Earth can calculate

the position based on the C/A coded

signals, an compare with the known

location of the station. This gives the

position error from the GPS system,

and this error can be broadcasted to

all receivers

• The accuracy depends on the

distance from the reference station(s)

Page 20: Time & timers, and GPS introduction · FYS3240 PC-based instrumentation and microcontrollers Time & timers, and GPS introduction Spring 2014 – Lecture #11 Bekkeng, 20.12.2013

GPS accuracy

• GPS (C/A code) : 10 – 30 meters (only L1 used)

• GPS (P(Y)-code) : 1 – 3 meters (military receivers, L1 and L2 used)

– P(Y) is an encrypted code!

• DGPS : 1 – 5 meters

• CPDGPS : < 1 cm (static), < 5 cm (kinematic)

• EGNOS : 1 – 5 meter (EGNOS is EU’s DGPS)

Note: SA-code turned off in May 2000 ! CP = carrier phase