Tuesday, June 6, 2017

Goodies...

Well the board has arrived so we can move to a less virtual work...
Arrived in a some rather nice boxes! It's nice to see a bit of effort given to the presentation...

Wednesday, May 31, 2017

...in the begining there was TIME!

This is a blog about the design and prototype of an embedded network based Time Service that provides NTP and hopefully PTP time services.

With the progress of technology the requirement for accurate time measurement is becoming increasingly more prevalent in many aspects of the Scientific and Engineering community. The provision of a simple NTP server using an embedded platform that can, hopefully, scale up to a PTP server (or at least a sub mirco-second implementation) is the eventual goal.

What it NTP?
NTP or Network Time Protocol is a fairly old system of disseminating the time over a network using simple UDP packets and attempting to resolve the network delays through  a time-of-flight measurement. NTP can, under reasonable network loads, achieve accuracy of around 1mS after an error integration time of a few minutes.

What is PTP?
PTP or Precision Time Protocol is an attempt to provide a more accurate NTP that is sub uS and often claims <100nS variation. It usually requires hardware specific MAC/Ethernet modules on the receiving system to remove any delays and jitter in the software processing of the PTP packets. PTP usage tends to only be useful in local environments and mostly over copper.

What is this project going to bring to the table?
The hopeful outcome for this project is to implement a simple and cheap Time Server that conforms to the standards and will provide a good level of accuracy, maybe not sub 100nS but in the region of 1uS that can be used in other time sensitive projects.

How?
Well the server will use a GPS as it's time reference. The actual time reference from a GPS isn't, generally, all that amazing and can be out by tens of uS. It is, however, good over long term time periods. By combining a low jitter crystal oscillator, GPS one-pulse-per-second and a temperature measurement in a closed feedback loop with a kalman filter we should be able to produce a very accurate internal time reference. We then use this to generate the network packets. This process relies on the network server being pretty much dedicated to providing the time reference packets so latency should be sort at the point... hopefully!

Goodies...

Well the board has arrived so we can move to a less virtual work... Arrived in a some rather nice boxes! It's nice to see a bit of ef...