Electronics-Related.com
Forums

digital capacitor

Started by John Larkin April 15, 2021
On Thu, 22 Apr 2021 01:59:52 -0000 (UTC), Steve Wilson <spam@me.com>
wrote:

>John Larkin <jlarkin@highland_atwork_technology.com> wrote: > >> On Tue, 20 Apr 2021 20:04:24 -0000 (UTC), Steve Wilson <spam@me.com> >> wrote: > >[...] > >>>> Here's the gadget: > >>>> http://www.highlandtechnology.com/DSS/T564DS.shtml > >>>> https://www.dropbox.com/s/1hj4ckpmsdu8d55/T560_Board.JPG?raw=1 > >>>Presumably, you use a ramp to interpolate between the 50 MHz clock >>>pulses. This allows you to trigger the output pulse when the ramp >>>crosses the voltage set by a DAC, and the desired number of 50 MHz >>>clocks have passed. > >>>You could use the 50 MHz clock to set the timing instead of an LC >>>oscillator. > >> The 50 MHz LC oscillator is started at trigger time, and then >> phase-locked to the crystal oscillator, which is a different >> frequency. Time delays are programmable to 10 ps resolution, with >> under 30 ps RMS jitter from an external trigger. > >Why spec resolution at 10 ps when the jitter is 30 ps?
Because that's what it does.
> >RMS is only 1 sigma. Practical jitter should be spec'd at 3 sigma, >which means the pulse can be +/- 90 ps from center.
It's customary to specify jitter as RMS. If you want to
>get nasty, you should spec the jitter at 6 sigma to give a more >realistic idea of where the pulse could be. > >>>You could use another identical ramp to find the time of the input >>>trigger by clocking an ADC. > >> SRS does something like that, but it adds a lot of insertion delay. > >I love their spec: "approximately 80 ns" > >I have been studying SRS for some time. They have two models which >are different architectures. One model integrates the time between >the input trigger and the 100 MHz clock, which is not the same as >using a ramp. They have extremely complicated architectures, which >is due to the design philosophy in the '60s and '70s. You can tell >when they were designed by looking at the parts list.
The DG645 was designed by an engineer that I fired. His name is etched on the PCB. The human interface is ghastly. The packaging is ghastly.
> >> One problem is that fast ADCs have a lot of pipeline delay. > >The Renesas KAD5510P-25Q48 has a latency of 7.5 cycles at 250 MHz. >This takes 30 ns, and would increase your insertion delay a bit.
And then the output of the ADC needs to be crunched and probably fed into a DAC to make the final fine delay. Takes more time.
> >However it would allow you to significantly reduce the 30 ns rms >jitter figure, and provide continuous calibration of the >interpolation ramp. $47.240 at Newark: > >https://octopart.com/kad5510p-25q48-renesas-88256306?r=sp > >https://datasheet.octopart.com/KAD5510P-25Q48-Renesas-datasheet- >138173667.pdf > >>>Combine the two values to determine the settings for the output pulse. > >>>This would give much lower drift and jitter, and eliminate the setup >>>at power on. The changes would probably fit in the same board area. > >>>You could upgrade the 50 MHz clock to a low noise OCXO for even lower >>>drift and jitter. You could also use stable external clocks, such as >>>rubidium or GPSDO for the ultimate in long term stability. > >> As noted, the 50 MHz oscillator is started at trigger time. > >You can never achieve the low jitter of a crystal, and using DSP to >lock to a separate clock will add phase error and jitter. > >Most important, you have no way to correct for drift in the >interpolation ramp. > >With two identical ramps, you could continuously corect for any >drift in the ramps by comparing one ramp with 50 MHz clock, leaving >the other ramp free for the output pulse. Then swap roles on the >next 50 MHz clock. > >So by adding an ADC and referring everything to a low noise crystal, >you can reduce the clock drift and jitter, and provide continuous >calibration of the interpolation ramps.
Go for it. -- John Larkin Highland Technology, Inc The best designs are necessarily accidental.
jlarkin@highlandsniptechnology.com wrote:

> On Thu, 22 Apr 2021 01:59:52 -0000 (UTC), Steve Wilson <spam@me.com> > wrote:
[...]
>>You can never achieve the low jitter of a crystal, and using DSP to >>lock to a separate clock will add phase error and jitter. >> >>Most important, you have no way to correct for drift in the >>interpolation ramp. >> >>With two identical ramps, you could continuously corect for any >>drift in the ramps by comparing one ramp with 50 MHz clock, leaving >>the other ramp free for the output pulse. Then swap roles on the >>next 50 MHz clock. >> >>So by adding an ADC and referring everything to a low noise crystal, you >>can reduce the clock drift and jitter, and provide continuous >>calibration of the interpolation ramps. > > Go for it.
When do you calibrate the output ramp? How do you correct for drift? -- The best designs occur in the theta state. - sw
On Thursday, April 22, 2021 at 12:27:28 PM UTC+10, jla...@highlandsniptechnology.com wrote:
> On Thu, 22 Apr 2021 01:59:52 -0000 (UTC), Steve Wilson <sp...@me.com> > wrote: > > >John Larkin <jlarkin@highland_atwork_technology.com> wrote: > > > >> On Tue, 20 Apr 2021 20:04:24 -0000 (UTC), Steve Wilson <sp...@me.com> > >> wrote:
<snip>
> >>>You could use another identical ramp to find the time of the input > >>>trigger by clocking an ADC. > > > >> SRS does something like that, but it adds a lot of insertion delay.
Not exactly. You add exactly the same insertion delay but the input happens at the start of the delay, so that the data is there when you need it. <snip>
> >> One problem is that fast ADCs have a lot of pipeline delay. > > > >The Renesas KAD5510P-25Q48 has a latency of 7.5 cycles at 250 MHz.
It's a 10 bit device. A faster clock doesn't need to be divided down as far to get to 10osec resolution.
> >This takes 30 ns, and would increase your insertion delay a bit. > > And then the output of the ADC needs to be crunched and probably fed into a DAC to make the final fine delay. Takes more time.
It you crunch the data in parallel in ECinPS it doesn't take much extra time at all. Inside a fast proigrammable device it could be even quicker.
> >However it would allow you to significantly reduce the 30 ns rms > >jitter figure, and provide continuous calibration of the > >interpolation ramp. $47.240 at Newark: > > > >https://octopart.com/kad5510p-25q48-renesas-88256306?r=sp > > > >https://datasheet.octopart.com/KAD5510P-25Q48-Renesas-datasheet- > >138173667.pdf > > > >>>Combine the two values to determine the settings for the output pulse. > > > >>>This would give much lower drift and jitter, and eliminate the setup > >>>at power on. The changes would probably fit in the same board area. > > > >>>You could upgrade the 50 MHz clock to a low noise OCXO for even lower > >>>drift and jitter. You could also use stable external clocks, such as > >>>rubidium or GPSDO for the ultimate in long term stability. > > > >> As noted, the 50 MHz oscillator is started at trigger time. > > > >You can never achieve the low jitter of a crystal, and using DSP to > >lock to a separate clock will add phase error and jitter. > > > >Most important, you have no way to correct for drift in the > >interpolation ramp. > > > >With two identical ramps, you could continuously correct for any > >drift in the ramps by comparing one ramp with 50 MHz clock, leaving > >the other ramp free for the output pulse. Then swap roles on the > >next 50 MHz clock.
Have a few more, and cycle through cycle through them, so they spend half their time self-calibrating and the other half earning their living. Going for a 800MHz clock meant that we dividing up a much short clock period, which made the whole self-caibration job a lot less demanding
> >So by adding an ADC and referring everything to a low noise crystal, > >you can reduce the clock drift and jitter, and provide continuous > >calibration of the interpolation ramps. > > Go for it.
That's roughly what we did back in 1988. It worked. -- Bill Sloman, Sydney
Steve Wilson <spam@me.com> wrote:

> jlarkin@highlandsniptechnology.com wrote: > >> On Thu, 22 Apr 2021 01:59:52 -0000 (UTC), Steve Wilson <spam@me.com> >> wrote: > > [...] > >>>You can never achieve the low jitter of a crystal, and using DSP to >>>lock to a separate clock will add phase error and jitter. >>> >>>Most important, you have no way to correct for drift in the >>>interpolation ramp. >>> >>>With two identical ramps, you could continuously corect for any >>>drift in the ramps by comparing one ramp with 50 MHz clock, leaving >>>the other ramp free for the output pulse. Then swap roles on the >>>next 50 MHz clock. >>> >>>So by adding an ADC and referring everything to a low noise crystal, you >>>can reduce the clock drift and jitter, and provide continuous >>>calibration of the interpolation ramps. >> >> Go for it. > > When do you calibrate the output ramp? > > How do you correct for drift?
And now that we are at it, what is the tolerance of the insertion delay? -- The best designs occur in the theta state. - sw
On Friday, April 23, 2021 at 12:32:05 AM UTC+10, Steve Wilson wrote:
> Steve Wilson <sp...@me.com> wrote: > > > jla...@highlandsniptechnology.com wrote: > > > >> On Thu, 22 Apr 2021 01:59:52 -0000 (UTC), Steve Wilson <sp...@me.com> > >> wrote: > > > > [...] > > > >>>You can never achieve the low jitter of a crystal, and using DSP to > >>>lock to a separate clock will add phase error and jitter. > >>> > >>>Most important, you have no way to correct for drift in the > >>>interpolation ramp. > >>> > >>>With two identical ramps, you could continuously corect for any > >>>drift in the ramps by comparing one ramp with 50 MHz clock, leaving > >>>the other ramp free for the output pulse. Then swap roles on the > >>>next 50 MHz clock. > >>> > >>>So by adding an ADC and referring everything to a low noise crystal, you > >>>can reduce the clock drift and jitter, and provide continuous > >>>calibration of the interpolation ramps. > >> > >> Go for it. > > > > When do you calibrate the output ramp?
What we did - back in 1988-91- was recalibrated it every few minutes.
> > How do you correct for drift?
DAC adjustment of the ramp current, and another to adjust where the ramp started. The board looked a bit busy, but it was surface mount parts on triple extended Eurocard, so there was room for lots of bits.
> And now that we are at it, what is the tolerance of the insertion delay?
Pretty much the stability of the 50MHz crystal oscillator to which we locked our 800MHz oscillator - the self-calibration referred everything back to that. -- Bill Sloman, Sydney
On Thu, 22 Apr 2021 11:28:21 -0000 (UTC), Steve Wilson <spam@me.com>
wrote:

>jlarkin@highlandsniptechnology.com wrote: > >> On Thu, 22 Apr 2021 01:59:52 -0000 (UTC), Steve Wilson <spam@me.com> >> wrote: > >[...] > >>>You can never achieve the low jitter of a crystal, and using DSP to >>>lock to a separate clock will add phase error and jitter. >>> >>>Most important, you have no way to correct for drift in the >>>interpolation ramp. >>> >>>With two identical ramps, you could continuously corect for any >>>drift in the ramps by comparing one ramp with 50 MHz clock, leaving >>>the other ramp free for the output pulse. Then swap roles on the >>>next 50 MHz clock. >>> >>>So by adding an ADC and referring everything to a low noise crystal, you >>>can reduce the clock drift and jitter, and provide continuous >>>calibration of the interpolation ramps. >> >> Go for it. > >When do you calibrate the output ramp?
At production test. We poke a polynomial into a cal table for each vernier ramp. A 20 ns linear ramp isn't usually very linear.
> >How do you correct for drift?
It's designed to not drift much. It doesn't. A delay generator has a lot of tempcos, most of them positive. A temperature sensor measurement can bash them all at once, which helps a lot. If there's a fan, it can be servoed to sort of keep the PCB temperature constant, which helps a bit too. -- John Larkin Highland Technology, Inc The best designs are necessarily accidental.
On Thu, 22 Apr 2021 14:31:59 -0000 (UTC), Steve Wilson
<spamme@not.com> wrote:

>Steve Wilson <spam@me.com> wrote: > >> jlarkin@highlandsniptechnology.com wrote: >> >>> On Thu, 22 Apr 2021 01:59:52 -0000 (UTC), Steve Wilson <spam@me.com> >>> wrote: >> >> [...] >> >>>>You can never achieve the low jitter of a crystal, and using DSP to >>>>lock to a separate clock will add phase error and jitter. >>>> >>>>Most important, you have no way to correct for drift in the >>>>interpolation ramp. >>>> >>>>With two identical ramps, you could continuously corect for any >>>>drift in the ramps by comparing one ramp with 50 MHz clock, leaving >>>>the other ramp free for the output pulse. Then swap roles on the >>>>next 50 MHz clock. >>>> >>>>So by adding an ADC and referring everything to a low noise crystal, you >>>>can reduce the clock drift and jitter, and provide continuous >>>>calibration of the interpolation ramps. >>> >>> Go for it. >> >> When do you calibrate the output ramp? >> >> How do you correct for drift? > >And now that we are at it, what is the tolerance of the insertion delay?
It varies per box, but +-400 ps is a typical spec. Unlike Certain Parties, we calibrate and spec insertion delay. Low insertion delay sells boxes, and it's a big and annoying design factor. -- John Larkin Highland Technology, Inc The best designs are necessarily accidental.
jlarkin@highlandsniptechnology.com wrote:

> On Thu, 22 Apr 2021 11:28:21 -0000 (UTC), Steve Wilson <spam@me.com> > wrote: > >>jlarkin@highlandsniptechnology.com wrote: >> >>> On Thu, 22 Apr 2021 01:59:52 -0000 (UTC), Steve Wilson <spam@me.com> >>> wrote: >> >>[...] >> >>>>You can never achieve the low jitter of a crystal, and using DSP to >>>>lock to a separate clock will add phase error and jitter. >>>> >>>>Most important, you have no way to correct for drift in the >>>>interpolation ramp. >>>> >>>>With two identical ramps, you could continuously corect for any >>>>drift in the ramps by comparing one ramp with 50 MHz clock, leaving >>>>the other ramp free for the output pulse. Then swap roles on the >>>>next 50 MHz clock. >>>> >>>>So by adding an ADC and referring everything to a low noise crystal, >>>>you can reduce the clock drift and jitter, and provide continuous >>>>calibration of the interpolation ramps. >>> >>> Go for it. >> >>When do you calibrate the output ramp? > > > At production test. We poke a polynomial into a cal table for each > vernier ramp. A 20 ns linear ramp isn't usually very linear. > >> >>How do you correct for drift? > > It's designed to not drift much. It doesn't. > > A delay generator has a lot of tempcos, most of them positive. A > temperature sensor measurement can bash them all at once, which helps > a lot. > > If there's a fan, it can be servoed to sort of keep the PCB > temperature constant, which helps a bit too.
Thanks for the reply. Interesting info. I got a Miller Effect ramp to give a fairly linear 20 ns ramp without the stray inductances that would cause ringing. Then I realized my idea to ADC the ramp at the input trigger was hopeless. A 10-bit ADC would give a resolution of 20e-9/2^10 = 1.953125e-11, or 19.5 picoseconds. A resolution of 1.2 picoseconds would require a 14-bit ADC, which is unobtanium at these frequencies. Ramps are a bad idea. I am now working on another approach that will give resolutions and RMS jitter in the tens of femtoseconds, with an insertion delay of 10 ns or less. The insertion delay has the same specs as the resolution and is locked to the same source. I plan on a LAN or USB interface to load the data, and a fiber optic or SMA input for the trigger. There are no ramps. Everything is locked to a low jitter, low drift SAW oscillator, which can be locked to a Rubidium or GPSDO. I will probably make one or two, then make everything open source. At my age and with the loss of one eye and continuing problems from last year's strokes, I am in no condition to start a company, or even try to get a patent and sell the idea. I don't even want the hassle of trying to subcontract the work. I also have another idea cooking for a fast, cheap sampler that has the unusual property of rejecting noise on the input signal. I have already built it and it works exactly as predicted. I will also make it open source. It will be very useful for testing the delay generator. Here is the ASC file for the Miller ramp. I am unable to get sabercat or google drive to work, so I have to post the file here. The output ramp is on Q1C. The ramp will be very drifty. If you don't have a BFR92, you can use any 5 GHz or higher npn. MOSFETs like the 2N7002 won't work. LTspice is valuable for showing when an idea is not even worth trying. Version 4 SHEET 1 2108 800 WIRE 848 -304 768 -304 WIRE 944 -304 848 -304 WIRE 992 -304 944 -304 WIRE 1008 -304 992 -304 WIRE 1120 -304 1088 -304 WIRE 768 -288 768 -304 WIRE 1120 -288 1120 -304 WIRE 848 -272 848 -304 WIRE 992 -224 992 -304 WIRE 1120 -192 1120 -208 WIRE 640 -176 608 -176 WIRE 672 -176 640 -176 WIRE 768 -176 768 -224 WIRE 768 -176 752 -176 WIRE 848 -176 848 -208 WIRE 848 -176 768 -176 WIRE 912 -176 848 -176 WIRE 928 -176 912 -176 WIRE 608 -160 608 -176 WIRE 992 -112 992 -128 WIRE 608 -64 608 -80 FLAG 912 -176 Q1B FLAG 992 -112 0 FLAG 608 -64 0 FLAG 944 -304 Q1C FLAG 640 -176 Vin FLAG 1120 -192 0 SYMBOL Voltage 608 -176 R0 WINDOW 123 0 0 Left 2 WINDOW 39 0 0 Left 2 SYMATTR InstName V1 SYMATTR Value PULSE(0 3 0 1n 1n 48n 100n 0) SYMBOL npn 928 -224 R0 SYMATTR InstName Q1 SYMATTR Value BFR92 SYMBOL res 768 -192 R90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R1 SYMATTR Value 50 SYMBOL cap 752 -288 R0 SYMATTR InstName C1 SYMATTR Value 68pf SYMBOL schottky 832 -208 M180 WINDOW 0 24 64 Left 2 WINDOW 3 24 0 Left 2 SYMATTR InstName D2 SYMATTR Value BAT54 SYMBOL voltage 1120 -304 R0 WINDOW 123 0 0 Left 2 WINDOW 39 0 0 Left 2 SYMATTR InstName V2 SYMATTR Value 10v SYMBOL res 1104 -320 R90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R2 SYMATTR Value 500 TEXT 728 -440 Left 2 ;'BFR92 Miller Effect Ramp TEXT 728 -408 Left 2 !.tran 0 27n 0 -- The best designs occur in the theta state. - sw
On Sat, 24 Apr 2021 10:56:28 -0000 (UTC), Steve Wilson
<spamme@not.com> wrote:

>jlarkin@highlandsniptechnology.com wrote: > >> On Thu, 22 Apr 2021 11:28:21 -0000 (UTC), Steve Wilson <spam@me.com> >> wrote: >> >>>jlarkin@highlandsniptechnology.com wrote: >>> >>>> On Thu, 22 Apr 2021 01:59:52 -0000 (UTC), Steve Wilson <spam@me.com> >>>> wrote: >>> >>>[...] >>> >>>>>You can never achieve the low jitter of a crystal, and using DSP to >>>>>lock to a separate clock will add phase error and jitter. >>>>> >>>>>Most important, you have no way to correct for drift in the >>>>>interpolation ramp. >>>>> >>>>>With two identical ramps, you could continuously corect for any >>>>>drift in the ramps by comparing one ramp with 50 MHz clock, leaving >>>>>the other ramp free for the output pulse. Then swap roles on the >>>>>next 50 MHz clock. >>>>> >>>>>So by adding an ADC and referring everything to a low noise crystal, >>>>>you can reduce the clock drift and jitter, and provide continuous >>>>>calibration of the interpolation ramps. >>>> >>>> Go for it. >>> >>>When do you calibrate the output ramp? >> >> >> At production test. We poke a polynomial into a cal table for each >> vernier ramp. A 20 ns linear ramp isn't usually very linear. >> >>> >>>How do you correct for drift? >> >> It's designed to not drift much. It doesn't. >> >> A delay generator has a lot of tempcos, most of them positive. A >> temperature sensor measurement can bash them all at once, which helps >> a lot. >> >> If there's a fan, it can be servoed to sort of keep the PCB >> temperature constant, which helps a bit too. > >Thanks for the reply. Interesting info. > >I got a Miller Effect ramp to give a fairly linear 20 ns ramp without the >stray inductances that would cause ringing.
I just use an RC and linearize it mathematically. That eliminates a lot of difficulty. Here's a delay generator making 100 ps steps: https://www.dropbox.com/s/kqmnccvy7vrwy0h/100_ps_steps.jpg?raw=1
> >Then I realized my idea to ADC the ramp at the input trigger was hopeless.
If we get a trigger and make that into a ramp (or just lowpass filter it) and digitize that with a clocked ADC, we can calculate the delta-T between the trigger and the local clock. Then we can use that info later, in the delay verniers, to take out the jitter. I've thought about that a lot, but it's not practical... too much processing delay. One of our products controls a lithography laser. What's wonderful is that we fire the laser so we have no asynchronous trigger. We have time stampers too, also on the same clock.
> >A 10-bit ADC would give a resolution of 20e-9/2^10 = 1.953125e-11, or 19.5 >picoseconds. A resolution of 1.2 picoseconds would require a 14-bit ADC, >which is unobtanium at these frequencies. Ramps are a bad idea.
We build time stampers, time-digital converters, which digitize ramps that are triggered by external events, with the ADC clock local to our board. That works fine. That's how we locate tin droplets. A few clocks of pipeline dealy don't usually matter, and decent design will have under 1 LSB RMS jitter. The theoretical limit is clock period over sqrt(12) for some reason. We sell a lot more delay generators than time stampers.
> >I am now working on another approach that will give resolutions and RMS >jitter in the tens of femtoseconds, with an insertion delay of 10 ns or >less. The insertion delay has the same specs as the resolution and is >locked to the same source. I plan on a LAN or USB interface to load the >data, and a fiber optic or SMA input for the trigger. There are no ramps.
That's impressive. Nobody sells a frequency counter with less than about 20 ps RMS jitter. Nothing is much better than a an HP 5370. We have a test set that we use to calibrate delay generators. It has fs resolution but that's only statistical. It's a 1-bit sampler. https://www.dropbox.com/s/qahpb8uh1xr53vj/NB7_Steps.jpg?raw=1
> >Everything is locked to a low jitter, low drift SAW oscillator, which can >be locked to a Rubidium or GPSDO. > >I will probably make one or two, then make everything open source. At my >age and with the loss of one eye and continuing problems from last year's >strokes, I am in no condition to start a company, or even try to get a >patent and sell the idea. I don't even want the hassle of trying to >subcontract the work.
Email me and we'll see if we can help.
> >I also have another idea cooking for a fast, cheap sampler that has the >unusual property of rejecting noise on the input signal. I have already >built it and it works exactly as predicted. I will also make it open >source. It will be very useful for testing the delay generator. > >Here is the ASC file for the Miller ramp. I am unable to get sabercat or >google drive to work, so I have to post the file here. The output ramp is >on Q1C. The ramp will be very drifty. If you don't have a BFR92, you can >use any 5 GHz or higher npn. MOSFETs like the 2N7002 won't work. > >LTspice is valuable for showing when an idea is not even worth trying. > >Version 4 >SHEET 1 2108 800 >WIRE 848 -304 768 -304 >WIRE 944 -304 848 -304 >WIRE 992 -304 944 -304 >WIRE 1008 -304 992 -304 >WIRE 1120 -304 1088 -304 >WIRE 768 -288 768 -304 >WIRE 1120 -288 1120 -304 >WIRE 848 -272 848 -304 >WIRE 992 -224 992 -304 >WIRE 1120 -192 1120 -208 >WIRE 640 -176 608 -176 >WIRE 672 -176 640 -176 >WIRE 768 -176 768 -224 >WIRE 768 -176 752 -176 >WIRE 848 -176 848 -208 >WIRE 848 -176 768 -176 >WIRE 912 -176 848 -176 >WIRE 928 -176 912 -176 >WIRE 608 -160 608 -176 >WIRE 992 -112 992 -128 >WIRE 608 -64 608 -80 >FLAG 912 -176 Q1B >FLAG 992 -112 0 >FLAG 608 -64 0 >FLAG 944 -304 Q1C >FLAG 640 -176 Vin >FLAG 1120 -192 0 >SYMBOL Voltage 608 -176 R0 >WINDOW 123 0 0 Left 2 >WINDOW 39 0 0 Left 2 >SYMATTR InstName V1 >SYMATTR Value PULSE(0 3 0 1n 1n 48n 100n 0) >SYMBOL npn 928 -224 R0 >SYMATTR InstName Q1 >SYMATTR Value BFR92 >SYMBOL res 768 -192 R90 >WINDOW 0 0 56 VBottom 2 >WINDOW 3 32 56 VTop 2 >SYMATTR InstName R1 >SYMATTR Value 50 >SYMBOL cap 752 -288 R0 >SYMATTR InstName C1 >SYMATTR Value 68pf >SYMBOL schottky 832 -208 M180 >WINDOW 0 24 64 Left 2 >WINDOW 3 24 0 Left 2 >SYMATTR InstName D2 >SYMATTR Value BAT54 >SYMBOL voltage 1120 -304 R0 >WINDOW 123 0 0 Left 2 >WINDOW 39 0 0 Left 2 >SYMATTR InstName V2 >SYMATTR Value 10v >SYMBOL res 1104 -320 R90 >WINDOW 0 0 56 VBottom 2 >WINDOW 3 32 56 VTop 2 >SYMATTR InstName R2 >SYMATTR Value 500 >TEXT 728 -440 Left 2 ;'BFR92 Miller Effect Ramp >TEXT 728 -408 Left 2 !.tran 0 27n 0
-- John Larkin Highland Technology, Inc The best designs are necessarily accidental.
On Sat, 24 Apr 2021 10:56:28 -0000 (UTC), Steve Wilson
<spamme@not.com> wrote:

>jlarkin@highlandsniptechnology.com wrote: > >> On Thu, 22 Apr 2021 11:28:21 -0000 (UTC), Steve Wilson <spam@me.com> >> wrote: >> >>>jlarkin@highlandsniptechnology.com wrote: >>> >>>> On Thu, 22 Apr 2021 01:59:52 -0000 (UTC), Steve Wilson <spam@me.com> >>>> wrote: >>> >>>[...] >>> >>>>>You can never achieve the low jitter of a crystal, and using DSP to >>>>>lock to a separate clock will add phase error and jitter. >>>>> >>>>>Most important, you have no way to correct for drift in the >>>>>interpolation ramp. >>>>> >>>>>With two identical ramps, you could continuously corect for any >>>>>drift in the ramps by comparing one ramp with 50 MHz clock, leaving >>>>>the other ramp free for the output pulse. Then swap roles on the >>>>>next 50 MHz clock. >>>>> >>>>>So by adding an ADC and referring everything to a low noise crystal, >>>>>you can reduce the clock drift and jitter, and provide continuous >>>>>calibration of the interpolation ramps. >>>> >>>> Go for it. >>> >>>When do you calibrate the output ramp? >> >> >> At production test. We poke a polynomial into a cal table for each >> vernier ramp. A 20 ns linear ramp isn't usually very linear. >> >>> >>>How do you correct for drift? >> >> It's designed to not drift much. It doesn't. >> >> A delay generator has a lot of tempcos, most of them positive. A >> temperature sensor measurement can bash them all at once, which helps >> a lot. >> >> If there's a fan, it can be servoed to sort of keep the PCB >> temperature constant, which helps a bit too. > >Thanks for the reply. Interesting info. > >I got a Miller Effect ramp to give a fairly linear 20 ns ramp without the >stray inductances that would cause ringing. > >Then I realized my idea to ADC the ramp at the input trigger was hopeless. > >A 10-bit ADC would give a resolution of 20e-9/2^10 = 1.953125e-11, or 19.5 >picoseconds. A resolution of 1.2 picoseconds would require a 14-bit ADC, >which is unobtanium at these frequencies. Ramps are a bad idea. > >I am now working on another approach that will give resolutions and RMS >jitter in the tens of femtoseconds, with an insertion delay of 10 ns or >less. The insertion delay has the same specs as the resolution and is >locked to the same source. I plan on a LAN or USB interface to load the >data, and a fiber optic or SMA input for the trigger. There are no ramps. > >Everything is locked to a low jitter, low drift SAW oscillator, which can >be locked to a Rubidium or GPSDO. > >I will probably make one or two, then make everything open source. At my >age and with the loss of one eye and continuing problems from last year's >strokes, I am in no condition to start a company, or even try to get a >patent and sell the idea. I don't even want the hassle of trying to >subcontract the work. > >I also have another idea cooking for a fast, cheap sampler that has the >unusual property of rejecting noise on the input signal. I have already >built it and it works exactly as predicted. I will also make it open >source. It will be very useful for testing the delay generator. > >Here is the ASC file for the Miller ramp. I am unable to get sabercat or >google drive to work, so I have to post the file here. The output ramp is >on Q1C. The ramp will be very drifty. If you don't have a BFR92, you can >use any 5 GHz or higher npn. MOSFETs like the 2N7002 won't work. > >LTspice is valuable for showing when an idea is not even worth trying. > >Version 4 >SHEET 1 2108 800 >WIRE 848 -304 768 -304 >WIRE 944 -304 848 -304 >WIRE 992 -304 944 -304 >WIRE 1008 -304 992 -304 >WIRE 1120 -304 1088 -304 >WIRE 768 -288 768 -304 >WIRE 1120 -288 1120 -304 >WIRE 848 -272 848 -304 >WIRE 992 -224 992 -304 >WIRE 1120 -192 1120 -208 >WIRE 640 -176 608 -176 >WIRE 672 -176 640 -176 >WIRE 768 -176 768 -224 >WIRE 768 -176 752 -176 >WIRE 848 -176 848 -208 >WIRE 848 -176 768 -176 >WIRE 912 -176 848 -176 >WIRE 928 -176 912 -176 >WIRE 608 -160 608 -176 >WIRE 992 -112 992 -128 >WIRE 608 -64 608 -80 >FLAG 912 -176 Q1B >FLAG 992 -112 0 >FLAG 608 -64 0 >FLAG 944 -304 Q1C >FLAG 640 -176 Vin >FLAG 1120 -192 0 >SYMBOL Voltage 608 -176 R0 >WINDOW 123 0 0 Left 2 >WINDOW 39 0 0 Left 2 >SYMATTR InstName V1 >SYMATTR Value PULSE(0 3 0 1n 1n 48n 100n 0) >SYMBOL npn 928 -224 R0 >SYMATTR InstName Q1 >SYMATTR Value BFR92 >SYMBOL res 768 -192 R90 >WINDOW 0 0 56 VBottom 2 >WINDOW 3 32 56 VTop 2 >SYMATTR InstName R1 >SYMATTR Value 50 >SYMBOL cap 752 -288 R0 >SYMATTR InstName C1 >SYMATTR Value 68pf >SYMBOL schottky 832 -208 M180 >WINDOW 0 24 64 Left 2 >WINDOW 3 24 0 Left 2 >SYMATTR InstName D2 >SYMATTR Value BAT54 >SYMBOL voltage 1120 -304 R0 >WINDOW 123 0 0 Left 2 >WINDOW 39 0 0 Left 2 >SYMATTR InstName V2 >SYMATTR Value 10v >SYMBOL res 1104 -320 R90 >WINDOW 0 0 56 VBottom 2 >WINDOW 3 32 56 VTop 2 >SYMATTR InstName R2 >SYMATTR Value 500 >TEXT 728 -440 Left 2 ;'BFR92 Miller Effect Ramp >TEXT 728 -408 Left 2 !.tran 0 27n 0
Nowadays my fast ramps are just an RC, clamped to ground with a schottky diode or a phemt or something. Open-drain cmos gates have too much personality. Fast current sources are a real pain. Polynomials are cheap in Python. -- John Larkin Highland Technology, Inc The best designs are necessarily accidental.