Discussion:
[time-nuts] PLL/GPSDO/etc learning resources for mere mortals
Forrest Christian (List Account)
2018-09-02 23:46:12 UTC
Permalink
I'm trying to fill in some gaps in my knowledge about PLL's, GPSDO's, etc.,
with the goal to eventually implement some of these either in a
microcontroller or fpga or some combination thereof.

My problem is that the resources I've found either are very basic -
oriented toward just the high level understanding of what these are and the
basics of how they work (what I already know), OR are very math dense and
impenetrable to mere mortals - essentially oriented toward people who
already know what they're doing and who have the magic decoder ring as to
what the formulas are used for.

I'm hoping to find something which will help me bridge the gap. Any ideas
where I should look?

--
*Forrest Christian* *CEO**, PacketFlux Technologies, Inc.*
Tel: 406-449-3345 | Address: 3577 Countryside Road, Helena, MT 59602
***@imach.com | http://www.packetflux.com
<http://www.linkedin.com/in/fwchristian> <http://facebook.com/packetflux>
<http://twitter.com/@packetflux>
_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Richard (Rick) Karlquist
2018-09-03 01:12:08 UTC
Permalink
You might try Phase Lock Techniques by Gardner.

Rick N6RK

On 9/2/2018 4:46 PM, Forrest Christian (List Account) wrote:
> I'm trying to fill in some gaps in my knowledge about PLL's, GPSDO's, etc.,
> with the goal to eventually implement some of these either in a
> microcontroller or fpga or some combination thereof.
>
> My problem is that the resources I've found either are very basic -
> oriented toward just the high level understanding of what these are and the
> basics of how they work (what I already know), OR are very math dense and
> impenetrable to mere mortals - essentially oriented toward people who
> already know what they're doing and who have the magic decoder ring as to
> what the formulas are used for.
>
> I'm hoping to find something which will help me bridge the gap. Any ideas
> where I should look?
>

_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
John Miles
2018-09-03 01:35:14 UTC
Permalink
> -----Original Message-----
> From: time-nuts [mailto:time-nuts-***@lists.febo.com] On Behalf Of
> Richard (Rick) Karlquist
> Sent: Sunday, September 02, 2018 6:12 PM
> To: Discussion of precise time and frequency measurement; Forrest
Christian
> (List Account)
> Subject: Re: [time-nuts] PLL/GPSDO/etc learning resources for mere mortals
>
> You might try Phase Lock Techniques by Gardner.
>
> Rick N6RK

Also worth checking out "Dean's book":

http://www.ti.com/tool/PLL_BOOK

This makes a great introductory text/prerequisite for the heavy hitters like
Gardner and Rohde. Dean Banerjee spent many years providing customer
support for PLL chips sold by TI and NatSemi, so he's got a good sense of
how to explain the basics to non-specialists as well as encyclopedic
knowledge of things to watch out for.

-- john, KE5FX
Miles Design LLC



_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
paul swed
2018-09-03 02:51:55 UTC
Permalink
John and at the right price. Thats quite a document at 497 pages.
Was doing a fast scan of it and looks pretty good.
Thank you.
Paul
WB8TSL

On Sun, Sep 2, 2018 at 9:35 PM, John Miles <***@miles.io> wrote:

> > -----Original Message-----
> > From: time-nuts [mailto:time-nuts-***@lists.febo.com] On Behalf Of
> > Richard (Rick) Karlquist
> > Sent: Sunday, September 02, 2018 6:12 PM
> > To: Discussion of precise time and frequency measurement; Forrest
> Christian
> > (List Account)
> > Subject: Re: [time-nuts] PLL/GPSDO/etc learning resources for mere
> mortals
> >
> > You might try Phase Lock Techniques by Gardner.
> >
> > Rick N6RK
>
> Also worth checking out "Dean's book":
>
> http://www.ti.com/tool/PLL_BOOK
>
> This makes a great introductory text/prerequisite for the heavy hitters
> like
> Gardner and Rohde. Dean Banerjee spent many years providing customer
> support for PLL chips sold by TI and NatSemi, so he's got a good sense of
> how to explain the basics to non-specialists as well as encyclopedic
> knowledge of things to watch out for.
>
> -- john, KE5FX
> Miles Design LLC
>
>
>
> _______________________________________________
> time-nuts mailing list -- time-***@lists.febo.com
> To unsubscribe, go to http://lists.febo.com/mailman/
> listinfo/time-nuts_lists.febo.com
> and follow the instructions there.
>
_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Richard (Rick) Karlquist
2018-09-03 12:52:50 UTC
Permalink
> Also worth checking out "Dean's book":
>
> http://www.ti.com/tool/PLL_BOOK
>
> This makes a great introductory text/prerequisite for the heavy hitters like
> Gardner and Rohde. Dean Banerjee spent many years providing customer
>>
> -- john, KE5FX

You hit a home run ... this is a great tutorial. This reminds me
of the saying "equations don't teach.". I love the graph on
page 1 that has "VCO" and "everything but the VCO" marked.

Yet another reason to keep reading time-nuts.

Rick N6RK

_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
jimlux
2018-09-03 14:52:12 UTC
Permalink
On 9/3/18 5:52 AM, Richard (Rick) Karlquist wrote:
>> Also worth checking out "Dean's book":
>>
>> http://www.ti.com/tool/PLL_BOOK
>>
>> This makes a great introductory text/prerequisite for the heavy
>> hitters like
>> Gardner and Rohde.  Dean Banerjee spent many years providing customer
>>>
>> -- john, KE5FX
>
> You hit a home run ... this is a great tutorial.  This reminds me
> of the saying "equations don't teach.".  I love the graph on
> page 1 that has "VCO" and "everything but the VCO" marked.
>
> Yet another reason to keep reading time-nuts.


Dean's book is great. Can you print from the pdf? Back in version 3 or
so, it was one of those "can't print" pdf files (which I'm sure could be
broken by a non Adobe reader).

So I bought a printed copy - worth every penny of the $15.

It's the book I hand out to people when they start asking about how to
do a PLL circuit. "Here, this book is sort of like the master
application note...Read it and start finding out what went wrong."


_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and
Chris Waldrup
2018-09-09 03:34:34 UTC
Permalink
I was able to save it to iBooks on my phone and can print from that.

Chris
KD4PBJ

> On Sep 3, 2018, at 9:52 AM, jimlux <***@earthlink.net> wrote:
>
> On 9/3/18 5:52 AM, Richard (Rick) Karlquist wrote:
>>> Also worth checking out "Dean's book":
>>>
>>> http://www.ti.com/tool/PLL_BOOK
>>>
>>> This makes a great introductory text/prerequisite for the heavy hitters like
>>> Gardner and Rohde. Dean Banerjee spent many years providing customer
>>>>
>>> -- john, KE5FX
>> You hit a home run ... this is a great tutorial. This reminds me
>> of the saying "equations don't teach.". I love the graph on
>> page 1 that has "VCO" and "everything but the VCO" marked.
>> Yet another reason to keep reading time-nuts.
>
>
> Dean's book is great. Can you print from the pdf? Back in version 3 or so, it was one of those "can't print" pdf files (which I'm sure could be broken by a non Adobe reader).
>
> So I bought a printed copy - worth every penny of the $15.
>
> It's the book I hand out to people when they start asking about how to do a PLL circuit. "Here, this book is sort of like the master application note...Read it and start finding out what went wrong."
>
>
> _______________________________________________
> time-nuts mailing list -- time-***@lists.febo.com
> To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
> and follow the instructions there.

_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Hal Murray
2018-09-03 06:49:38 UTC
Permalink
***@packetflux.com said:
> I'm trying to fill in some gaps in my knowledge about PLL's, GPSDO's, etc.,
> with the goal to eventually implement some of these either in a
> microcontroller or fpga or some combination thereof.

