design and evaluate simple pll model -凯发k8网页登录
this example shows how to design a simple phase-locked loop (pll) using a reference architecture and validate it using pll testbench.
a pll is a frequency synthesizer system that produces an output signal whose phase depends on the phase of its input signal. in the simplest form, a pll consists of a phase/frequency detector (pfd), charge pump, loop filter, voltage controlled oscillator (vco), and a clock divider in a feedback loop. the pfd and charge pump together produce an error signal proportional to the phase difference of its two input signals. the loop filter removes the higher-frequency components of the error signal, which drives the vco. the output of the vco is fed through a clock divider to the input of the pfd, producing a negative feedback loop.
mixed-signal blockset™ provides reference architectures to design a simple pll model and testbenches to verify that the designed model meets the design specifications.
set up pll testbench model
open the model simplepll
attached to this example as a supporting file. the model consists of an integer n pll with single modulus prescaler block and a pll testbench block.
open_system('simplepll.slx')
pll specifications and impairment
use the data sheet of to design the pll system to lock at 2.8 ghz.
double-click the integer n pll with single modulus prescaler block to open the block parameters dialog box and verify these settings:
check that the impairments are disabled in the pfd and charge pump tabs.
in the charge pump tab, the output current is set to
2.7
ma. the deadband compensation and input threshold parameters are kept at default values.
in the vco tab, the vco sensitivity is set to
20
mhz/v. the free running frequency is slightly lower than the target lock frequency and is set to2.78
ghz. the phase noise frequency offset is set to[100e3 1e6 3e6 10e6]
hz and the phase noise level (dbc/hz) is set to[−108 −134 −145 −154]
dbc/hz.
considering the reference input frequency to the pll is
1.6
mhz, the clock divider value and the min clock divider value in the prescaler tab is set to .
in the loop filter tab, the loop bandwidth is set to
160
khz, 1/10th of the reference input frequency. the phase margin is kept at default 45 degrees. filter component values are calculated automatically.
in the analysis tab, both open loop analysis and closed loop analysis plots are selected.
plot presimulation pll loop dynamics
click the plot loop dynamics button to view the presimulation results and aseess the stability of the system.
the closed loop analysis consists of the pole-zero map, magnitude response, step response, and impulse response. the 3-db bandwidth of the system is 288.51
khz. the system is stable.
the open loop analysis consists of bode plots of the pll system. the phase margin is 44.1
degrees and the unity gain frequency is 159.9
khz.
modify pll testbench for phase noise measurement
double-click the pll testbench to open the block parameters dialog box and verify these settings:
in the stimulus tab, the input signal to the pll is defined as a square wave of
1.6
mhz.
in the setup tab, check that the phase noise measurement option is selected. frequency of operation and lock time measurement options are deselected. set the resolution bandwidth to
50
khz, no. of spectral averages to4
, hold off time to1.5e-5
s, and phase noise frequency offset to[100e3 1e6 3e6 10e6]
hz.
in the target metrics tab, set the phase noise (dbc/hz) to
[−108 −134 −145 −154]
, the same as the pll phase noise profile.
plot pll phase noise profile
run the simulation for 1.35e-4
s. the simulation results are displayed on the icon of the pll testbench. the measured phase noise levels at specific frequency offsets are consistent with their target values.
double-click the pll testbench block to open the block parameters dialog box. click the plot phase noise profile button. the pll operating frequency is 2.8
ghz, and the measured phase noise profile matches the target profile.
reference
1.
see also
|