GPS based time synchronization of PC hardware Antti Gröhn

Slides:



Advertisements
Similar presentations
Dr A Sahu Dept of Comp Sc & Engg. IIT Guwahati I/O + Timer 8155 I/O + Timer 8255 I/O 8255 I/O 8253/54 Timer 8253/54 Timer 2 Port (A,B), No Bidirectional.
Advertisements

4-1 Timers Timers can be used for  timing  event counting  pulse width measurement  pulse generation  frequency multiplication There are 8 Timers.
Customer Support Center Measurement Business Headquarters YOKOGAWA
1/1/ / faculty of Electrical Engineering eindhoven university of technology Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir.
IED Time Synchronization John Levine, P.E. Levine Lectronics and Lectric.
Dale E. Gary Professor, Physics, Center for Solar-Terrestrial Research New Jersey Institute of Technology 1 11/7/2011OVSA Technical Design Meeting.
1 Soft Timers: Efficient Microsecond Software Timer Support For Network Processing Mohit Aron and Peter Druschel Rice University Presented By Jonathan.
University College Cork IRELAND Hardware Concepts An understanding of computer hardware is a vital prerequisite for the study of operating systems.
7-1 Digital Serial Input/Output Two basic approaches  Synchronous shared common clock signal all devices synchronised with the shared clock signal data.
Clock Generation Module MTT CLOCK GENERATION MODULE (CGM)
NS Training Hardware. System Controller Module.
Range Measurement Unit Messenger Mercury Laser Altimeter Basic Familiarization.
Augstas stabilitātes GPS pieskaņojamās atbalsta frekvences ģeneratora moduļa izstrāde un izpēte Projekta zinātniskais vadītājs Dr.hab.sc.comp. Jurijs Artjuhs.
The 8051 Microcontroller architecture
1 Physical Clocks need for time in distributed systems physical clocks and their problems synchronizing physical clocks u coordinated universal time (UTC)
Enhanced NTP IETF – TicToc BOF Greg Dowd – Jeremy Bennington –
Computer Organization CSC 405 Bus Structure. System Bus Functions and Features A bus is a common pathway across which data can travel within a computer.
NetBurner MOD 5282 Network Development Kit MCF 5282 Integrated ColdFire 32 bit Microcontoller 2 DB-9 connectors for serial I/O supports: RS-232, RS-485,
Time stamping with CAEN V1290N Bled, 26 th – 28 th March 2008 Dušan Ponikvar, Dejan Paradiž Faculty of Mathematics and Physics Ljubljana, Slovenia.
FlockLab: A Testbed for Distributed, Synchronized Tracing and Profiling of Wireless Embedded Systems IPSN 2013 NSLab study group 2013/04/08 Presented by:
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
8254 Programmable Interval Timer
PIT: Programmable Interval Timer
System Clocks.
8254 SOFTWARE PROGRAMMABLE TIMER/COUNTER
Chapter 4 TIMER OPERATION
DLS Digital Controller Tony Dobbing Head of Power Supplies Group.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 2 Module 9 Basic Router Troubleshooting.
Cluster Computers. Introduction Cluster computing –Standard PCs or workstations connected by a fast network –Good price/performance ratio –Exploit existing.
GBT Interface Card for a Linux Computer Carson Teale 1.
(More) Interfacing concepts. Introduction Overview of I/O operations Programmed I/O – Standard I/O – Memory Mapped I/O Device synchronization Readings:
Timers.
K.C.RAVINDRAN,GRAPES-3 EXPERIMENT,OOTY 1 Development of fast electronics for the GRAPES-3 experiment at Ooty K.C. RAVINDRAN On Behalf of GRAPES-3 Collaboration.
Parallel and Distributed Simulation Synchronizing Wallclock Time.
Some features of V1495 Shiuan-Hal,Shiu Everything in this document is not final decision!
I/O Interfacing A lot of handshaking is required between the CPU and most I/O devices. All I/O devices operate asynchronously with respect to the CPU.
Platform Architecture Lab USB Performance Analysis of Bulk Traffic Brian Leete
Computer Architecture Lecture 4 Sequential Circuits Ralph Grishman September 2015 NYU.
Timer Timer is a device, which counts the input at regular interval (δT) using clock pulses at its input. The counts increment on each pulse and store.
Sir John Tenniel; Alice’s Adventures in Wonderland,Lewis Carroll 11-Nov-151 The Nanokernel David L. Mills University of Delaware
Time Management.  Time management is concerned with OS facilities and services which measure real time, and is essential to the operation of timesharing.
Features of the new Alibava firmware: 1. Universal for laboratory use (readout of stand-alone detector via USB interface) and for the telescope readout.
Outline for Today Objectives: –Time and Timers Administrative details: –Talk on learning at 4 in 130 North Building –Questions?
EPICS EPICS Collaboration Meeting Argonne National Laboratory drvTS improvements for soft timing EPICS Collaboration Meeting Argonne National Laboratory.
1 Soft Timers: Efficient Microsecond Software Timer Support For Network Processing Mohit Aron and Peter Druschel Rice University Presented By Oindrila.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Author George Peck EVLA Hardware Monitor & Control PDR March 13, MIB FUNCTIONALITY.
DsPIC30F4011 Fall DIP Switches  The upper four switches of SW1 are used to enable LEDs connected to PORTB/C, PORTA/D, PORTE and PORTF. For example,
CSCI1600: Embedded and Real Time Software Lecture 9: Input Output Concepts Steven Reiss, Fall 2015.
Lecture 4 General-Purpose Input/Output NCHUEE 720A Lab Prof. Jichiang Tsai.
Computer Network Design EEL 6785 Dr. Janusz Zalewski University of Central Florida.
Time Management.  Time management is concerned with OS facilities and services which measure real time.  These services include:  Keeping track of.
Precision Measurements with the EVERGROW Traffic Observatory Péter Hága István Csabai.
Cluster Computers. Introduction Cluster computing –Standard PCs or workstations connected by a fast network –Good price/performance ratio –Exploit existing.
REGISTER TRANSFER LANGUAGE (RTL) INTRODUCTION TO REGISTER Registers1.
Interrupts and Exception Handling. Execution We are quite aware of the Fetch, Execute process of the control unit of the CPU –Fetch and instruction as.
HJD Institute of Technical Education & Research- Kera(Kutch) The 8051 Microcontroller architecture PREPARED BY: RAYMA SOHIL( )
PCI 9052 소개 권 동혁. Contents 1.Introduction 2.Major features 3.PCI 9052RDK-LITE.
Genova May 2013 Diego Real – David Calvo IFIC (CSIC – Universidad de Valencia) CLBv2 1.
REGISTER TRANSFER LANGUAGE (RTL)
HyperTransport™ Technology I/O Link
Timer and Interrupts.
Distributed Computing
CS 286 Computer Organization and Architecture
Dept. of Computer Science
Important 8051 Features On chip oscillator 4K bytes ROM 128 bytes RAM
PTP SOLUTIONS: Using PTP as a backup to GPS
8253 – PROGRAMMABLE INTERVAL TIMER (PIT). What is a Timer? Timer is a specialized type of device that is used to measure timing intervals. Timers can.
Presentation transcript:

