time-nuts@lists.febo.com

Discussion of precise time and frequency measurement

View all threads

Re: [time-nuts] Digital temperature compensation

HM
Hal Murray
Sat, Nov 1, 2014 11:03 PM

I'm experimenting with using a temperature sensor to estimate local
oscillator frequency changes.  My goal is to have a decent holdover clock
for a NTP server with not so great GPS antenna placement.

This is for ntpd rather than chrony, but it's a good read:
NTP temperature compensation
http://www.ijs.si/time/temp-compensation/

With the colder temperatures, there's a sudden drop off in frequency  that
I'm having a hard time finding a equation that fits as nicely.

That section of the graph doesn't make sense to me.  I suspect a glitch in
your setup.

When does your GPS unit run out of satellites?

Where is your temperature probe?  Is it in contact with the crystal inside
the PC?  Is the PC doing anything?  In particular at the times when the data
doesn't make sense?

PCs can do a lot of self heating.  Try running a big workload when the
temperature is in the middle of the good range.

--
These are my opinions.  I hate spam.

dan-timenuts@drown.org said: > I'm experimenting with using a temperature sensor to estimate local > oscillator frequency changes. My goal is to have a decent holdover clock > for a NTP server with not so great GPS antenna placement. This is for ntpd rather than chrony, but it's a good read: NTP temperature compensation http://www.ijs.si/time/temp-compensation/ > With the colder temperatures, there's a sudden drop off in frequency that > I'm having a hard time finding a equation that fits as nicely. That section of the graph doesn't make sense to me. I suspect a glitch in your setup. When does your GPS unit run out of satellites? Where is your temperature probe? Is it in contact with the crystal inside the PC? Is the PC doing anything? In particular at the times when the data doesn't make sense? PCs can do a lot of self heating. Try running a big workload when the temperature is in the middle of the good range. -- These are my opinions. I hate spam.
DD
Daniel Drown
Sun, Nov 2, 2014 11:35 PM

On 11/1/2014 6:03 PM, Hal Murray wrote:

I'm experimenting with using a temperature sensor to estimate local
oscillator frequency changes.  My goal is to have a decent holdover clock
for a NTP server with not so great GPS antenna placement.

This is for ntpd rather than chrony, but it's a good read:
NTP temperature compensation
http://www.ijs.si/time/temp-compensation/

Thank you, I hadn't seen this one.  I chose chrony because it has
built-in support for temperature compensation.  I couldn't find anyone
else talking about using it, so I posted my trial run information:
http://blog.dan.drown.org/beaglebone-black-ntpgps-server-temperature-compensation/

Chrony's support looks very similar in implementation to that page, so I
assume that's what it was inspired by.  My trial run was exciting
because it suggested around 25ppb-60ppb was possible.

With the colder temperatures, there's a sudden drop off in frequency  that
I'm having a hard time finding a equation that fits as nicely.

That section of the graph doesn't make sense to me.  I suspect a glitch in
your setup.

I suspect what I'm running into is some interaction of other components
(perhaps the resistors and capacitors) with the crystal oscillator.

When does your GPS unit run out of satellites?

I've only included data when the GPS is locked and the PPS offset is
within +/- 15us.

Where is your temperature probe?  Is it in contact with the crystal inside
the PC?  Is the PC doing anything?  In particular at the times when the data
doesn't make sense?

The probe is nearby, on a breadboard.  The system in question is a
beaglebone black and dedicated to just NTP.  I'm also collecting the
(less precise) CPU temperature sensor data, and there's no relationship
between it and the frequency spikes.  I've gone ahead and attached that
graph.

PCs can do a lot of self heating.  Try running a big workload when the
temperature is in the middle of the good range.

Yup, you can see an example of this on the blog page.

I've posted a part 2 to my blog to go over my estimation of what should
be possible using this hardware, and came to the conclusion of around
700ppb:
http://blog.dan.drown.org/beaglebone-black-ntpgps-server-temperature-compensation-part-2/

On 11/1/2014 6:03 PM, Hal Murray wrote: > dan-timenuts@drown.org said: >> I'm experimenting with using a temperature sensor to estimate local >> oscillator frequency changes. My goal is to have a decent holdover clock >> for a NTP server with not so great GPS antenna placement. > > This is for ntpd rather than chrony, but it's a good read: > NTP temperature compensation > http://www.ijs.si/time/temp-compensation/ Thank you, I hadn't seen this one. I chose chrony because it has built-in support for temperature compensation. I couldn't find anyone else talking about using it, so I posted my trial run information: http://blog.dan.drown.org/beaglebone-black-ntpgps-server-temperature-compensation/ Chrony's support looks very similar in implementation to that page, so I assume that's what it was inspired by. My trial run was exciting because it suggested around 25ppb-60ppb was possible. >> With the colder temperatures, there's a sudden drop off in frequency that >> I'm having a hard time finding a equation that fits as nicely. > > That section of the graph doesn't make sense to me. I suspect a glitch in > your setup. I suspect what I'm running into is some interaction of other components (perhaps the resistors and capacitors) with the crystal oscillator. > When does your GPS unit run out of satellites? I've only included data when the GPS is locked and the PPS offset is within +/- 15us. > Where is your temperature probe? Is it in contact with the crystal inside > the PC? Is the PC doing anything? In particular at the times when the data > doesn't make sense? The probe is nearby, on a breadboard. The system in question is a beaglebone black and dedicated to just NTP. I'm also collecting the (less precise) CPU temperature sensor data, and there's no relationship between it and the frequency spikes. I've gone ahead and attached that graph. > PCs can do a lot of self heating. Try running a big workload when the > temperature is in the middle of the good range. Yup, you can see an example of this on the blog page. I've posted a part 2 to my blog to go over my estimation of what should be possible using this hardware, and came to the conclusion of around 700ppb: http://blog.dan.drown.org/beaglebone-black-ntpgps-server-temperature-compensation-part-2/