that PLL again

I decided, interlaced with cooking and serving three sessions of turkey dinner, to simulate the 155.52 MHz PLL, the one that uses a 10 MHz reference and a d-flop bang-bang phase detector. The LT Spice thing is below, and here's a typical run:

formatting link

The advantage to posting the screen shot is the insane Spice runtimes: it takes about 10 minutes to do 2 ms of sim, and that's with a 50 ps time step. At 1 ps step, it would take all day.

It behaves like you'd expect: the VCO input starts off railed, reflecting the random startup phase error between the 10 MHz and

155.52 MHz clocks. The 155 creeps in phase until the edges cross, then it goes into bang-bang mode, alternating early:late at 80 KHz. So the VCO frequency jumps up:down at 40 KHz.

The jitter is easy to calculate: the VCO input is updated every 12.5 us, so the sampled 155 MHz edge runs Xppm*12.5 us fast/slow where X is how many PPM the VCO input is wiggling. 1 ps is 80 PPB of 12.5 us. I figure that, for a 1 volt normalized VCO input with +-60 PPM pull range, I'll need a bit under 2 mV p-p bang-bang voltage swing at the VCO node. Of course, that suggests that I'll need some clever strategy to find lock and stay there.

Of course, this sim is noiseless, and adding jitter in the oscillators and logic makes it a bit more complex. Specifying the required phase noise of the VCXO is interesting; the VCXO could cost $15, or it could cost $600.

So, Spice simulation of a serious PLL is not terribly useful. But it does enforce a lot of waiting and thinking, which is useful.