GPS based time synchronization of PC hardware Antti Gröhn

Research goal and background Enable accurate network traffic measurements when analysis is based on packet arrival or departure time at different network nodes. On fast network 20 us inter-computer clock offset can make measurement results totally misleading. –According to time stamps packets seem to be received before even being sent. I have a dream: –inter-computer clock offset should be less than 2 us

Research timetable Part 1 (April 2004 – October 2004, 7 months) Synchronization was done with NTP (Network Time Protocol) utility. Time reference: Trimble Acutime GPS receiver –NMEA / TSIP ASCII timecode output –1 PPS (Pulse-per-second) output »Pulse rising edge indicates second transition »accuracy to UTC: 50 ns (1 sigma) Both signals are interfaced through computer’s serial port.

Research timetable Part 2 (since October 2004, 4 months) System clock upkeeping is done using self-made PCI counter card and customized Linux kernel. Just make the clock run correctly –less need for actual synchronization Time reference: Trimble Thunderbolt GPS receiver –TSIP ASCII timecode output –10 MHz output –1 PPS output »Pulse rising edge indicates second transition »accuracy to UTC: 20 ns (1 sigma)

Part 1 Motherboard’s clock oscillator can easily have frequency error of 10 ppm. (= 10 us per second or 864 ms per day) System clock is updated 100 times per second. –on each timer interrupt (IRQ 0) 10 ms is added to system clock’s current time. NTP software changes the virtual frequency of system clock by changing the time increment on each timer interrupt. Stear the clock towards GPS and beat it REALLY REALLY HARD

