C="This block diagram was created by Klesov Systems Science. (301) 593-6837
DIGITAL PHASE LOCKED LOOP, SIMPLE MODEL
1) Phase locked loops are very easy to model with VisSim.
2) Phase locked loops are very difficult to design. Parameter values are very critical and it is difficult to casually determine them.
3) Model shown here contains
a) INPUTS: 1. Constant Frequency Source, 2. Arbitrary signal
b) Phase Locked Loop
i) Phase Detector - CD4035 followed by very sharp cutoff low pass filter
ii) Loop Filter - one zero/one pole
iii) Digital voltage-controlled oscillator (VCO)
c) Plots of relevent variables
4) You are encouraged to modify model, vary parameters, explore other variations.
5) References for this model include
a) Frequency Synthesizers- 3rd Ed - Vadim Manassewitsch- 1987
b) Phase-Locked Loops - Alain Blanchard- 1976
c) Phase Lock Techniques - 2nd Ed - Floyd M. Gardner - 1979
d) Phase Locked Loop Circuit Design - Dan H. Wolaver - 1991
e) Unpublished Reports on Motor Control Phase Locked Loops by Morris Frayman"
N.17="Compound"*12x13<C>
n="PRESS RIGHT MOUSE BUTTON FOR INFO"
Ms=1567,0,0,1090,0,0
N.18="wireLabel"*60x18<M>
n="Phase Det=Mult & LPF "
N.19="wireLabel"*11x28
n="VCO freq (pps)"
N.20="wireLabel"*5x14<M>
n="Nominal VCO FREQ (pps)"
N.21="wireLabel"*36x44<M>
n="VCO Gain Constant (pps/volt)"
N.22="wireLabel"*139x16<M>
n="VCO output"
N.23="wireLabel"*130x63<M>
n="VCO Frequency output"
N.24="wireLabel"*6x67<M>
n="Command Voltage"
N.25="comment"*2x2*65x9
C="This block diagram simulates a digital phase-locked loop.
Select from several inputs. (1) Constant (2) Arbitrary Input
Arbitrary input can be adjusted.
Note how well digital loop tracks input signal."
N.26="wireLabel"*112x34<M>
n="wo in pps"
N.27="Compound"*85x46#1,1<MC>
n="PulseGen"
Ms=1567,0,0,1090,0,0
N.28="quantize"(1)*80x42<M>
N.29="summingJunction"*96x39<M>
N.30="crossDetect"(0.5)*118x39<M>
N.31="abs"*60x39<M>
N.32="comment"*18x2*77x10<M>
C="Acts as pulse generator that produces pulses every time input signal increases by 1 unit. Based on earlier Digital angle encoder.
Klesov Systems Science ...MzF 1992"
N.33="wireLabel"*71x47<M>
n="Set to 2x slit spacing"
N.34="wireLabel"*114x33<M>
n="Set level to slit spacing"
N.35="gain"(0.5)*30x39<M>
N.36="Compound"*17x40#2,2<MC>
n="PD4035"
Ms=1567,0,0,1090,0,0
N.37="or"*42x33<M>
N.38="summingJunction"*37x54<M>
N.39="sampleHold"(0)*62x26<M>
N.40="summingJunction"*56x49<MR>
N.41="limit"(0,3)*83x28<M>
N.42=">"*125x21<M>
N.43="const"(1.5)*112x23<M>
N.44="unitDelay"(0)*77x47<MR>
N.45="wireLabel"*2x14<M>
n="Reference Pulses"
N.46="wireLabel"*3x64<M>
n="Return Pulses"
N.47="wireLabel"*94x30<M>
n="state#"
N.48="wireLabel"*142x25<M>
n="PFD output"
N.49="wireLabel"*134x58<M>
n="PFD state# output"
N.50="comment"*34x0*69x17<M>
C="KLESOV SYSTEMS SCIENCE (301) 593-6837
Phase/Frequency Detector based on CD4035 chip
Limiter determines number of register stages: set min=0, max= #stages
Constant to \">\" Block determines register used for output.
"
N.51="wireLabel"*108x16<M>
n="selects output register"
N.52="summingJunction"*147x29<M>
N.53="const"(-0.5)*133x32<M>
N.54="comment"*39x1*68x18<M>
C="KLESOV SYSTEMS SCIENCE: 1992
5 POLE Low pass filter consisting of a two pole filter followed by a three pole low pass filter.
Cutoff at about 70Hz = 435rps"
N.55="const"(100)*93x35<M>
N.56="wireLabel"*22x36<M>
n="Kpd"
N.57="Compound"*110x37#2,2<MC>
n="Digital VCO"
Ms=1567,0,0,1090,0,0
N.58="wireLabel"*138x57<M>
n="OUTPUT PULSES"
N.59="wireLabel"*139x22<M>
n="Command Voltage"
N.60="variable"*37x40<M>
n="PDOUT"
N.61="variable"*29x43
n="PDOUT"
N.62="Compound"*6x38#0,1<C>
n="ArbitraryInput"
Ms=1567,0,0,1090,0,0
N.63="sinusoid"(0,1,2)*68x30<M>
N.64="summingJunction"*100x30#9,1<M>
N.65="sinusoid"(0.2,1.7,1.3)*65x33<M>
N.66="sinusoid"(0.3,3.6,0.89)*62x36<M>
N.67="sinusoid"(0.1,15.8,0.5)*60x39<M>
N.68="sinusoid"(0.1,21.5,2.1)*62x42<M>
N.69="sinusoid"(0,7,0.9)*66x44<M>
N.70="sinusoid"(0.1,16,3.1)*69x47<M>
N.71="sinusoid"(0.4,4.5,0.5)*71x50<M>
N.72="const"(45)*83x53<M>
N.73="gain"(4.5)*145x42<M>
N.74="comment"*25x4*86x23<M>
C="KLESOV SYSTEMS SCIENCE: 1992
Create arbitrary input by selecting amplitude, frequency, and phase of the sinusoids. Can also add other VisSim sources to make signal as complex as desired.
Select \"DC level\" constant so that it is close to nominal frequency of VCO."
N.75="wireLabel"*70x57<M>
n="\"DC level\" constant"
N.76="integrator"(0,0)*28x32<R>
N.77="Compound"*8x32#1,1<CR>
n="PulseGen"
Ms=694,0,0,350,0,0
N.78="quantize"(1)*80x47<M>
N.79="summingJunction"*96x39<M>
N.80="crossDetect"(0.5)*118x39<M>
N.81="abs"*61x39<M>
N.82="comment"*18x2*133x26<M>
C="Acts as digital angle encoder that produces pulses every time a \"slit\" is crossed. Set resolution of quantizer to spacing of two slits; set crossDetect to spacing of one slit...
Klesov Systems Science ...MzF ...1/29/92
Factor selected according to lines per encoder disc. Factor=Lines/(4*Pi) when quantizer set to 1 and crossDetect set to 0.5"