|
|||
FPGA-Based DPLL Approach Delivers Wide-Lock RangeKurt Aronow and Bela Geczy, Mountain Engineering II While analog phase-lock loops (PLLs) still have a home in communication equipment, there is a clear shift in the sector toward implementing digital PLLs (DPLLs) in comm ASIC designs. For example, in some communication systems, designers need to implement a synchronous serial port without a separate line to an external clock. To make this happen, designers need to implement a DPLL that delivers wide input jitter and wide frequency ranges. Embedding a DPLL in a comm ASIC is a complex venture. DPLLs require a significant amount of registers in an ASIC design, making them tough to implement. Recently, we had to design an all-digital phase lock loop (DPLL) that could accommodate a wide input jitter (+/- 180 degrees) range as well as a wide frequency range (+/-14 percent). The DPLL had to work under conditions when an input pulse only appeared every four clock periods. The design was part of an effort to replace an obsolete read channel integrated circuit in a legacy, 18-track linear tape drive. Since the circuit had to be duplicated 18 times, it needed to occupy as little space as possible in a Xilinx Spartan-IIe FPGA. However, while this design was developed for a tape-drive application, it could equally be applied to a communication system requiring a synchronous serial port. Although many people have developed phase-lock loops (PLLs) for similar purposes, they have tended to be buried in proprietary ASICs. So we didn't find a design similar to what we needed in the literature. Therefore, this article presents a simple, second-order digital circuit implemented on a field programmable gate array (FPGA). DPLL Implementation To achieve the low code and flip-loop counts, we employed several design tricks. The first trick is to add a small delay into the design so that one can predict if an input pulse is actually present. So the phase-detector (an edge detector) only creates an up or down output when there is really an input pulse. The half-cell delay provides a delay that is approximately half of a DPLL output clock cycle. If no input pulse appears during that half-cell delay, the edge detector is not enabled.
Figure 1: Block diagram of DPLL with wide input jitter and frequency range. The second trick is to set up a counter (n_mod_cntr) that rolls over at the approximate number of 50 MHz clock cycles so that the DPLL's output frequency approximately matches its input frequency. This modulus counter responds to errors from the phase detector after they are attenuated with the k_cntr. The k_cntr is an up/down counter (with a modulus of K) that provides carry and borrow outputs. Without the k_cntr's attenuation, the output frequency would be unstable. The third trick is to have a separate, parallel path to adjust for phase differences. The L_cntr is a similar up-down counter to the k_cntr. If the l_cntr asserts the l_carry output, the incrementer/decrementer block removes digital one pulses from a 25 MHz pulse stream (inc_dec). Conversely, if the l_cntr asserts the l_borrow output, the incrementer/decrementer block removes digital one pulses from inc_dec. If inc_dec spends more time at a digital one level, the n_cntr speeds up. If inc_dec spends more time at a digital zero level, the n_cntr slows down. The modulus of the n_cntr is set with the output of the n_mod_cntr (n_mod_cntr/2). The n_cntr is actually enabled only when inc_dec is high. Note that in order to provide approximately a 50-percent output duty cycle, the n_cntr actually divides by n_mod_cntr/2 twice (taking into account the round-off error due to dividing by n_mod_cntr/2 instead of n_mod_cntr). Approximating Response
Gain (s + a) / s2 where: Gain = PD_Gain x Clk / (L x N) Our circuit parameters were: Clk = 50 MHz These values set the open loop zero at 0.02 Hz, and the 0-dB crossover point at 57 kHz. The time required to adjust for a 14-percent speed variation takes approximately 7 μs. Note that with the zero at such a low frequency, this is essentially a first-order loop. However, without the zero provided by the phase adjust, the circuit would tend to have a large dither. Wrap Up About the Authors Bela Geczy is also an engineering consultant at Mountain Engineering II. He can be reached at bela@mountainengineering.com. |
Home | Feedback | Register | Site Map |
All material on this site Copyright © 2017 Design And Reuse S.A. All rights reserved. |