Version 4 SHEET 1 1660 728 WIRE 976 -384 928 -384 WIRE 1024 -384 976 -384 WIRE 128 -352 80 -352 WIRE 192 -352 128 -352 WIRE 352 -352 272 -352 WIRE 416 -352 352 -352 WIRE 480 -352 416 -352 WIRE 928 -336 928 -384 WIRE 928 -336 880 -336 WIRE 1152 -336 928 -336 WIRE 1280 -336 1216 -336 WIRE 1328 -336 1280 -336 WIRE 1472 -336 1408 -336 WIRE 1536 -336 1472 -336 WIRE 1568 -336 1536 -336 WIRE 672 -320 624 -320 WIRE 816 -320 752 -320 WIRE 352 -304 352 -352 WIRE 1088 -304 1056 -304 WIRE 1152 -304 1088 -304 WIRE 1056 -272 1056 -304 WIRE 1472 -272 1472 -336 WIRE 352 -176 352 -224 WIRE 1056 -160 1056 -192 WIRE 1472 -160 1472 -208 WIRE -224 -128 -304 -128 WIRE -176 -128 -224 -128 WIRE 352 -48 352 -96 WIRE 144 48 64 48 WIRE 192 48 144 48 WIRE -304 80 -304 -128 WIRE -160 80 -304 80 WIRE 592 128 528 128 WIRE 672 128 592 128 WIRE 928 128 832 128 WIRE 1008 128 928 128 WIRE 1264 128 1168 128 WIRE 1312 128 1264 128 WIRE -304 160 -304 80 WIRE 512 176 464 176 WIRE 672 176 512 176 WIRE 1008 176 944 176 WIRE -304 304 -304 240 WIRE 672 320 624 320 WIRE 944 320 944 176 WIRE 944 320 672 320 FLAG -304 304 0 FLAG -224 -128 10_MHz FLAG 144 48 80_KHz FLAG 512 176 10_MHz FLAG 928 128 BB FLAG 1264 128 BB80 FLAG 672 320 80_KHz FLAG 352 -48 0 FLAG 128 -352 BB80 FLAG 976 -384 155_MHz FLAG 592 128 155_MHz FLAG 1056 -160 0 FLAG 1536 -336 LOCK FLAG 1472 -160 0 FLAG 416 -352 VCO FLAG 1280 -336 XOR FLAG 1088 -304 REF SYMBOL Digital\\counter -80 48 R0 WINDOW 3 0 0 Invisible 2 WINDOW 0 17 -93 Left 2 SYMATTR Value cycles=125 SYMATTR InstName A1 SYMATTR Value2 vhigh=1 SYMBOL voltage 352 -192 R0 WINDOW 0 -105 53 Left 2 WINDOW 3 -107 83 Left 2 WINDOW 123 0 0 Left 2 WINDOW 39 0 0 Left 2 SYMATTR InstName V1 SYMATTR Value 0.5 SYMBOL Digital\\dflop 752 80 R0 WINDOW 0 -15 -83 Left 2 SYMATTR InstName A2 SYMATTR Value2 vhigh=1 SYMBOL SpecialFunctions\\modulate 480 -352 R0 WINDOW 0 48 -99 Left 2 WINDOW 3 -80 138 Left 2 SYMATTR InstName A5 SYMATTR Value mark=155.51e6 space=155.53e6 SYMBOL Digital\\dflop 1088 80 R0 WINDOW 0 -21 -82 Left 2 SYMATTR InstName A3 SYMATTR Value2 vhigh=1 SYMBOL res 336 -320 R0 WINDOW 0 -93 34 Left 2 WINDOW 3 -97 65 Left 2 SYMATTR InstName R1 SYMATTR Value 100 SYMBOL res 288 -368 R90 WINDOW 0 -53 51 VBottom 2 WINDOW 3 -46 55 VTop 2 SYMATTR InstName R2 SYMATTR Value 1K SYMBOL Digital\\buf 816 -384 R0 WINDOW 0 6 -2 Left 2 SYMATTR InstName A6 SYMATTR Value2 vhigh=1 SYMBOL voltage 768 -320 R90 WINDOW 0 -87 58 VBottom 2 WINDOW 3 -78 59 VTop 2 SYMATTR InstName V2 SYMATTR Value 0.5 SYMBOL Digital\\xor 1200 -384 R0 WINDOW 0 -35 -4 Left 2 SYMATTR InstName A4 SYMBOL voltage 1056 -288 R0 WINDOW 0 -66 110 Left 2 WINDOW 3 -256 181 Left 2 WINDOW 123 0 0 Left 2 WINDOW 39 0 0 Left 2 SYMATTR InstName V3 SYMATTR Value PULSE(0 0.9 1.5n 100p 100p 3.215n 6.43004n) SYMBOL res 1424 -352 R90 WINDOW 0 -53 54 VBottom 2 WINDOW 3 -45 57 VTop 2 SYMATTR InstName R3 SYMATTR Value 1K SYMBOL cap 1456 -272 R0 WINDOW 0 -73 16 Left 2 WINDOW 3 -70 51 Left 2 SYMATTR InstName C2 SYMATTR Value 1n SYMBOL voltage -304 144 R0 WINDOW 0 95 108 Left 2 WINDOW 3 39 147 Left 2 WINDOW 123 0 0 Left 2 WINDOW 39 0 0 Left 2 SYMATTR InstName V4 SYMATTR Value PULSE(0 1 0 0 0 10n 100n 1e9) TEXT -272 -296 Left 2 !.tran 0 1m 0 50p TEXT 512 -416 Left 2 ;VCXO TEXT 680 40 Left 2 ;Bang-Bang PD TEXT 1008 40 Left 2 ;80 KHz sampler TEXT 160 -216 Left 2 ;PLL Gain Set TEXT -288 -400 Left 3 ;155.52 MHz PLL TEXT -288 -352 Left 2 ;J Larkin Nov 28, 2014 TEXT -88 16 Left 2 ;DIV 125 TEXT -248 216 Left 2 ;10 MHz GPS INPUT

--

John Larkin         Highland Technology, Inc 
picosecond timing   laser drivers and controllers 

jlarkin att highlandtechnology dott com 
http://www.highlandtechnology.com
Reply to
John Larkin
Loading thread data ...

Sadly, it hasn't got him thinking hard enough to dump the bang-bang detecto r.

If he simulated a phase detector with a linear output to phase relationship , he could get phase up-dates at 10MHz. With a fractional-n divider, they'd be noisy - the sense of having predictable and consistent offsets, which y ou'd have to filter out, but the phase delay through an ECL fractional-n di vider (realised with synchronous counters - which is obvious enough, but Jo hn Larkin does get bees in his bonnet) is small and predictable.

With a DDS divider (from 155.5.2MHz to 10MHz) the offsets would be much sma ller. You could turn the normal stair-case approximation to the desired sin e-wave into a straight-line-segment approximation (because you are working at a fixed frequency) so they could really be very small. The down-side of the DDS is that the propagation delays through the DDS hardware are likely to be bigger than through a fractional-N divider.

Lasse came up with an even better version, but it too was NIH.