Synchronization system Trimble Acutime GPS (Stratum 0) Antenna PPS signal divider RS422 PPS signal (BNC / TTL) ASCII timecode (RS232) PPS signal (RS232) Primary NTP server (Stratum 1) Secondary NTP servers (Stratum 2) Ethernet switch

Pulse prosessing delay measurement setup Trimble Acutime GPS PPS signal divider NTP server PULSE INPUT serial port: pin 1 ECHO OUTPUT serial port: pin 7 Monitoring computer + NI PCI-6602 high resolution PCI interval counter ECHO DELAY Interrupt INPUT OUTPUT Serial port Pulse detection and echo out

Measured serial port echo delay and clock offset reported by NTP utility Average echo delay is between 8 – 20 us on different computers

Upper and lower bound for individual clock offset

Upper bound for inter-computer clock offset Realistic offset is 10 us less because both computers are likely to deviate the amout of echo delay from absolute time.

Loading the CPU with sequential C compiler processes Process starts: Clock slows down NTP utility can compensate effects of CPU load Process ends: Applied correction is too large and clock jumps ahead

Conclusions Inter-computer clock offset < 46 us (99%) Major error contributors: –Prosessing delay on serial port (avg 10 – 20 us) –Temperature fluctuations can cause periodical clock offset as high as ± 20 us. –CPU load variations can cause over 50 us instantious clock offset. NICE, BUT NOT ENOUGH!!! –What time is it, sir? »well it’s 12:15: ± 20 us Let’s go even further and push the GPS system to it’s limits.

Part 2 Motherboard’s timer interrupts determine only the time instant when system clock is updated. –Actual time increment between two successive timer interrupts is determined using counter card. Several error factors should be minimized: –PLL vs Temperature fluctuations –Dynamic time increment vs CPU load variations One might be attempted to modify motherboard directly but more general solution is desirable.

Counter card (SynPCI™) 10 MHz INPUT PPS INPUT Optoisolation 24 bit counter PPS latch memory Time interval latch memory8 bit PPS counter PCI Control Logic 8 MSB24 LSB 32 bit PCI bus 100 MHz VCO Divide-by-10 Phase-difference -detector Loop filter 1/10 Lattice 28 pin SPLD

Counter card (SynPCI™) Count resolution: 10 ns Maximum count: 167 ms Mapped on I/O address space (0x0000 – 0xFFFF) –Address is configured with on-board jumpers For example: configured address 0x300 –I/O read from 0x300 -> »poll active counter value –I/O read from 0x304 -> »read counter value + 8 bit PPS counter value and change active counter –I/O read from 0x308 -> »read PPS latch value

System clock second transition vs PPS pulse rising edge

Loading the CPU with sequential C compiler processes Start of compiler process

Conclusion NICE AND ALMOST ENOUGH!!! Minor clock adjustments are still needed Time increments should be filtered to enhance system clock stability. Reading the system clock accurately is yet another problem. –If time reading procedure is delayed, the time it returns can be several microseconds wrong. Possible Applications –Test networks, time critical network services and general timing.

Any Questions? ? Research must go on! Please keep us in mind when giving away your money!