An FPGA is unlikely to be the way to go for a GPSDO. There is lots of time to
do it in software and the tools for micros are generally easier to work with
than FPGA tools. (But if you like FPGAs, don't let me scare you away.)

One thing to keep in mind for GPSDOs is that the time constants for filters
are very long relative to what is reasonable to build with Rs and Cs that are
readily available. The usual way to go is a D/A connected to a micro. That
moves the filter time constant into software. Thus you will see lots of
discussion on this list about which D/A to use. Generally, you would like
more bits than you can get. For a one-off project, you can trade a reduced
tuning range for better resolution if you are willing to use a pot (or
soldering iron) for the coarse adjustment, aka the high bits on the tuning
range.

Another thing to add to your list is hanging bridges and sawtooth correction.

Another magic term associated with PLLs is PID controller - Proportional,
Integral, Differential. You may find some web articles that tell you enough
to be helpful without using complicated math.


--
These are my opinions. I hate spam.




_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Bob kb8tq
2018-09-03 15:09:20 UTC
Permalink
Hi

…. ummm ….. errrr …. cost wise a “pure FPGA” approach may or may not be
best for a GPSDO. Functionally it will do everything you need to do and more.
Indeed you will need one that is big enough to do the job. That’s getting ever
easier as time marches on. Tools are generally a matter of what you already
have for a toolchain and your experience with it. There are some terrific ( though
often expensive) tools for doing this and that on almost any device you can
think of.

Functionally, you can go “pure logic” and get things working. It’s maybe not the
way most of us would go. You can get FPGA’s with ARM cores hard coded into
the chip. You can also dump a wide range of MCU’s into the logic of the FPGA.
Tacking a RAM chip on may well be required in some of these approaches.

Lots of options !!!!

Bob

> On Sep 3, 2018, at 2:49 AM, Hal Murray <***@megapathdsl.net> wrote:
>
>
> ***@packetflux.com said:
>> I'm trying to fill in some gaps in my knowledge about PLL's, GPSDO's, etc.,
>> with the goal to eventually implement some of these either in a
>> microcontroller or fpga or some combination thereof.
>
> An FPGA is unlikely to be the way to go for a GPSDO. There is lots of time to
> do it in software and the tools for micros are generally easier to work with
> than FPGA tools. (But if you like FPGAs, don't let me scare you away.)
>
> One thing to keep in mind for GPSDOs is that the time constants for filters
> are very long relative to what is reasonable to build with Rs and Cs that are
> readily available. The usual way to go is a D/A connected to a micro. That
> moves the filter time constant into software. Thus you will see lots of
> discussion on this list about which D/A to use. Generally, you would like
> more bits than you can get. For a one-off project, you can trade a reduced
> tuning range for better resolution if you are willing to use a pot (or
> soldering iron) for the coarse adjustment, aka the high bits on the tuning
> range.
>
> Another thing to add to your list is hanging bridges and sawtooth correction.
>
> Another magic term associated with PLLs is PID controller - Proportional,
> Integral, Differential. You may find some web articles that tell you enough
> to be helpful without using complicated math.
>
>
> --
> These are my opinions. I hate spam.
>
>
>
>
> _______________________________________________
> time-nuts mailing list -- time-***@lists.febo.com
> To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
> and follow the instructions there.


_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.co
Forrest Christian (List Account)
2018-09-03 11:33:15 UTC
Permalink
Thanks to everyone who has responded so far.

My underlying interest is learning about 1PPS holdover methodologies in the
presence of environmental changes (think outdoor day/night temperature
cycles). My thoughts are that there are two ways that seem obvious to me
to implement a temperature-stable holdover:

1) Discipline an OCXO using some sort of control loop to a known frequency
(using an appropriate GPS receiver) and divide that down to 1 Hz. This
solution has large parts in the analog domain, with a bit of a PID or other
similar control loop implemented in a micro, and the divider perhaps in a
FPGA or implemented with standard logic. The challenge seems to me to be
how to temperature stabilize the entire DAC chain without putting it all in
an oven - on the other hand, it seems that this might not be quite as
critical as I think it is, due to the relatively limited frequency control
range of many OCXO's in comparison to the voltage range of that signal. But
I just don't know enough to be able to say for sure. I probably need to
get a few surplus (or new) OCXO's and play with them.

2) Use a non-disciplined OCXO as a temperature-stable clock and feed this
clock into a FPGA where one could implement a 1Hz PLL or similar. It
would seem to me that even measuring the OCXO's average frequency over a
long period using a GPS 1PPS source as a gate would get me somewhere toward
where I am headed, but I'm guessing that there's a lot of complexity I'm
not aware of.

I realize that a lot of what I just mentioned above contains a lot of
naivete. I'm sort of at the stage that I sort of know what building blocks
I might be able to use (and perhaps these aren't even the right blocks),
but need to understand more about the internal workings of each. There's
also the distinct possibility that I'm missing key building blocks that I
don't even know exist (or that they're needed).

I'm going to dig through "Deans Book" and see about obtaining a non-scarily
priced copy of the Phase Lock Techniques by Gardner. Both seem like
excellent resources that will take me some time to digest. Any other
suggestions would be happily received.

On Mon, Sep 3, 2018 at 12:49 AM, Hal Murray <***@megapathdsl.net> wrote:

>
> ***@packetflux.com said:
> > I'm trying to fill in some gaps in my knowledge about PLL's, GPSDO's,
> etc.,
> > with the goal to eventually implement some of these either in a
> > microcontroller or fpga or some combination thereof.
>
> An FPGA is unlikely to be the way to go for a GPSDO. There is lots of
> time to
> do it in software and the tools for micros are generally easier to work
> with
> than FPGA tools. (But if you like FPGAs, don't let me scare you away.)
>
> One thing to keep in mind for GPSDOs is that the time constants for
> filters
> are very long relative to what is reasonable to build with Rs and Cs that
> are
> readily available. The usual way to go is a D/A connected to a micro.
> That
> moves the filter time constant into software. Thus you will see lots of
> discussion on this list about which D/A to use. Generally, you would like
> more bits than you can get. For a one-off project, you can trade a
> reduced
> tuning range for better resolution if you are willing to use a pot (or
> soldering iron) for the coarse adjustment, aka the high bits on the tuning
> range.
>
> Another thing to add to your list is hanging bridges and sawtooth
> correction.
>
> Another magic term associated with PLLs is PID controller - Proportional,
> Integral, Differential. You may find some web articles that tell you
> enough
> to be helpful without using complicated math.
>
>
> --
> These are my opinions. I hate spam.
>
>
>
>
> _______________________________________________
> time-nuts mailing list -- time-***@lists.febo.com
> To unsubscribe, go to http://lists.febo.com/mailman/
> listinfo/time-nuts_lists.febo.com
> and follow the instructions there.
>



--
*Forrest Christian* *CEO**, PacketFlux Technologies, Inc.*
Tel: 406-449-3345 | Address: 3577 Countryside Road, Helena, MT 59602
***@imach.com | http://www.packetflux.com
<http://www.linkedin.com/in/fwchristian> <http://facebook.com/packetflux>
<http://twitter.com/@packetflux>
_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Jim Harman
2018-09-04 16:28:00 UTC
Permalink
> The challenge seems to me to be

how to temperature stabilize the entire DAC chain without putting it all in
an oven

Hi Forrest,

Generally you don't have to temperature stabilize the DAC because it is
inside the phase-locked control loop and the loop will adjust for
temperature dependencies, just as it adjusts for drift and temperature
dependencies in the oscillator. You will want your phase detector to be
reasonably temperature stable however.

In the time-nuts archives you will find posts from Lars Walenius and myself
with schematics and code for Arduino-based GPSDOs which you might want to
study.
_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Jim Harman
2018-09-04 16:39:12 UTC
Permalink
To be clearer, I should have said that it helps to stabilize the
temperature of the whole system, to make the thermal time constant longer
than the response time of the loop.

I have found that putting the GPSDO in a picnic cooler with several large
water bottles reduces the impact of daily temperature fluctuations. Some
people recommend more extreme measures, such as burying the system several
feet underground.

On Tue, Sep 4, 2018 at 12:28 PM Jim Harman <***@gmail.com> wrote:

>
> The challenge seems to me to be
>
> how to temperature stabilize the entire DAC chain without putting it all in
> an oven
>
> Hi Forrest,
>
> Generally you don't have to temperature stabilize the DAC because it is
> inside the phase-locked control loop and the loop will adjust for
> temperature dependencies, just as it adjusts for drift and temperature
> dependencies in the oscillator. You will want your phase detector to be
> reasonably temperature stable however.
>
> In the time-nuts archives you will find posts from Lars Walenius and
> myself with schematics and code for Arduino-based GPSDOs which you might
> want to study.
>


--

--Jim Harman
_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Lars Walenius
2018-09-07 19:25:44 UTC
Permalink
I heard Jim mentioned my GPSDO. I would not go to the time nuts archive as that describes a far from ready software design. The hardware is almost identical. Last year I published a new design on EEVBlog:

https://www.eevblog.com/forum/projects/lars-diy-gpsdo-with-arduino-and-1ns-resolution-tic/?all

This is a, as I think, a much more robust design and much more tested. By just setting the”gain” it will make a stable 1Hz digital PLL. As the DAC can be set and you have a counter with 1ns resolution you don’t need any extra instruments to do this. The nice thing is that the controller is very flexible and can handle all kinds of 10MHz oscillators as XO, TCXO, OXCO and rubidium. The useful control range of the oscillators is 0.001-6ppm. As only a 1PPS with 3.3-5V amplitude is needed a wide variation of GPS modules can be used. The time constant can be set from 4 to 32000 seconds and stored in EEPROM.

In the 21 pages of instruction I describe the design and also give performance data as both a GPSDO and a time interval counter. As Jim says my GPSDO gives useful information how you can do your own GPSDO. On the first pages I have some discussion of the GPS modules like NEO7M that can be used and also about different oscillators. Note I think the oscillators are the first you should think of as they set the most important specs for the GPSDO. See also the user manual for Stanford FS740 that contains a lot of information about a modern GPSDO. Here the link to Stanford FS740 seems to be broken in my instruction. Today this worked: https://www.thinksrs.com/downloads/pdfs/manuals/FS740m.pdf See for example pages 25-35 for a good description of the GPSDO part. In the end of the manual you also find complete schematics!

On pages 8-9 in my instruction you find a very short description of my software and it is a standard PI-loop with a low pass filter before just as in the FS740. Paul-Henning has a very simple introduction to the PI-loop that I like http://phk.freebsd.dk/time/20141018.html . I would also recommend learning from the GPSDO simulator by Tom Van Baak http://www.leapsecond.com/pages/gpsdo-sim/ it also uses a PI-loop + low pass filter and his code tells you a lot.

From Tom’s GPSDO simulator you can also learn how the time resolution and the DAC resolution work with real time data. Magnus Danielsson in March 2014 published the result of some his simulations with different time and DAC resolutions on time nuts. My takeaway was that a time resolution below 5-10ns was ok and DAC resolutions in the ballpark of the oscillator ADEV was fine, but have a look on his data.

On page 15 in my instruction you find a list of basic links that I have found useful. Some links seems broken so for example for Stanford’s you have to find again on their homepage.

On pages 16-17 you find help commands and description of serial information. By the way Mark Sims excellent LH can read this and use the time, DAC and temperature data that are spit out every second http://www.eevblog.com/forum/metrology/lady-heather-v6-beta-for-windows-exe/?all . This together with the GPS module of choice serial output data should make this very useful. I am sorry I haven’t used this as I am very weak of chemo and haven’t done anything to my GPSDO for a long time.

Page 18 shows setup to read for example DAC data into Timelab.

On page 19 you find some ADEV results of two of my prototype GPSDO’s. One with a TCXO DOT050V and one with a OCXO 131(that by purpose uses a bad DAC resolution of 1.2E-11 but still gets ADEV’s in the 5E-12 range.

Last two pages show data with the controller used as a time interval counter. By measuring the TIC with a PICDIV PD26 it is possible to enter a few linearization parameters in EEPROM and get ADEV’s in the 8E-10 range at 1sec.

Even if I don’t recommend reading specific about my GPSDO on time nuts I really recommend to search and read the time nuts archive. It is a lot of useful information and a special thank to Bob kb8tq who contributes with so much valuable information. After I published the GPSDO on time nuts I also got good help from Jim H with the hardware interrupt in the ATmega328. With the hardware interrupt the 200ns resolution on timer 1 works well with a jitter of just 40ns p-p. TvB also gave the idea to set the timer1 to an factor that suits the input frequency that in this case is 5Mhz so I choose 50000(-1) (instead of 65536-1). This gives overflow at 10ms and is easy to handle. I could probably thank a lot more people for good advises.

Lars

Ps. Note that Lars GPSDO is more a 10MHz frequency reference, not a time reference and by that I mean it has no jitter free PPS out. This can be added by external hardware.





________________________________
Från: time-nuts <time-nuts-***@lists.febo.com> för Jim Harman <***@gmail.com>
Skickat: Tuesday, September 4, 2018 6:28:00 PM
Till: Discussion of precise time and frequency measurement
Ämne: Re: [time-nuts] PLL/GPSDO/etc learning resources for mere mortals

> The challenge seems to me to be

how to temperature stabilize the entire DAC chain without putting it all in
an oven

Hi Forrest,

Generally you don't have to temperature stabilize the DAC because it is
inside the phase-locked control loop and the loop will adjust for
temperature dependencies, just as it adjusts for drift and temperature
dependencies in the oscillator. You will want your phase detector to be
reasonably temperature stable however.

In the time-nuts archives you will find posts from Lars Walenius and myself
with schematics and code for Arduino-based GPSDOs which you might want to
study.
_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Lars Walenius
2018-09-07 19:50:44 UTC
Permalink
Hello, thought it might be better to copy the text that I wrote in a another thread (PLL/GPSDO/etc learning resources for mere mortals) if someone has comments on my GPSDO controller:

I heard Jim mentioned my GPSDO. I would not go to the time nuts archive as that describes a far from ready software design. The hardware is almost identical. Last year I published a new design on EEVBlog:

https://www.eevblog.com/forum/projects/lars-diy-gpsdo-with-arduino-and-1ns-resolution-tic/?all

This is a, as I think, a much more robust design and much more tested. By just setting the”gain” it will make a stable 1Hz digital PLL. As the DAC can be set and you have a counter with 1ns resolution you don’t need any extra instruments to do this. The nice thing is that the controller is very flexible and can handle all kinds of 10MHz oscillators as XO, TCXO, OXCO and rubidium. The useful control range of the oscillators is 0.001-6ppm. As only a 1PPS with 3.3-5V amplitude is needed a wide variation of GPS modules can be used. The time constant can be set from 4 to 32000 seconds and stored in EEPROM.

In the 21 pages of instruction I describe the design and also give performance data as both a GPSDO and a time interval counter. As Jim says my GPSDO gives useful information how you can do your own GPSDO. On the first pages I have some discussion of the GPS modules like NEO7M that can be used and also about different oscillators. Note I think the oscillators are the first you should think of as they set the most important specs for the GPSDO. See also the user manual for Stanford FS740 that contains a lot of information about a modern GPSDO. Here the link to Stanford FS740 seems to be broken in my instruction. Today this worked: https://www.thinksrs.com/downloads/pdfs/manuals/FS740m.pdf See for example pages 25-35 for a good description of the GPSDO part. In the end of the manual you also find complete schematics!

On pages 8-9 in my instruction you find a very short description of my software and it is a standard PI-loop with a low pass filter before just as in the FS740. Paul-Henning has a very simple introduction to the PI-loop that I like http://phk.freebsd.dk/time/20141018.html . I would also recommend learning from the GPSDO simulator by Tom Van Baak http://www.leapsecond.com/pages/gpsdo-sim/ it also uses a PI-loop + low pass filter and his code tells you a lot.

From Tom’s GPSDO simulator you can also learn how the time resolution and the DAC resolution work with real time data. Magnus Danielsson in March 2014 published the result of some his simulations with different time and DAC resolutions on time nuts. My takeaway was that a time resolution below 5-10ns was ok and DAC resolutions in the ballpark of the oscillator ADEV was fine, but have a look on his data.

On page 15 in my instruction you find a list of basic links that I have found useful. Some links seems broken so for example for Stanford’s you have to find again on their homepage.

On pages 16-17 you find help commands and description of serial information. By the way Mark Sims excellent LH can read this and use the time, DAC and temperature data that are spit out every second http://www.eevblog.com/forum/metrology/lady-heather-v6-beta-for-windows-exe/?all . This together with the GPS module of choice serial output data should make this very useful. I am sorry I haven’t used this as I am very weak of chemo and haven’t done anything to my GPSDO for a long time.

Page 18 shows setup to read for example DAC data into Timelab.

On page 19 you find some ADEV results of two of my prototype GPSDO’s. One with a TCXO DOT050V and one with a OCXO 131(that by purpose uses a bad DAC resolution of 1.2E-11 but still gets ADEV’s in the 5E-12 range.

Last two pages show data with the controller used as a time interval counter. By measuring the TIC with a PICDIV PD26 it is possible to enter a few linearization parameters in EEPROM and get ADEV’s in the 8E-10 range at 1sec.

Even if I don’t recommend reading specific about my GPSDO on time nuts I really recommend to search and read the time nuts archive. It is a lot of useful information and a special thank to Bob kb8tq who contributes with so much valuable information. After I published the GPSDO on time nuts I also got good help from Jim H with the hardware interrupt in the ATmega328. With the hardware interrupt the 200ns resolution on timer 1 works well with a jitter of just 40ns p-p. TvB also gave the idea to set the timer1 to an factor that suits the input frequency that in this case is 5Mhz so I choose 50000(-1) (instead of 65536-1). This gives overflow at 10ms and is easy to handle. I could probably thank a lot more people for good advises.

Lars

Ps. Note that Lars GPSDO is more a 10MHz frequency reference, not a time reference and by that I mean it has no jitter free PPS out. This can be added by external hardware.



_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Magnus Danielson
2018-09-08 15:57:33 UTC
Permalink
Hi Lars,

On 09/07/2018 09:50 PM, Lars Walenius wrote:
> Hello, thought it might be better to copy the text that I wrote in a another thread (PLL/GPSDO/etc learning resources for mere mortals) if someone has comments on my GPSDO controller:
>
> I heard Jim mentioned my GPSDO. I would not go to the time nuts archive as that describes a far from ready software design. The hardware is almost identical. Last year I published a new design on EEVBlog:
>
> https://www.eevblog.com/forum/projects/lars-diy-gpsdo-with-arduino-and-1ns-resolution-tic/?all

This is an impressive one for being this simple.
Would love to take it for a test-spin.

It would be interesting to test the linearity of the TIC separately for
instance.

Would it be possible for you to migrate the document into a common PDF
rather than have it spread out?
Maybe include a link for it.

> This is a, as I think, a much more robust design and much more tested. By just setting the”gain” it will make a stable 1Hz digital PLL. As the DAC can be set and you have a counter with 1ns resolution you don’t need any extra instruments to do this. The nice thing is that the controller is very flexible and can handle all kinds of 10MHz oscillators as XO, TCXO, OXCO and rubidium. The useful control range of the oscillators is 0.001-6ppm. As only a 1PPS with 3.3-5V amplitude is needed a wide variation of GPS modules can be used. The time constant can be set from 4 to 32000 seconds and stored in EEPROM.

Cool. Does it self-calibrate the oscillator gain constant? It should be
able to, and thus auto-set the loop gain balance and hence get good
control of the loop parameters. The PI loop as such is stable, but you
want to make sure it is well damped.

> In the 21 pages of instruction I describe the design and also give performance data as both a GPSDO and a time interval counter. As Jim says my GPSDO gives useful information how you can do your own GPSDO. On the first pages I have some discussion of the GPS modules like NEO7M that can be used and also about different oscillators. Note I think the oscillators are the first you should think of as they set the most important specs for the GPSDO. See also the user manual for Stanford FS740 that contains a lot of information about a modern GPSDO. Here the link to Stanford FS740 seems to be broken in my instruction. Today this worked: https://www.thinksrs.com/downloads/pdfs/manuals/FS740m.pdf See for example pages 25-35 for a good description of the GPSDO part. In the end of the manual you also find complete schematics!
>
> On pages 8-9 in my instruction you find a very short description of my software and it is a standard PI-loop with a low pass filter before just as in the FS740. Paul-Henning has a very simple introduction to the PI-loop that I like http://phk.freebsd.dk/time/20141018.html . I would also recommend learning from the GPSDO simulator by Tom Van Baak http://www.leapsecond.com/pages/gpsdo-sim/ it also uses a PI-loop + low pass filter and his code tells you a lot.

Very nice little toy to get some experience with before going to
hardware/software.

> From Tom’s GPSDO simulator you can also learn how the time resolution and the DAC resolution work with real time data. Magnus Danielsson in March 2014 published the result of some his simulations with different time and DAC resolutions on time nuts. My takeaway was that a time resolution below 5-10ns was ok and DAC resolutions in the ballpark of the oscillator ADEV was fine, but have a look on his data.

Nice to find that you made good use of my exercise, which I hardly
remember myself. However, it goes to show what a group effort it is to
figure out details. We do learn from each other, and is stronger as a group.

Remeber that you can increase your DAC resolution by pushing out a mix
of nearby values. The PWM is maybe mentally the simplest, but also the
ugliest method as it pushes the highest amplitude to the lowest
frequency which makes it hardest to filter. I've used a "inverse PWM
spectrum" appraoch forcing the highest amplitude to the highest
frequency, which causes less phase noise due to the alternation.
Similiar behavior is expected from say first degree sigma-delta
modulation for interpolation. The benefit of such improved DAC
resolution is that the steered oscillator does less extensive "coasting"
up and down, creating modulation side-bands which affects phase noise /
short term stability. Also, when going into hold-over, this increases
the ability to steer the oscillator closer to the frequency compensation
it needs as you go open loop. Resolution of the TIC has similar
behavior, but you can't win them all, so just try to reduce it until it
is not a major issue. Over time the noise from GPS-receiver washes some
of it out in the closed loop.

> On page 15 in my instruction you find a list of basic links that I have found useful. Some links seems broken so for example for Stanford’s you have to find again on their homepage.
>
> On pages 16-17 you find help commands and description of serial information. By the way Mark Sims excellent LH can read this and use the time, DAC and temperature data that are spit out every second http://www.eevblog.com/forum/metrology/lady-heather-v6-beta-for-windows-exe/?all . This together with the GPS module of choice serial output data should make this very useful. I am sorry I haven’t used this as I am very weak of chemo and haven’t done anything to my GPSDO for a long time.

Sorry to hear about being weak of chemo, hope of quick recovery!

> Page 18 shows setup to read for example DAC data into Timelab.
>
> On page 19 you find some ADEV results of two of my prototype GPSDO’s. One with a TCXO DOT050V and one with a OCXO 131(that by purpose uses a bad DAC resolution of 1.2E-11 but still gets ADEV’s in the 5E-12 range.
>
> Last two pages show data with the controller used as a time interval counter. By measuring the TIC with a PICDIV PD26 it is possible to enter a few linearization parameters in EEPROM and get ADEV’s in the 8E-10 range at 1sec.
>
> Even if I don’t recommend reading specific about my GPSDO on time nuts I really recommend to search and read the time nuts archive. It is a lot of useful information and a special thank to Bob kb8tq who contributes with so much valuable information. After I published the GPSDO on time nuts I also got good help from Jim H with the hardware interrupt in the ATmega328. With the hardware interrupt the 200ns resolution on timer 1 works well with a jitter of just 40ns p-p. TvB also gave the idea to set the timer1 to an factor that suits the input frequency that in this case is 5Mhz so I choose 50000(-1) (instead of 65536-1). This gives overflow at 10ms and is easy to handle. I could probably thank a lot more people for good advises.

I applaud your detailed reference to people's contributions! Credit
where credit is due! Also, that you take the time to follow up on the
various inputs

> Lars
>
> Ps. Note that Lars GPSDO is more a 10MHz frequency reference, not a time reference and by that I mean it has no jitter free PPS out. This can be added by external hardware.

Maybe that would be an interesting addition to the project to have it
"complete" in this regard.

Cheers,
Magnus

_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Jim Harman
2018-09-08 20:02:03 UTC
Permalink
Magnus said,

It would be interesting to test the linearity of the TIC separately for

instance.

I have done some testing of the TIC. It works quite well for the Arduino
Uno with its 1 V full scale ADC setting, but the exponential shape of the
RC charging from the 5 V is quite evident if you use a processor like the
Micro's 32u4 with a 2.56 V sensitivity. This circuit is also sensitive to
any noise on the 5 V supply. The linearity is not too important for this
application as long as it does not affect the loop gain so much that the
loop becomes unstable.

However I have modified the circuit to use a simple 2 ma current source as
shown in the attached schematic, with significantly improved linearity. H/T
to Horowitz and Hill's The Art of Electronics for the idea of using an LED
as the voltage reference for the current source. The diode-connected 2N3904
has less leakage at a small forward voltage than any small-signal diodes I
tested, so the output voltage with a very narrow input pulse is close to
zero.

I could run some tests on my version by setting the oscillator slightly
off-frequency and capturing the resulting sloped TIC output, and would be
happy to share the results if you are interested.
Magnus Danielson
2018-09-08 20:48:33 UTC
Permalink
Hi Jim,

On 09/08/2018 10:02 PM, Jim Harman wrote:
> Magnus said,
>
> It would be interesting to test the linearity of the TIC separately for
>
> instance.
>
> I have done some testing of the TIC. It works quite well for the Arduino
> Uno with its 1 V full scale ADC setting, but the exponential shape of the
> RC charging from the 5 V is quite evident if you use a processor like the
> Micro's 32u4 with a 2.56 V sensitivity. This circuit is also sensitive to
> any noise on the 5 V supply. The linearity is not too important for this
> application as long as it does not affect the loop gain so much that the
> loop becomes unstable.

Agreed. It is expected, but it would be fun to see how well it would do.

> However I have modified the circuit to use a simple 2 ma current source as
> shown in the attached schematic, with significantly improved linearity. H/T
> to Horowitz and Hill's The Art of Electronics for the idea of using an LED
> as the voltage reference for the current source. The diode-connected 2N3904
> has less leakage at a small forward voltage than any small-signal diodes I
> tested, so the output voltage with a very narrow input pulse is close to
> zero.

A more serious current source helps.

It comes as no big surprise that this has been a topic of interest to
several designers, hence there exists a number of patents on it.

Different approaches have been used. The HP5335A for instance uses a
three transistor setup, where the current source, a resistor, is
buffered behind the transistor pair that also switches it in and out.
The HP5335A then acts as pulse extender with x200 and a TTL counter to
complete the ADC process. Modern designs use a proper ADC instead but
the basic problem remains the same.

> I could run some tests on my version by setting the oscillator slightly
> off-frequency and capturing the resulting sloped TIC output, and would be
> happy to share the results if you are interested.

Please do. This is one of the methods and probably the easiest to setup
for most. Another approach is to use a programmable delay generator with
enough resolution, but having one of those around isn't as common as a
RF generator which can be detuned with sufficient resolution.

As I spend the evening refactoring the lab-bench, the RF generators gets
a more prominent placement as well as one of the delay generators. Hope
to get the TICs stacked up nicely for ones.

Cheers,
Magnus

_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Jim Harman
2018-09-09 00:14:12 UTC
Permalink
OK, I gathered some TIC data from my system, using the TIC circuit I posted
earlier. I opened the loop and forced the oscillator off-frequency with a
constant DAC setting so that the phase detector wraps, i.e. the accumulated
phase error is 1 usec, in a little less than 5 minutes. The range of the
ADC readings is about 90 to 1023.

The timing reference is the 1 pps from my Adafruit (GlobalTop) gps with a
pretty good antenna.. This is a navigation type GPS and has no sawtooth
correction. Of course it would be better if I had a timing GPS. The
attached spreadsheet has 6 cycles of this data, gathered over about 28
minutes.

The plot on the spreadsheet is just for the first cycle, rows 1 - 278.

The linear trendline on the plot shows a slope of -3.3878 counts/sec and
the R squared is .9998. So I guess the linearity is pretty good. You can
try other cycles to see how they compare.

On Sat, Sep 8, 2018 at 4:49 PM Magnus Danielson <***@rubidium.dyndns.org>
wrote:

> Hi Jim,
>
> On 09/08/2018 10:02 PM, Jim Harman wrote:
> > Magnus said,
> >
> > It would be interesting to test the linearity of the TIC separately for
> >
> > instance.
> >
> > I have done some testing of the TIC. It works quite well for the Arduino
> > Uno with its 1 V full scale ADC setting, but the exponential shape of the
> > RC charging from the 5 V is quite evident if you use a processor like
> the
> > Micro's 32u4 with a 2.56 V sensitivity. This circuit is also sensitive to
> > any noise on the 5 V supply. The linearity is not too important for this
> > application as long as it does not affect the loop gain so much that the
> > loop becomes unstable.
>
> Agreed. It is expected, but it would be fun to see how well it would do.
>
> > However I have modified the circuit to use a simple 2 ma current source
> as
> > shown in the attached schematic, with significantly improved linearity.
> H/T
> > to Horowitz and Hill's The Art of Electronics for the idea of using an
> LED
> > as the voltage reference for the current source. The diode-connected
> 2N3904
> > has less leakage at a small forward voltage than any small-signal diodes
> I
> > tested, so the output voltage with a very narrow input pulse is close to
> > zero.
>
> A more serious current source helps.
>
> It comes as no big surprise that this has been a topic of interest to
> several designers, hence there exists a number of patents on it.
>
> Different approaches have been used. The HP5335A for instance uses a
> three transistor setup, where the current source, a resistor, is
> buffered behind the transistor pair that also switches it in and out.
> The HP5335A then acts as pulse extender with x200 and a TTL counter to
> complete the ADC process. Modern designs use a proper ADC instead but
> the basic problem remains the same.
>
> > I could run some tests on my version by setting the oscillator slightly
> > off-frequency and capturing the resulting sloped TIC output, and would be
> > happy to share the results if you are interested.
>
> Please do. This is one of the methods and probably the easiest to setup
> for most. Another approach is to use a programmable delay generator with
> enough resolution, but having one of those around isn't as common as a
> RF generator which can be detuned with sufficient resolution.
>
> As I spend the evening refactoring the lab-bench, the RF generators gets
> a more prominent placement as well as one of the delay generators. Hope
> to get the TICs stacked up nicely for ones.
>
> Cheers,
> Magnus
>
> _______________________________________________
> time-nuts mailing list -- time-***@lists.febo.com
> To unsubscribe, go to
> http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
> and follow the instructions there.
>


--

--Jim Harman
Charles Steinmetz
2018-09-09 00:29:36 UTC
Permalink
Jim wrote:

> I have modified the circuit to use a simple 2 ma current source as
> shown in the attached schematic, with significantly improved linearity.
>
> The diode-connected 2N3904
> has less leakage at a small forward voltage than any small-signal diodes
> I tested

Generally, one uses the B-C junction rather than the B-E junction for
this, because (i) being a smaller junction (in most small-signal BJTs),
it has less leakage than the B-E junction, and (ii) it has a much higher
reverse breakdown voltage than the ~5v breakdown of the B-E junction
(NB: the B-E junction is degraded with even very brief operation in the
breakdown region).

According to my tests, the B-C junction of a high-quality 2N3904 has
about 50pA of leakage at 20vDC reverse voltage. Mid-high-frequency
small signal NPNs (eg. MPSH10, 2N5179) have about 5pA of leakage under
the same conditions, and the very small-geometry 2N4117/PN4117 JFET gate
diode has about 1pA of leakage. The HF BJTs and the FET also switch
faster than the 2N3904, with less transfer of glitch energy.

Some time ago, I posted the results of my leakage tests of small-signal
diodes, BJT B-C junctions, and JFET gate junctions. Those results are
attached.

This has all been known for a very long time. See, for example,
Burr-Brown Application Bulletin AB-064 (a/k/a TI SBOA058),
Diode-Connected FET Protects Op-Amps (1994) regarding the 2N4117A gate
junction <http://www.ti.com/lit/an/sboa058/sboa058.pdf>.

Best regards,

Charles
Jim Harman
2018-09-09 02:17:45 UTC
Permalink
Charles wrote,
>
> According to my tests, the B-C junction of a high-quality 2N3904 has
> about 50pA of leakage at 20vDC reverse voltage.


That's good to know, but the problem I had with this circuit was with the
forward current at a low forward voltage. With this phase detector, the
HC4046 makes a 0 to 1 usec pulse representing the time difference between
the 1 pps from the GPS and the 1 MHz derived from the OCXO. This charges
the capacitor to a voltage proportional to the width of the pulse, the ADC
measures the capacitor voltage, and the cap discharges through the 1 Meg
resistor during the rest of the second.

When the HC4046 output goes low at the end of the pulse, the voltage on the
other side of the 1N5711 diode goes down to about 0.4 V. With a 1N4148 or
similar diode instead of the transistor, the forward current after the
capacitor is mostly discharged through the 1 meg resistor is enough to
prevent the capacitor from discharging all the way and the minimum voltage
at the ADC is about 0.3 V. or about 120 counts on the ADC. I was able to
get this below 90 counts by using the transistor. It might be possible to
reduce the 1 Meg resistor, but then we risk significantly discharging the
capacitor in the short time between the end of the pulse and the A/D
reading.

I would certainly be interested in any suggestions on improving this
circuit.

>
>
_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Bruce Griffiths
2018-09-09 02:35:53 UTC
Permalink
Use the phase detector output to drive the tristate control input of a fast CMOS tristate state buffer (eg 74HC126 or faster) which in turn drives the RC network eliminating the diode.
Then correct for the exponential charging characteristics using the micro.

For best results increase ADC resolution by 1 bit or more and set RC charge time constant to around the maximum expected time interval.
Using a 2 stage synchroniser to drive the tristate control input of the buffer to minimise metastability issues may also be useful.

Even linear Time to amplitude converter circuits using a current source exhibit nonlinearities. Its easy enough to calibrate the nonlinearity of a simple TAC.

Bruce

> On 09 September 2018 at 14:17 Jim Harman <***@gmail.com> wrote:
>
>
> Charles wrote,
> >
> > According to my tests, the B-C junction of a high-quality 2N3904 has
> > about 50pA of leakage at 20vDC reverse voltage.
>
>
> That's good to know, but the problem I had with this circuit was with the
> forward current at a low forward voltage. With this phase detector, the
> HC4046 makes a 0 to 1 usec pulse representing the time difference between
> the 1 pps from the GPS and the 1 MHz derived from the OCXO. This charges
> the capacitor to a voltage proportional to the width of the pulse, the ADC
> measures the capacitor voltage, and the cap discharges through the 1 Meg
> resistor during the rest of the second.
>
> When the HC4046 output goes low at the end of the pulse, the voltage on the
> other side of the 1N5711 diode goes down to about 0.4 V. With a 1N4148 or
> similar diode instead of the transistor, the forward current after the
> capacitor is mostly discharged through the 1 meg resistor is enough to
> prevent the capacitor from discharging all the way and the minimum voltage
> at the ADC is about 0.3 V. or about 120 counts on the ADC. I was able to
> get this below 90 counts by using the transistor. It might be possible to
> reduce the 1 Meg resistor, but then we risk significantly discharging the
> capacitor in the short time between the end of the pulse and the A/D
> reading.
>
> I would certainly be interested in any suggestions on improving this
> circuit.
>
> >
> >
> _______________________________________________
> time-nuts mailing list -- time-***@lists.febo.com
> To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
> and follow the instructions there.

_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Bob Martin
2018-09-09 03:08:15 UTC
Permalink
Charles,

Attached is another way to do it. A higher charging voltage
increases capacitor voltage linearity over the range of the ADC
making curve compensation easier.

The bus switch has a very low on resistance to pretty much discharge
the cap. The design is pretty old - I'm sure there are better parts
available now. I believe there was also a calibration cycle that
occurred fairly often which is why U21 looks so busy.

Cheers,

Bob Martin

On 9/8/2018 8:17 PM, Jim Harman wrote:
> Charles wrote,
>>
>> According to my tests, the B-C junction of a high-quality 2N3904 has
>> about 50pA of leakage at 20vDC reverse voltage.
>
>
> That's good to know, but the problem I had with this circuit was with the
> forward current at a low forward voltage. With this phase detector, the
> HC4046 makes a 0 to 1 usec pulse representing the time difference between
> the 1 pps from the GPS and the 1 MHz derived from the OCXO. This charges
> the capacitor to a voltage proportional to the width of the pulse, the ADC
> measures the capacitor voltage, and the cap discharges through the 1 Meg
> resistor during the rest of the second.
>
> When the HC4046 output goes low at the end of the pulse, the voltage on the
> other side of the 1N5711 diode goes down to about 0.4 V. With a 1N4148 or
> similar diode instead of the transistor, the forward current after the
> capacitor is mostly discharged through the 1 meg resistor is enough to
> prevent the capacitor from discharging all the way and the minimum voltage
> at the ADC is about 0.3 V. or about 120 counts on the ADC. I was able to
> get this below 90 counts by using the transistor. It might be possible to
> reduce the 1 Meg resistor, but then we risk significantly discharging the
> capacitor in the short time between the end of the pulse and the A/D
> reading.
>
> I would certainly be interested in any suggestions on improving this
> circuit.
>
>>
>>
> _______________________________________________
> time-nuts mailing list -- time-***@lists.febo.com
> To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
> and follow the instructions there.
>
Achim Gratz
2018-09-09 08:13:54 UTC
Permalink
Charles Steinmetz writes:
>> The diode-connected 2N3904 has less leakage at a small forward
>> voltage than any small-signal diodes I tested
>
> Generally, one uses the B-C junction rather than the B-E junction for
> this, because (i) being a smaller junction (in most small-signal
> BJTs), it has less leakage than the B-E junction,

The smaller junction in a discrete BJT is always the emitter. The
breakdown and reverse leakage characteristics are different due to the
different doping profiles.

> and (ii) it has a much higher reverse breakdown voltage than the ~5v
> breakdown of the B-E junction (NB: the B-E junction is degraded with
> even very brief operation in the breakdown region).

I think the circuit depends on the forward characteristics of the diode
from the brief look I've had. In this case, a diode connected npn as
shown (shorting the base and collector) produces a much better diode
characteristic than any "true" diode would.


Regards,
Achim.
--
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Factory and User Sound Singles for Waldorf Q+, Q and microQ:
http://Synth.Stromeko.net/Downloads.html#WaldorfSounds

_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Nick Sayer via time-nuts
2018-09-07 20:38:31 UTC
Permalink
I’d like to thank Jim and Lars both publicly for that design - I quite shamelessly stole the phase detector for my own GPSDO gizmos. Jim at one point suggested adding a JFET to make the pulse with to voltage curve more linear, but that probably doesn’t make all that much difference. On my 5660 controller, there is no DAC - you send digital commands to affect the EFC. For my OCXO I use an 18 bit DAC compressed somewhat into the most useful part of the XO’s EFC range. My project page on hackaday is at https://hackaday.io/project/6872-gps-disciplined-xcxo

> On Sep 7, 2018, at 12:25 PM, Lars Walenius <***@hotmail.com> wrote:
>
> I heard Jim mentioned my GPSDO. I would not go to the time nuts archive as that describes a far from ready software design. The hardware is almost identical. Last year I published a new design on EEVBlog:
>
> https://www.eevblog.com/forum/projects/lars-diy-gpsdo-with-arduino-and-1ns-resolution-tic/?all
>
> This is a, as I think, a much more robust design and much more tested. By just setting the”gain” it will make a stable 1Hz digital PLL. As the DAC can be set and you have a counter with 1ns resolution you don’t need any extra instruments to do this. The nice thing is that the controller is very flexible and can handle all kinds of 10MHz oscillators as XO, TCXO, OXCO and rubidium. The useful control range of the oscillators is 0.001-6ppm. As only a 1PPS with 3.3-5V amplitude is needed a wide variation of GPS modules can be used. The time constant can be set from 4 to 32000 seconds and stored in EEPROM.
>
> In the 21 pages of instruction I describe the design and also give performance data as both a GPSDO and a time interval counter. As Jim says my GPSDO gives useful information how you can do your own GPSDO. On the first pages I have some discussion of the GPS modules like NEO7M that can be used and also about different oscillators. Note I think the oscillators are the first you should think of as they set the most important specs for the GPSDO. See also the user manual for Stanford FS740 that contains a lot of information about a modern GPSDO. Here the link to Stanford FS740 seems to be broken in my instruction. Today this worked: https://www.thinksrs.com/downloads/pdfs/manuals/FS740m.pdf See for example pages 25-35 for a good description of the GPSDO part. In the end of the manual you also find complete schematics!
>
> On pages 8-9 in my instruction you find a very short description of my software and it is a standard PI-loop with a low pass filter before just as in the FS740. Paul-Henning has a very simple introduction to the PI-loop that I like http://phk.freebsd.dk/time/20141018.html . I would also recommend learning from the GPSDO simulator by Tom Van Baak http://www.leapsecond.com/pages/gpsdo-sim/ it also uses a PI-loop + low pass filter and his code tells you a lot.
>
> From Tom’s GPSDO simulator you can also learn how the time resolution and the DAC resolution work with real time data. Magnus Danielsson in March 2014 published the result of some his simulations with different time and DAC resolutions on time nuts. My takeaway was that a time resolution below 5-10ns was ok and DAC resolutions in the ballpark of the oscillator ADEV was fine, but have a look on his data.
>
> On page 15 in my instruction you find a list of basic links that I have found useful. Some links seems broken so for example for Stanford’s you have to find again on their homepage.
>
> On pages 16-17 you find help commands and description of serial information. By the way Mark Sims excellent LH can read this and use the time, DAC and temperature data that are spit out every second http://www.eevblog.com/forum/metrology/lady-heather-v6-beta-for-windows-exe/?all . This together with the GPS module of choice serial output data should make this very useful. I am sorry I haven’t used this as I am very weak of chemo and haven’t done anything to my GPSDO for a long time.
>
> Page 18 shows setup to read for example DAC data into Timelab.
>
> On page 19 you find some ADEV results of two of my prototype GPSDO’s. One with a TCXO DOT050V and one with a OCXO 131(that by purpose uses a bad DAC resolution of 1.2E-11 but still gets ADEV’s in the 5E-12 range.
>
> Last two pages show data with the controller used as a time interval counter. By measuring the TIC with a PICDIV PD26 it is possible to enter a few linearization parameters in EEPROM and get ADEV’s in the 8E-10 range at 1sec.
>
> Even if I don’t recommend reading specific about my GPSDO on time nuts I really recommend to search and read the time nuts archive. It is a lot of useful information and a special thank to Bob kb8tq who contributes with so much valuable information. After I published the GPSDO on time nuts I also got good help from Jim H with the hardware interrupt in the ATmega328. With the hardware interrupt the 200ns resolution on timer 1 works well with a jitter of just 40ns p-p. TvB also gave the idea to set the timer1 to an factor that suits the input frequency that in this case is 5Mhz so I choose 50000(-1) (instead of 65536-1). This gives overflow at 10ms and is easy to handle. I could probably thank a lot more people for good advises.
>
> Lars
>
> Ps. Note that Lars GPSDO is more a 10MHz frequency reference, not a time reference and by that I mean it has no jitter free PPS out. This can be added by external hardware.
>
>
>
>
>
> ________________________________
> Från: time-nuts <time-nuts-***@lists.febo.com> för Jim Harman <***@gmail.com>
> Skickat: Tuesday, September 4, 2018 6:28:00 PM
> Till: Discussion of precise time and frequency measurement
> Ämne: Re: [time-nuts] PLL/GPSDO/etc learning resources for mere mortals
>
>> The challenge seems to me to be
>
> how to temperature stabilize the entire DAC chain without putting it all in
> an oven
>
> Hi Forrest,
>
> Generally you don't have to temperature stabilize the DAC because it is
> inside the phase-locked control loop and the loop will adjust for
> temperature dependencies, just as it adjusts for drift and temperature
> dependencies in the oscillator. You will want your phase detector to be
> reasonably temperature stable however.
>
> In the time-nuts archives you will find posts from Lars Walenius and myself
> with schematics and code for Arduino-based GPSDOs which you might want to
> study.
> _______________________________________________
> time-nuts mailing list -- time-***@lists.febo.com
> To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
> and follow the instructions there.
> <Minimum working schematic for GPSDO controller 170629a.jpg>_______________________________________________
> time-nuts mailing list -- time-***@lists.febo.com
> To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
> and follow the instructions there.


_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the
Lars Walenius
2018-09-11 18:19:23 UTC
Permalink
Hello Nick (and all other)

From the beginning I were not impressed at all of your design as you started with a 100ns resolution TIC and a FLL. I compared it to the BG7TBL design. The only benefit your design had was that it was open source. But your design has got better and better and you took help from others.

I have no problem you have ”stolen” the phase detector design from me. I have no intention at all to make it commercial as you have done. Of course due credits to relevant persons are always good.

For the TIC I don’t believe in the JFET but the bipolar variant from JimH might work but of course you have to do the home work for variations and stability, also Jim indicates some other problems. As Bruce give hint of a simple RC design as my may be easier to linearize as I have done. I will probably comment more on this.

For the DAC I think my PWM with 16 bits works fine for a DIY but for a commercial GPSDO I would go for something like the Stanford to get 20-22bits. But I have also long ago looked at the AD5680 that is reasonable cheap for a monotonic 18 bit DAC.

Lars







________________________________
Från: time-nuts <time-nuts-***@lists.febo.com> för Nick Sayer via time-nuts <time-***@lists.febo.com>
Skickat: Friday, September 7, 2018 10:38:31 PM
Till: Discussion of precise time and frequency measurement
Kopia: Nick Sayer
Ämne: Re: [time-nuts] PLL/GPSDO/etc learning resources for mere mortals

I’d like to thank Jim and Lars both publicly for that design - I quite shamelessly stole the phase detector for my own GPSDO gizmos. Jim at one point suggested adding a JFET to make the pulse with to voltage curve more linear, but that probably doesn’t make all that much difference. On my 5660 controller, there is no DAC - you send digital commands to affect the EFC. For my OCXO I use an 18 bit DAC compressed somewhat into the most useful part of the XO’s EFC range. My project page on hackaday is at https://hackaday.io/project/6872-gps-disciplined-xcxo

> On Sep 7, 2018, at 12:25 PM, Lars Walenius <***@hotmail.com> wrote:
>
> I heard Jim mentioned my GPSDO. I would not go to the time nuts archive as that describes a far from ready software design. The hardware is almost identical. Last year I published a new design on EEVBlog:
>
> https://www.eevblog.com/forum/projects/lars-diy-gpsdo-with-arduino-and-1ns-resolution-tic/?all
>
> This is a, as I think, a much more robust design and much more tested. By just setting the”gain” it will make a stable 1Hz digital PLL. As the DAC can be set and you have a counter with 1ns resolution you don’t need any extra instruments to do this. The nice thing is that the controller is very flexible and can handle all kinds of 10MHz oscillators as XO, TCXO, OXCO and rubidium. The useful control range of the oscillators is 0.001-6ppm. As only a 1PPS with 3.3-5V amplitude is needed a wide variation of GPS modules can be used. The time constant can be set from 4 to 32000 seconds and stored in EEPROM.
>
> In the 21 pages of instruction I describe the design and also give performance data as both a GPSDO and a time interval counter. As Jim says my GPSDO gives useful information how you can do your own GPSDO. On the first pages I have some discussion of the GPS modules like NEO7M that can be used and also about different oscillators. Note I think the oscillators are the first you should think of as they set the most important specs for the GPSDO. See also the user manual for Stanford FS740 that contains a lot of information about a modern GPSDO. Here the link to Stanford FS740 seems to be broken in my instruction. Today this worked: https://www.thinksrs.com/downloads/pdfs/manuals/FS740m.pdf See for example pages 25-35 for a good description of the GPSDO part. In the end of the manual you also find complete schematics!
>
> On pages 8-9 in my instruction you find a very short description of my software and it is a standard PI-loop with a low pass filter before just as in the FS740. Paul-Henning has a very simple introduction to the PI-loop that I like http://phk.freebsd.dk/time/20141018.html . I would also recommend learning from the GPSDO simulator by Tom Van Baak http://www.leapsecond.com/pages/gpsdo-sim/ it also uses a PI-loop + low pass filter and his code tells you a lot.
>
> From Tom’s GPSDO simulator you can also learn how the time resolution and the DAC resolution work with real time data. Magnus Danielsson in March 2014 published the result of some his simulations with different time and DAC resolutions on time nuts. My takeaway was that a time resolution below 5-10ns was ok and DAC resolutions in the ballpark of the oscillator ADEV was fine, but have a look on his data.
>
> On page 15 in my instruction you find a list of basic links that I have found useful. Some links seems broken so for example for Stanford’s you have to find again on their homepage.
>
> On pages 16-17 you find help commands and description of serial information. By the way Mark Sims excellent LH can read this and use the time, DAC and temperature data that are spit out every second http://www.eevblog.com/forum/metrology/lady-heather-v6-beta-for-windows-exe/?all . This together with the GPS module of choice serial output data should make this very useful. I am sorry I haven’t used this as I am very weak of chemo and haven’t done anything to my GPSDO for a long time.
>
> Page 18 shows setup to read for example DAC data into Timelab.
>
> On page 19 you find some ADEV results of two of my prototype GPSDO’s. One with a TCXO DOT050V and one with a OCXO 131(that by purpose uses a bad DAC resolution of 1.2E-11 but still gets ADEV’s in the 5E-12 range.
>
> Last two pages show data with the controller used as a time interval counter. By measuring the TIC with a PICDIV PD26 it is possible to enter a few linearization parameters in EEPROM and get ADEV’s in the 8E-10 range at 1sec.
>
> Even if I don’t recommend reading specific about my GPSDO on time nuts I really recommend to search and read the time nuts archive. It is a lot of useful information and a special thank to Bob kb8tq who contributes with so much valuable information. After I published the GPSDO on time nuts I also got good help from Jim H with the hardware interrupt in the ATmega328. With the hardware interrupt the 200ns resolution on timer 1 works well with a jitter of just 40ns p-p. TvB also gave the idea to set the timer1 to an factor that suits the input frequency that in this case is 5Mhz so I choose 50000(-1) (instead of 65536-1). This gives overflow at 10ms and is easy to handle. I could probably thank a lot more people for good advises.
>
> Lars
>
> Ps. Note that Lars GPSDO is more a 10MHz frequency reference, not a time reference and by that I mean it has no jitter free PPS out. This can be added by external hardware.
>
>
>
>
>
> ________________________________
> Från: time-nuts <time-nuts-***@lists.febo.com> för Jim Harman <***@gmail.com>
> Skickat: Tuesday, September 4, 2018 6:28:00 PM
> Till: Discussion of precise time and frequency measurement
> Ämne: Re: [time-nuts] PLL/GPSDO/etc learning resources for mere mortals
>
>> The challenge seems to me to be
>
> how to temperature stabilize the entire DAC chain without putting it all in
> an oven
>
> Hi Forrest,
>
> Generally you don't have to temperature stabilize the DAC because it is
> inside the phase-locked control loop and the loop will adjust for
> temperature dependencies, just as it adjusts for drift and temperature
> dependencies in the oscillator. You will want your phase detector to be
> reasonably temperature stable however.
>
> In the time-nuts archives you will find posts from Lars Walenius and myself
> with schematics and code for Arduino-based GPSDOs which you might want to
> study.
> _______________________________________________
> time-nuts mailing list -- time-***@lists.febo.com
> To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
> and follow the instructions there.
> <Minimum working schematic for GPSDO controller 170629a.jpg>_______________________________________________
> time-nuts mailing list -- time-***@lists.febo.com
> To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
> and follow the instructions there.


_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Bryan _
2018-09-12 07:38:24 UTC
Permalink
Hello:

Is there any other recommendations for a GPS receiver module, I note you recommend the Neo7M, but wondering if there are others that can be considered. Is there some better suited to supplying a frequency reference. There is also the 8M/T model(s) and the Venus, but not sure as to what advantages/disadvantages they have. I was going to start with a old Jupiter-T TU60-D120 module that I have as it has a 1pps output.


6.1.1 Pin J1-6: 1PPS output This signal is a positive going pulse with the leading edge being the point of measurement for synchronisation with the GPS satellite transmissions. The pulse width is approximately 26 ms.

Regards

-=Bryan=-

________________________________
From: time-nuts <time-nuts-***@lists.febo.com> on behalf of Lars Walenius <***@hotmail.com>
Sent: September 7, 2018 12:25 PM
To: Discussion of precise time and frequency measurement
Subject: Re: [time-nuts] PLL/GPSDO/etc learning resources for mere mortals

I heard Jim mentioned my GPSDO. I would not go to the time nuts archive as that describes a far from ready software design. The hardware is almost identical. Last year I published a new design on EEVBlog:

https://www.eevblog.com/forum/projects/lars-diy-gpsdo-with-arduino-and-1ns-resolution-tic/?all

This is a, as I think, a much more robust design and much more tested. By just setting the”gain” it will make a stable 1Hz digital PLL. As the DAC can be set and you have a counter with 1ns resolution you don’t need any extra instruments to do this. The nice thing is that the controller is very flexible and can handle all kinds of 10MHz oscillators as XO, TCXO, OXCO and rubidium. The useful control range of the oscillators is 0.001-6ppm. As only a 1PPS with 3.3-5V amplitude is needed a wide variation of GPS modules can be used. The time constant can be set from 4 to 32000 seconds and stored in EEPROM.

In the 21 pages of instruction I describe the design and also give performance data as both a GPSDO and a time interval counter. As Jim says my GPSDO gives useful information how you can do your own GPSDO. On the first pages I have some discussion of the GPS modules like NEO7M that can be used and also about different oscillators. Note I think the oscillators are the first you should think of as they set the most important specs for the GPSDO. See also the user manual for Stanford FS740 that contains a lot of information about a modern GPSDO. Here the link to Stanford FS740 seems to be broken in my instruction. Today this worked: https://www.thinksrs.com/downloads/pdfs/manuals/FS740m.pdf See for example pages 25-35 for a good description of the GPSDO part. In the end of the manual you also find complete schematics!

On pages 8-9 in my instruction you find a very short description of my software and it is a standard PI-loop with a low pass filter before just as in the FS740. Paul-Henning has a very simple introduction to the PI-loop that I like http://phk.freebsd.dk/time/20141018.html . I would also recommend learning from the GPSDO simulator by Tom Van Baak http://www.leapsecond.com/pages/gpsdo-sim/ it also uses a PI-loop + low pass filter and his code tells you a lot.

From Tom’s GPSDO simulator you can also learn how the time resolution and the DAC resolution work with real time data. Magnus Danielsson in March 2014 published the result of some his simulations with different time and DAC resolutions on time nuts. My takeaway was that a time resolution below 5-10ns was ok and DAC resolutions in the ballpark of the oscillator ADEV was fine, but have a look on his data.

On page 15 in my instruction you find a list of basic links that I have found useful. Some links seems broken so for example for Stanford’s you have to find again on their homepage.

On pages 16-17 you find help commands and description of serial information. By the way Mark Sims excellent LH can read this and use the time, DAC and temperature data that are spit out every second http://www.eevblog.com/forum/metrology/lady-heather-v6-beta-for-windows-exe/?all . This together with the GPS module of choice serial output data should make this very useful. I am sorry I haven’t used this as I am very weak of chemo and haven’t done anything to my GPSDO for a long time.

Page 18 shows setup to read for example DAC data into Timelab.

On page 19 you find some ADEV results of two of my prototype GPSDO’s. One with a TCXO DOT050V and one with a OCXO 131(that by purpose uses a bad DAC resolution of 1.2E-11 but still gets ADEV’s in the 5E-12 range.

Last two pages show data with the controller used as a time interval counter. By measuring the TIC with a PICDIV PD26 it is possible to enter a few linearization parameters in EEPROM and get ADEV’s in the 8E-10 range at 1sec.

Even if I don’t recommend reading specific about my GPSDO on time nuts I really recommend to search and read the time nuts archive. It is a lot of useful information and a special thank to Bob kb8tq who contributes with so much valuable information. After I published the GPSDO on time nuts I also got good help from Jim H with the hardware interrupt in the ATmega328. With the hardware interrupt the 200ns resolution on timer 1 works well with a jitter of just 40ns p-p. TvB also gave the idea to set the timer1 to an factor that suits the input frequency that in this case is 5Mhz so I choose 50000(-1) (instead of 65536-1). This gives overflow at 10ms and is easy to handle. I could probably thank a lot more people for good advises.

Lars

Ps. Note that Lars GPSDO is more a 10MHz frequency reference, not a time reference and by that I mean it has no jitter free PPS out. This can be added by external hardware.





________________________________
Från: time-nuts <time-nuts-***@lists.febo.com> för Jim Harman <***@gmail.com>
Skickat: Tuesday, September 4, 2018 6:28:00 PM
Till: Discussion of precise time and frequency measurement
Ämne: Re: [time-nuts] PLL/GPSDO/etc learning resources for mere mortals

> The challenge seems to me to be

how to temperature stabilize the entire DAC chain without putting it all in
an oven

Hi Forrest,

Generally you don't have to temperature stabilize the DAC because it is
inside the phase-locked control loop and the loop will adjust for
temperature dependencies, just as it adjusts for drift and temperature
dependencies in the oscillator. You will want your phase detector to be
reasonably temperature stable however.

In the time-nuts archives you will find posts from Lars Walenius and myself
with schematics and code for Arduino-based GPSDOs which you might want to
study.
_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Lars Walenius
2018-09-13 18:02:25 UTC
Permalink
Hello Bryan,

As you indicate the new timing modules from uBlox like the 8-series and the Venus 838 could be better choices. I prefer the uBlox. I only recommended the NEO7M as it were cheap, available and is easy to use and at the same time gives good performance that I have measured. For simple position receivers with 1PPS I guess the ones from Adafruit is worth looking for even if not state of art for a GPSDO.

I am also curious about the Furano GT87 and hope that somebody will test it and give ADEV and MDEV's.

The nice thing with Lars GPSDO is that almost every GPS module with a 1PPS out can be used if the amplitude is 3.3-5V and the 1PPS is accurate on the positive going flank. The pulse width can be down to 10uS and probably even shorter. A square wave also works.

As you have a Jupiter-T I would definitely use that first. I started with even older and more jittery GPS modules and without timing mode and it worked. Of course a modern timing receiver will give better frequency accuracy and ADEV's but the loop should settle in the same time.

Lars

Från: Bryan _<mailto:***@outlook.com>
Skickat: den 12 september 2018 09:39
Till: Discussion of precise time and frequency measurement<mailto:time-***@lists.febo.com>
Ämne: Re: [time-nuts] PLL/GPSDO/etc learning resources for mere mortals

Hello:

Is there any other recommendations for a GPS receiver module, I note you recommend the Neo7M, but wondering if there are others that can be considered. Is there some better suited to supplying a frequency reference. There is also the 8M/T model(s) and the Venus, but not sure as to what advantages/disadvantages they have. I was going to start with a old Jupiter-T TU60-D120 module that I have as it has a 1pps output.


6.1.1 Pin J1-6: 1PPS output This signal is a positive going pulse with the leading edge being the point of measurement for synchronisation with the GPS satellite transmissions. The pulse width is approximately 26 ms.

Regards

-=Bryan=-

________________________________
From: time-nuts <time-nuts-***@lists.febo.com> on behalf of Lars Walenius <***@hotmail.com>
Sent: September 7, 2018 12:25 PM
To: Discussion of precise time and frequency measurement
Subject: Re: [time-nuts] PLL/GPSDO/etc learning resources for mere mortals

I heard Jim mentioned my GPSDO. I would not go to the time nuts archive as that describes a far from ready software design. The hardware is almost identical. Last year I published a new design on EEVBlog:

https://www.eevblog.com/forum/projects/lars-diy-gpsdo-with-arduino-and-1ns-resolution-tic/?all

This is a, as I think, a much more robust design and much more tested. By just setting the”gain” it will make a stable 1Hz digital PLL. As the DAC can be set and you have a counter with 1ns resolution you don’t need any extra instruments to do this. The nice thing is that the controller is very flexible and can handle all kinds of 10MHz oscillators as XO, TCXO, OXCO and rubidium. The useful control range of the oscillators is 0.001-6ppm. As only a 1PPS with 3.3-5V amplitude is needed a wide variation of GPS modules can be used. The time constant can be set from 4 to 32000 seconds and stored in EEPROM.

In the 21 pages of instruction I describe the design and also give performance data as both a GPSDO and a time interval counter. As Jim says my GPSDO gives useful information how you can do your own GPSDO. On the first pages I have some discussion of the GPS modules like NEO7M that can be used and also about different oscillators. Note I think the oscillators are the first you should think of as they set the most important specs for the GPSDO. See also the user manual for Stanford FS740 that contains a lot of information about a modern GPSDO. Here the link to Stanford FS740 seems to be broken in my instruction. Today this worked: https://www.thinksrs.com/downloads/pdfs/manuals/FS740m.pdf See for example pages 25-35 for a good description of the GPSDO part. In the end of the manual you also find complete schematics!

On pages 8-9 in my instruction you find a very short description of my software and it is a standard PI-loop with a low pass filter before just as in the FS740. Paul-Henning has a very simple introduction to the PI-loop that I like http://phk.freebsd.dk/time/20141018.html . I would also recommend learning from the GPSDO simulator by Tom Van Baak http://www.leapsecond.com/pages/gpsdo-sim/ it also uses a PI-loop + low pass filter and his code tells you a lot.

From Tom’s GPSDO simulator you can also learn how the time resolution and the DAC resolution work with real time data. Magnus Danielsson in March 2014 published the result of some his simulations with different time and DAC resolutions on time nuts. My takeaway was that a time resolution below 5-10ns was ok and DAC resolutions in the ballpark of the oscillator ADEV was fine, but have a look on his data.

On page 15 in my instruction you find a list of basic links that I have found useful. Some links seems broken so for example for Stanford’s you have to find again on their homepage.

On pages 16-17 you find help commands and description of serial information. By the way Mark Sims excellent LH can read this and use the time, DAC and temperature data that are spit out every second http://www.eevblog.com/forum/metrology/lady-heather-v6-beta-for-windows-exe/?all . This together with the GPS module of choice serial output data should make this very useful. I am sorry I haven’t used this as I am very weak of chemo and haven’t done anything to my GPSDO for a long time.

Page 18 shows setup to read for example DAC data into Timelab.

On page 19 you find some ADEV results of two of my prototype GPSDO’s. One with a TCXO DOT050V and one with a OCXO 131(that by purpose uses a bad DAC resolution of 1.2E-11 but still gets ADEV’s in the 5E-12 range.

Last two pages show data with the controller used as a time interval counter. By measuring the TIC with a PICDIV PD26 it is possible to enter a few linearization parameters in EEPROM and get ADEV’s in the 8E-10 range at 1sec.

Even if I don’t recommend reading specific about my GPSDO on time nuts I really recommend to search and read the time nuts archive. It is a lot of useful information and a special thank to Bob kb8tq who contributes with so much valuable information. After I published the GPSDO on time nuts I also got good help from Jim H with the hardware interrupt in the ATmega328. With the hardware interrupt the 200ns resolution on timer 1 works well with a jitter of just 40ns p-p. TvB also gave the idea to set the timer1 to an factor that suits the input frequency that in this case is 5Mhz so I choose 50000(-1) (instead of 65536-1). This gives overflow at 10ms and is easy to handle. I could probably thank a lot more people for good advises.

Lars

Ps. Note that Lars GPSDO is more a 10MHz frequency reference, not a time reference and by that I mean it has no jitter free PPS out. This can be added by external hardware.





________________________________
Från: time-nuts <time-nuts-***@lists.febo.com> för Jim Harman <***@gmail.com>
Skickat: Tuesday, September 4, 2018 6:28:00 PM
Till: Discussion of precise time and frequency measurement
Ämne: Re: [time-nuts] PLL/GPSDO/etc learning resources for mere mortals

> The challenge seems to me to be

how to temperature stabilize the entire DAC chain without putting it all in
an oven

Hi Forrest,

Generally you don't have to temperature stabilize the DAC because it is
inside the phase-locked control loop and the loop will adjust for
temperature dependencies, just as it adjusts for drift and temperature
dependencies in the oscillator. You will want your phase detector to be
reasonably temperature stable however.

In the time-nuts archives you will find posts from Lars Walenius and myself
with schematics and code for Arduino-based GPSDOs which you might want to
study.
_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.

_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Mark Sims
2018-09-04 17:25:54 UTC
Permalink
Besides temperature compensation for holdover conditions you should also include drift compensation for OCXO aging. The Trimble GPSDOs, HP 38xx and 53xxx GPSDOs, and Oscilloquartz Star-4 do this. Oscilliquartz calls it ATDC (Automatic Temperature and Drift Compensation). For many OCXOs the magnitude of the temperature and drift values are of similar importance in predicting holdover compensation corrections.

Teasing out and modeling the independent effects of temperature and drift can be quite a challenge in operational systems.
_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Mark Sims
2018-09-08 17:18:31 UTC
Permalink
Lady Heather now has some partial support for the Lars GPSDO. It does not directly send any commands to the device (I don't have one yet to implement that), but you can use the !u or !t keyboard commands to do that,

Heather treats the Lars GPSDO as a time interval counter. You need to start Heather with /rxi (time interval counter as input device) and /itl (interval counter device is a Lars GPSDO).

You can also use the Lars GPSDO as an "extra" input device with the GPS receiver as the main input device (/ei=port /itl). This mode lets Heather calculate true ADEV values while monitoring the GPS receiver.

When using the Lars GPSDO, you do want to manually set the DAC gain setting (&g) so that the frequency calculations based on the DAC setting are accurate.
_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Loading...