--
Bill Sloman, Sydney
Reply to
Bill Sloman

[snip]

I made two quarts of Pumpkin Gelato while my simulations were running... delicious ;-) ...Jim Thompson

-- | James E.Thompson | mens | | Analog Innovations | et | | Analog/Mixed-Signal ASIC's and Discrete Systems | manus | | San Tan Valley, AZ 85142 Skype: skypeanalog | | | Voice:(480)460-2350 Fax: Available upon request | Brass Rat | | E-mail Icon at

formatting link
| 1962 | I love to cook with wine. Sometimes I even put it in the food.

Reply to
Jim Thompson

I rank pumpkin right up there with cilantro and quinoa and Brussels Sprouts. Not fit for human consumption.

I did make a nice Shrimp Remoulade wrap thing appetizer, which, with some Presecco, kept the mobs amused and out of the way while I'm setting up the main course. Like throwing a cow into the river to distract the piranhas. Mo, hobbling around with the busted knee, isn't as much help as usual.

It's amazing how people will suck down shrimp and Prosecco. A pound and a half of shrimp and a bottle of fizzy disappeared in a few minutes.

We bought the main deal, pre-cooked turkey and potatoes and gravy and stuff, from Whole Foods. Pop the stuff in the oven to finish it off, and eat. I just hopped downstairs now and then to kick off another Spice run.

Where's the LT Spice version that runs on a few Nvidia cards? 500x faster would be nice.

--

John Larkin         Highland Technology, Inc 
picosecond timing   laser drivers and controllers 

jlarkin att highlandtechnology dott com 
http://www.highlandtechnology.com
Reply to
John Larkin

I'm curious. Now that you have run this simulation, what do you know that you didn't know before, or that you couldn't have calculated in 15 seconds? Seems to me that all the tough issues with this approach are very hard to simulate... although I guess there is one useful result. This simulation can show the phase jitter which will result from the long update period.

--

Rick
Reply to
rickman

I like Brussels sprouts and cilantro as a seasoning.

Sounds good! Did you wrap them in Pancetta?

Use the "alternate solver" (PSpice has one as well, solves the nasties quite nicely). ...Jim Thompson

--
| James E.Thompson                                 |    mens     | 
| Analog Innovations                               |     et      | 
| Analog/Mixed-Signal ASIC's and Discrete Systems  |    manus    | 
| San Tan Valley, AZ 85142     Skype: skypeanalog  |             | 
| Voice:(480)460-2350  Fax: Available upon request |  Brass Rat  | 
| E-mail Icon at http://www.analog-innovations.com |    1962     | 
              
I love to cook with wine.     Sometimes I even put it in the food.
Reply to
Jim Thompson

A long up-date period that is only required if you go for a non-linear (bang-bang) phase detector.

--
Bill Sloman, Sydney
Reply to
Bill Sloman

I love Brussels Sprouts. Pumpkin, not so much. Ate only one plate yesterday in order to keep the weight off and then did a 32mi bike ride this afternoon. The excuse was that I had to pick up conductive paint at Radio Shack. And the IRS won't allow logging the bicycle miles. Hurumph.

Hopefully nothing longterm will remain. Knee pain can be bad.

Are you sure about the 500x? I've read similar claims here and there but even PSpice isn't available for graphics chip execution AFAIK. I'd imagine they would definitely jump on it.

Today I ordered a Dell XPS 8700 with an i7 processor and a NVidia 720 in there. I don't really need that graphics card but it comes with it.

--
Regards, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

I'm down 30# from a year ago... and you ?>:-} ...Jim Thompson

--
| James E.Thompson                                 |    mens     | 
| Analog Innovations                               |     et      | 
| Analog/Mixed-Signal ASIC's and Discrete Systems  |    manus    | 
| San Tan Valley, AZ 85142     Skype: skypeanalog  |             | 
| Voice:(480)460-2350  Fax: Available upon request |  Brass Rat  | 
| E-mail Icon at http://www.analog-innovations.com |    1962     | 
              
I love to cook with wine.     Sometimes I even put it in the food.
Reply to
Jim Thompson

Hardware speedup for spice is the next big thing for 35 years now. Much like fusion. Remember those Weitek floating point array processors for X86, NS32032 and VAX?

The problem with JLs simulation is that there are vastly different time constants. The phase comparator requires ps steps and the regulator takes a lot of simulated time. LTspice has provisions to fight that in the context of switchers. Probably it dissects the circuit in several parts that run differently fast. Maybe one could abuse that.

