Forums

really slow PLL

Started by John Larkin July 20, 2022

Suppose I have several rackmount boxes and each has a BNC connector on
the back. Each of them has an open-drain mosfet, a weak pullup, and a
lowpass filtered schmitt gate back into our FPGA. 

I can daisy-chain several boxes with BNC cables and tees.

Each box has a 40 MHz VCXO and I want to phase-lock them, or at least
time-align them to always be the same within a few microseconds,
longterm.

I could call one the leader (not "master") and make the others
followers (not "slaves") and have the leader make an active low pulse
maybe once a second. A follower would use her (not "his") clock to
measure the incoming period and tweak its local VCXO in the right
direction. That should work.

Don't GPS receivers lock their 10 MHz oscillators to a 1 PPS pulse
from the satellites?

My system should work from a 1 PPS GPS pulse too, all boxes as
followers.

The PLL algorithm might be interesting.

John Larkin wrote:
> > > Suppose I have several rackmount boxes and each has a BNC connector on > the back. Each of them has an open-drain mosfet, a weak pullup, and a > lowpass filtered schmitt gate back into our FPGA. > > I can daisy-chain several boxes with BNC cables and tees. > > Each box has a 40 MHz VCXO and I want to phase-lock them, or at least > time-align them to always be the same within a few microseconds, > longterm. > > I could call one the leader (not "master") and make the others > followers (not "slaves") and have the leader make an active low pulse > maybe once a second. A follower would use her (not "his") clock to > measure the incoming period and tweak its local VCXO in the right > direction. That should work. > > Don't GPS receivers lock their 10 MHz oscillators to a 1 PPS pulse > from the satellites? > > My system should work from a 1 PPS GPS pulse too, all boxes as > followers. > > The PLL algorithm might be interesting. >
It's certainly possible. However, within whatever tiny loop bandwidth you wound up with, the lockers would still have 20 log(40e6) = 152 dB higher phase noise than the lockee. It would be interesting to do the math to see whether it's possible to generate a concensus lock for the group: if you get everybody close enough, just sum their sine wave outputs and lock each one of them to that, with some bit of AC coupling or something so that they don't all wander together off to the edge of the tuning range. Maybe have one doing the locking with a phase shifter and the others with VCOs, or something like that. Definitely a partly-baked idea, but surely one could do better than 152 dB! Cheers Phil Hobbs -- Dr Philip C D Hobbs Principal Consultant ElectroOptical Innovations LLC / Hobbs ElectroOptics Optics, Electro-optics, Photonics, Analog Electronics Briarcliff Manor NY 10510 http://electrooptical.net http://hobbs-eo.com
On Wed, 20 Jul 2022 19:32:20 -0400, Phil Hobbs
<pcdhSpamMeSenseless@electrooptical.net> wrote:

>John Larkin wrote: >> >> >> Suppose I have several rackmount boxes and each has a BNC connector on >> the back. Each of them has an open-drain mosfet, a weak pullup, and a >> lowpass filtered schmitt gate back into our FPGA. >> >> I can daisy-chain several boxes with BNC cables and tees. >> >> Each box has a 40 MHz VCXO and I want to phase-lock them, or at least >> time-align them to always be the same within a few microseconds, >> longterm. >> >> I could call one the leader (not "master") and make the others >> followers (not "slaves") and have the leader make an active low pulse >> maybe once a second. A follower would use her (not "his") clock to >> measure the incoming period and tweak its local VCXO in the right >> direction. That should work. >> >> Don't GPS receivers lock their 10 MHz oscillators to a 1 PPS pulse >> from the satellites? >> >> My system should work from a 1 PPS GPS pulse too, all boxes as >> followers. >> >> The PLL algorithm might be interesting. >> > >It's certainly possible. However, within whatever tiny loop bandwidth >you wound up with, the lockers would still have > >20 log(40e6) = 152 dB > >higher phase noise than the lockee.
GPS has that problem too.
> >It would be interesting to do the math to see whether it's possible to >generate a concensus lock for the group: if you get everybody close >enough, just sum their sine wave outputs and lock each one of them to >that, with some bit of AC coupling or something so that they don't all >wander together off to the edge of the tuning range. > >Maybe have one doing the locking with a phase shifter and the others >with VCOs, or something like that. > >Definitely a partly-baked idea, but surely one could do better than 152 dB! > >Cheers > >Phil Hobbs
Each box is basically a multichannel power supply, but channels can be programmed to do stuff in timed sequences. I want different box outputs to time align within, say, one millisecond longterm once programs are kicked off together. So, many microseconds of equivalent RMS phase noise is OK as long as we stay time aligned longterm. If a follower is told to start locking, it could timestamp the first incoming 1 PPS with a giant counter clocked by its local 40 MHz VCO. If a later 1 PPS edge appears to arrive too soon, we could speed up our VCXO by, say, 1 PPM, and vice versa. So longterm it walks into alignment with the 1 PPS and eventually dithers a microsecond per second. Noise on the coax gets fixed over time too. That's better than just measuring the 1 Hz period once a second, tweaking the clock, and then throwing away that measurement. I want a time lock, not a frequency lock.
John Larkin wrote:
> On Wed, 20 Jul 2022 19:32:20 -0400, Phil Hobbs > <pcdhSpamMeSenseless@electrooptical.net> wrote: > >> John Larkin wrote: >>> >>> >>> Suppose I have several rackmount boxes and each has a BNC connector on >>> the back. Each of them has an open-drain mosfet, a weak pullup, and a >>> lowpass filtered schmitt gate back into our FPGA. >>> >>> I can daisy-chain several boxes with BNC cables and tees. >>> >>> Each box has a 40 MHz VCXO and I want to phase-lock them, or at least >>> time-align them to always be the same within a few microseconds, >>> longterm. >>> >>> I could call one the leader (not "master") and make the others >>> followers (not "slaves") and have the leader make an active low pulse >>> maybe once a second. A follower would use her (not "his") clock to >>> measure the incoming period and tweak its local VCXO in the right >>> direction. That should work. >>> >>> Don't GPS receivers lock their 10 MHz oscillators to a 1 PPS pulse >>> from the satellites? >>> >>> My system should work from a 1 PPS GPS pulse too, all boxes as >>> followers. >>> >>> The PLL algorithm might be interesting. >>> >> >> It's certainly possible. However, within whatever tiny loop bandwidth >> you wound up with, the lockers would still have >> >> 20 log(40e6) = 152 dB >> >> higher phase noise than the lockee. > > GPS has that problem too. > >> >> It would be interesting to do the math to see whether it's possible to >> generate a concensus lock for the group: if you get everybody close >> enough, just sum their sine wave outputs and lock each one of them to >> that, with some bit of AC coupling or something so that they don't all >> wander together off to the edge of the tuning range. >> >> Maybe have one doing the locking with a phase shifter and the others >> with VCOs, or something like that. >> >> Definitely a partly-baked idea, but surely one could do better than 152 dB! >> >> Cheers >> >> Phil Hobbs > > Each box is basically a multichannel power supply, but channels can be > programmed to do stuff in timed sequences. I want different box > outputs to time align within, say, one millisecond longterm once > programs are kicked off together. So, many microseconds of equivalent > RMS phase noise is OK as long as we stay time aligned longterm. > > If a follower is told to start locking, it could timestamp the first > incoming 1 PPS with a giant counter clocked by its local 40 MHz VCO. > If a later 1 PPS edge appears to arrive too soon, we could speed up > our VCXO by, say, 1 PPM, and vice versa. So longterm it walks into > alignment with the 1 PPS and eventually dithers a microsecond per > second. Noise on the coax gets fixed over time too. > > That's better than just measuring the 1 Hz period once a second, > tweaking the clock, and then throwing away that measurement. I want a > time lock, not a frequency lock. >
Absolutely. The scary 152 dB number doesn't mean that doing something like that is automatically a bad idea. Being an old RF and ultrastable laser guy, though, it does make my ears perk up. ;) Cheers Phil Hobbs -- Dr Philip C D Hobbs Principal Consultant ElectroOptical Innovations LLC / Hobbs ElectroOptics Optics, Electro-optics, Photonics, Analog Electronics Briarcliff Manor NY 10510 http://electrooptical.net http://hobbs-eo.com
On 7/20/2022 8:22 PM, John Larkin wrote:
> On Wed, 20 Jul 2022 19:32:20 -0400, Phil Hobbs > <pcdhSpamMeSenseless@electrooptical.net> wrote: > >> John Larkin wrote: >>> >>> >>> Suppose I have several rackmount boxes and each has a BNC connector on >>> the back. Each of them has an open-drain mosfet, a weak pullup, and a >>> lowpass filtered schmitt gate back into our FPGA. >>> >>> I can daisy-chain several boxes with BNC cables and tees. >>> >>> Each box has a 40 MHz VCXO and I want to phase-lock them, or at least >>> time-align them to always be the same within a few microseconds, >>> longterm. >>> >>> I could call one the leader (not "master") and make the others >>> followers (not "slaves") and have the leader make an active low pulse >>> maybe once a second. A follower would use her (not "his") clock to >>> measure the incoming period and tweak its local VCXO in the right >>> direction. That should work. >>> >>> Don't GPS receivers lock their 10 MHz oscillators to a 1 PPS pulse >>> from the satellites? >>> >>> My system should work from a 1 PPS GPS pulse too, all boxes as >>> followers. >>> >>> The PLL algorithm might be interesting. >>> >> >> It's certainly possible. However, within whatever tiny loop bandwidth >> you wound up with, the lockers would still have >> >> 20 log(40e6) = 152 dB >> >> higher phase noise than the lockee. > > GPS has that problem too. > >> >> It would be interesting to do the math to see whether it's possible to >> generate a concensus lock for the group: if you get everybody close >> enough, just sum their sine wave outputs and lock each one of them to >> that, with some bit of AC coupling or something so that they don't all >> wander together off to the edge of the tuning range. >> >> Maybe have one doing the locking with a phase shifter and the others >> with VCOs, or something like that. >> >> Definitely a partly-baked idea, but surely one could do better than 152 dB! >> >> Cheers >> >> Phil Hobbs > > Each box is basically a multichannel power supply, but channels can be > programmed to do stuff in timed sequences. I want different box > outputs to time align within, say, one millisecond longterm once > programs are kicked off together. So, many microseconds of equivalent > RMS phase noise is OK as long as we stay time aligned longterm.
It sounds like you're looking for a protocol like DMX if what you want is to trigger sequences of events across boxes to within a millisecond, I don't understand what this lock-the-40 MHz across boxes is about. <https://en.wikipedia.org/wiki/DMX512>
On Wed, 20 Jul 2022 20:28:35 -0400, Phil Hobbs
<pcdhSpamMeSenseless@electrooptical.net> wrote:

>John Larkin wrote: >> On Wed, 20 Jul 2022 19:32:20 -0400, Phil Hobbs >> <pcdhSpamMeSenseless@electrooptical.net> wrote: >> >>> John Larkin wrote: >>>> >>>> >>>> Suppose I have several rackmount boxes and each has a BNC connector on >>>> the back. Each of them has an open-drain mosfet, a weak pullup, and a >>>> lowpass filtered schmitt gate back into our FPGA. >>>> >>>> I can daisy-chain several boxes with BNC cables and tees. >>>> >>>> Each box has a 40 MHz VCXO and I want to phase-lock them, or at least >>>> time-align them to always be the same within a few microseconds, >>>> longterm. >>>> >>>> I could call one the leader (not "master") and make the others >>>> followers (not "slaves") and have the leader make an active low pulse >>>> maybe once a second. A follower would use her (not "his") clock to >>>> measure the incoming period and tweak its local VCXO in the right >>>> direction. That should work. >>>> >>>> Don't GPS receivers lock their 10 MHz oscillators to a 1 PPS pulse >>>> from the satellites? >>>> >>>> My system should work from a 1 PPS GPS pulse too, all boxes as >>>> followers. >>>> >>>> The PLL algorithm might be interesting. >>>> >>> >>> It's certainly possible. However, within whatever tiny loop bandwidth >>> you wound up with, the lockers would still have >>> >>> 20 log(40e6) = 152 dB >>> >>> higher phase noise than the lockee. >> >> GPS has that problem too. >> >>> >>> It would be interesting to do the math to see whether it's possible to >>> generate a concensus lock for the group: if you get everybody close >>> enough, just sum their sine wave outputs and lock each one of them to >>> that, with some bit of AC coupling or something so that they don't all >>> wander together off to the edge of the tuning range. >>> >>> Maybe have one doing the locking with a phase shifter and the others >>> with VCOs, or something like that. >>> >>> Definitely a partly-baked idea, but surely one could do better than 152 dB! >>> >>> Cheers >>> >>> Phil Hobbs >> >> Each box is basically a multichannel power supply, but channels can be >> programmed to do stuff in timed sequences. I want different box >> outputs to time align within, say, one millisecond longterm once >> programs are kicked off together. So, many microseconds of equivalent >> RMS phase noise is OK as long as we stay time aligned longterm. >> >> If a follower is told to start locking, it could timestamp the first >> incoming 1 PPS with a giant counter clocked by its local 40 MHz VCO. >> If a later 1 PPS edge appears to arrive too soon, we could speed up >> our VCXO by, say, 1 PPM, and vice versa. So longterm it walks into >> alignment with the 1 PPS and eventually dithers a microsecond per >> second. Noise on the coax gets fixed over time too. >> >> That's better than just measuring the 1 Hz period once a second, >> tweaking the clock, and then throwing away that measurement. I want a >> time lock, not a frequency lock. >> > >Absolutely. The scary 152 dB number doesn't mean that doing something >like that is automatically a bad idea. > >Being an old RF and ultrastable laser guy, though, it does make my ears >perk up. ;) > >Cheers > >Phil Hobbs
I like thermostats, single-bit-feedback control loops. We have a couple of boxes that do fan control based on interior temperature. Once a second, if it's above the setpoint, ratchet fan speed up some fixed amount, 1% maybe. If it's cooler than the setpoint, step fan speed down. There's no acoustic drama and it's perfectly stable. It dithers around the setpoint but nobody notices. This is immune to classic control theory so the concept annoys some people but it works great.
On Wed, 20 Jul 2022 21:49:32 -0400, bitrex <user@example.net> wrote:

>On 7/20/2022 8:22 PM, John Larkin wrote: >> On Wed, 20 Jul 2022 19:32:20 -0400, Phil Hobbs >> <pcdhSpamMeSenseless@electrooptical.net> wrote: >> >>> John Larkin wrote: >>>> >>>> >>>> Suppose I have several rackmount boxes and each has a BNC connector on >>>> the back. Each of them has an open-drain mosfet, a weak pullup, and a >>>> lowpass filtered schmitt gate back into our FPGA. >>>> >>>> I can daisy-chain several boxes with BNC cables and tees. >>>> >>>> Each box has a 40 MHz VCXO and I want to phase-lock them, or at least >>>> time-align them to always be the same within a few microseconds, >>>> longterm. >>>> >>>> I could call one the leader (not "master") and make the others >>>> followers (not "slaves") and have the leader make an active low pulse >>>> maybe once a second. A follower would use her (not "his") clock to >>>> measure the incoming period and tweak its local VCXO in the right >>>> direction. That should work. >>>> >>>> Don't GPS receivers lock their 10 MHz oscillators to a 1 PPS pulse >>>> from the satellites? >>>> >>>> My system should work from a 1 PPS GPS pulse too, all boxes as >>>> followers. >>>> >>>> The PLL algorithm might be interesting. >>>> >>> >>> It's certainly possible. However, within whatever tiny loop bandwidth >>> you wound up with, the lockers would still have >>> >>> 20 log(40e6) = 152 dB >>> >>> higher phase noise than the lockee. >> >> GPS has that problem too. >> >>> >>> It would be interesting to do the math to see whether it's possible to >>> generate a concensus lock for the group: if you get everybody close >>> enough, just sum their sine wave outputs and lock each one of them to >>> that, with some bit of AC coupling or something so that they don't all >>> wander together off to the edge of the tuning range. >>> >>> Maybe have one doing the locking with a phase shifter and the others >>> with VCOs, or something like that. >>> >>> Definitely a partly-baked idea, but surely one could do better than 152 dB! >>> >>> Cheers >>> >>> Phil Hobbs >> >> Each box is basically a multichannel power supply, but channels can be >> programmed to do stuff in timed sequences. I want different box >> outputs to time align within, say, one millisecond longterm once >> programs are kicked off together. So, many microseconds of equivalent >> RMS phase noise is OK as long as we stay time aligned longterm. > >It sounds like you're looking for a protocol like DMX if what you want >is to trigger sequences of events across boxes to within a millisecond, >I don't understand what this lock-the-40 MHz across boxes is about. > ><https://en.wikipedia.org/wiki/DMX512> > >
Each box runs a bunch of timed processes. If they are triggered to start together, I don't want their timings to drift apart. Locking their clocks works. My loop will also lock my boxes to a 1 PPS GPS source, so we can synchronize within a bigger system. It's easy to explain 1 PPS pulses on BNC connectors.
On a sunny day (Wed, 20 Jul 2022 16:20:57 -0700) it happened John Larkin
<jlarkin@highland_atwork_technology.com> wrote in
<qd2hdhhs6bnndjs4likrvlq9jt6q5deebo@4ax.com>:

> > >Suppose I have several rackmount boxes and each has a BNC connector on >the back. Each of them has an open-drain mosfet, a weak pullup, and a >lowpass filtered schmitt gate back into our FPGA. > >I can daisy-chain several boxes with BNC cables and tees. > >Each box has a 40 MHz VCXO and I want to phase-lock them, or at least >time-align them to always be the same within a few microseconds, >longterm. > >I could call one the leader (not "master") and make the others >followers (not "slaves") and have the leader make an active low pulse >maybe once a second. A follower would use her (not "his") clock to >measure the incoming period and tweak its local VCXO in the right >direction. That should work. > >Don't GPS receivers lock their 10 MHz oscillators to a 1 PPS pulse >from the satellites? > >My system should work from a 1 PPS GPS pulse too, all boxes as >followers. > >The PLL algorithm might be interesting.
So why not use a RGB 24 bit 0xffffff master clock board that drives all slave modules those then need no local oscillator. For event 'sync' sent a DC step every now and then on the same coax and filter it out at the slave sides, to make the slaves jump to action.
Am 21.07.22 um 01:20 schrieb John Larkin:
> > > Suppose I have several rackmount boxes and each has a BNC connector on > the back. Each of them has an open-drain mosfet, a weak pullup, and a > lowpass filtered schmitt gate back into our FPGA. > > I can daisy-chain several boxes with BNC cables and tees. > > Each box has a 40 MHz VCXO and I want to phase-lock them, or at least > time-align them to always be the same within a few microseconds, > longterm.
I have a backburner project of locking 16 MTI-260 oscillators slooowy to another one, and when they are in sync, combine them with an array of Wilkinsons. That should have a nice effect on phase noise by averaging over 16. The CPLD has enough resources to implement that as a delay locked loop with 1 pps, but low hanging fruit first.
> > I could call one the leader (not "master") and make the others > followers (not "slaves") and have the leader make an active low pulse > maybe once a second. A follower would use her (not "his") clock to > measure the incoming period and tweak its local VCXO in the right > direction. That should work. > > Don't GPS receivers lock their 10 MHz oscillators to a 1 PPS pulse > from the satellites?
No. There is no 1PPS pulse from the sat nor the need for exactly 10 MHz. The sats transmit a pseudo noise sequence that is aligned to the second of their local clock source. The GPS receiver knows the polynomial and runs a local copy of the polynomial. It knows by cross correlation if the local pseudo noise is the same as that of the sat and therefore knows the start of the second. Usually that won't be the case. Then the receiver delays its own polynomial by omitting a clock to the shift register that generates it and tries again. Sooner or later it will fit. One needs at least reception of 4 sats to get a set of (x, y, z, t) that fits together, usually more. Once one has a lock to one sat, it is possible to get the data of the current constellation of all sats. That helps to speed up the lock to the others by providing a guess of a better starting point for the search. There is still a long way from synced polynomials to a good fix, for example removal of the Faraday effect by comparing the flight time difference for sats on different frequency bands. 95% of a GPS receiver is software. The 1PPS out of a typical GPS receiver used to be only a port bit of the CPU, synchronous to the second only in the very long run. If the receiver delivers a nice 10 MHz, the CPU has better information to adjust it. Gerhard
On Wednesday, July 20, 2022 at 4:21:08 PM UTC-7, John Larkin wrote:
> Suppose I have several rackmount boxes and each has a BNC connector on > the back. Each of them has an open-drain mosfet, a weak pullup, and a > lowpass filtered schmitt gate back into our FPGA. > > I can daisy-chain several boxes with BNC cables and tees. > > Each box has a 40 MHz VCXO and I want to phase-lock them, or at least > time-align them to always be the same within a few microseconds, > longterm.
If you can tolerate 'a few microseconds' on a 40 MHz signal, that's not a phase-lock problem, it's a frequency-lock problem. Why not just run an up/down counter to generate a correction voltage for each non-leading VCO?