I have a Precision laptop since 2 years with the idea to execute CUDA code on the graphic cores for SDR. Another thing that never happened. :-(

regards, Gerhard

Reply to
Gerhard Hoffmann

No. I peel the shrimp (small white ones, preferably Gulf shrimp) and boil them medium-rare in Zatarains. In a big bowl, put a smaller bowl of shrimp. Arrange slabs of romaine lettuce around the outside. A yet smaller bowl in the center of the shrimp pile is full of Arnaud's Remoulade sauce and a small spoon. Grab a spear of lattuce, add a couple shrimp, dab with sauce, roll and eat.

I should take a picture.

The problem with this PLL is the time scale: several milliseconds at 1 ps time step is a lot of computing. I guess I'll have to go back to using math. Or, more reasonably, breadboarding.

--

John Larkin         Highland Technology, Inc 
picosecond timing   laser drivers and controllers 

jlarkin att highlandtechnology dott com 
http://www.highlandtechnology.com
Reply to
John Larkin

Just a cracked patella and bruises. She'll be fine in a few months.

It seems like a natural to run some Spice on a GPU. I might even pay for it.

--

John Larkin         Highland Technology, Inc 
picosecond timing   laser drivers and controllers 

jlarkin att highlandtechnology dott com 
http://www.highlandtechnology.com
Reply to
John Larkin

Cheers

Reply to
Martin Riddle

The 720 is a good 2D card, You want good 2D performance. It's not so good for 3D, which is ok for your application. You'd be surprised how a good 2D card makes windows smoother and snappier.

Cheers

Reply to
Martin Riddle

?????

?????

I am somewhat surprized that you consider 10 min is an "insane" run time.

I am routinely running PN on non behavioural schematics that might take hours, or even days.

Kevin Aylward

formatting link
formatting link
- SuperSpice

Reply to
Kevin Aylward

On a sunny day (Fri, 28 Nov 2014 15:28:12 -0800) it happened John Larkin wrote in :

Not that it may help you, but my ebay ADF4350 development board arrived.

formatting link

The USB soft from Analog Devices does not run in my version of Linux wine..

So I removed the jumpers and am now (well last night) writing the SPI soft, that I will try via the parport of the PC.

It may be of interest to you to read the ADF4350 datasheet, as it mentions several tricks, and also the same chip development board. As you have XP (I burned mine) you should have no problem trying nice PLL things with this board via USB.

On the side, Analog Devices has released a kernel module SPI driver for this chip, for those embedded systems that run Linux and have SPI out (Raspberry hello?)

So, I am studying that code, and writing my own it seems. :-) For me it is just to see if it is more stable for my 2.4 GHz ATV transmitter than what I have now.

Reply to
Jan Panteltje

Am 29.11.2014 um 03:40 schrieb John Larkin:

BTW I had problems with the frequency resolution of LTspice some years ago when I simulated the loop gain of a high-Q 100 MHz crystal oscillator. A 10 Hz sweep etc had jumps etc. That might affect your VCXO model.Now with 64 bits it's maybe gone. I switched to Serenade and/or Genesys.

regards, Gerhard

Reply to
Gerhard Hoffmann

I analyze XOs in the frequency domain, to get the gain/phase slopes right. Time-domain analysis of high-Q systems is massively time consuming (multi-gigabyte .RAW files) and not very useful.

--

John Larkin         Highland Technology, Inc 
picosecond timing   laser drivers and controllers 

jlarkin att highlandtechnology dott com 
http://www.highlandtechnology.com
Reply to
John Larkin

That's at 50 ps time steps; 500 fs might be useful to seriously analyze this loop for noise and jitter. It's hard to iterate ideas with days-long run times, and I might run out of hard drive to store the files.

You could iterate a design for the rest of your life!

--

John Larkin         Highland Technology, Inc 
picosecond timing   laser drivers and controllers 

jlarkin att highlandtechnology dott com 
http://www.highlandtechnology.com
Reply to
John Larkin

Am 29.11.2014 um 11:38 schrieb John Larkin:

That _was_ in frequency domain as in "10 Hz sweep" and exactly for that reason. One wants to maximize dPhase/df at the frequency where the phase goes through 0.

:-) Gerhard

Reply to
Gerhard Hoffmann

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.