This application claims priority from Italian patent application No. MI2005A 000138, filed Jan. 31, 2005, which is incorporated herein by reference.
Embodiments of the present invention relate generally to a fully digital, very short lock time Frequency Locked Loop (FLL)/Phase Locked Loop (PLL) method and system. More particularly, embodiments of the present invention relate to a system for clock synthesis or data timing recovery able to multiply the input frequency clock by an arbitrarily large factor thus providing a high frequency output clock, N times faster than a given reference clock.
As is well known in this specific technical field, a Phase Locked Loop (PLL), as generally shown at 1 in
With the phase locked loop (PLL) 1 locked to a periodic input signal at a frequency Fref, the frequency Fvco of the voltage controlled oscillator VCO 5 is equal to that of the input signal multiplied by a division ratio N of the frequency divider 4.
The phase comparator 2 generates a signal which is proportional to the phase difference between the input signal and the output signal of the frequency divider. This signal modifies, through the filter 3, the control voltage of the voltage controlled oscillator VCO 5, and consequently its frequency Fvco as well, thereby bringing the output frequency Fdiv of the frequency divider 4 to the same value as the input frequency Fref.
The characteristic parameters according to which a phase locked loop (PLL) 1 is evaluated are the following:
The frequency accuracy of the voltage controlled oscillator VCO 5 is dependent on the frequency accuracy of the input signal and the accuracy of the phase comparator 2.
A PLL has two main behaviors: in tracking mode the PLL has already locked on to the signal; what the PLL does to keep itself aligned with the incoming signal in light of frequency and phase disturbance in this modality.
On the contrary, in acquisition mode the PLL is either out of clock or in start up phase. This phase is difficult to analyze and understand but the good performance of a system is also based on the time spent to get all parameters to lock the PLL, the rapidity of the convergence.
Up to now the prior systems for clock synthesis or data timing recovery don't provide any solution for completely skipping the transient time that is needed for the locking of the system. More particularly, all prior art solutions present a drawback due to the presence of analogous components requiring a predetermined time to get all parameters for locking the PLL.
One embodiment of the present invention is a system for clock synthesis or data timing recovery based on fully digital components operating in the discrete time domain and able to multiply the input frequency clock by an arbitrarily large factor without using an analog, continuous time oscillator, thus completely skipping the transient time for the locking of the system. According to this embodiment, all the building blocks of this Frequency Locked Loop/Phase Locked Loop belong to the digital discrete time domain.
Another embodiment of the present invention is based on the remarkable finding that its strong non-linear behavior, due to the intrinsic nature of some building blocks, is responsible for some unusual, attractive properties of the complete system.
In other words, one embodiment of the present invention is able to multiply the input frequency clock by an arbitrarily large factor, ensuring in any case the convergence of the algorithm in two reference clock cycles.
Further features and advantages of methods and systems according to embodiments of the present invention will be more apparent from the following description of an embodiment thereof given by way of non-limiting example with reference to the attached drawings.
In the drawings:
The following discussion is presented to enable a person skilled in the art to make and use the invention. Various modifications to the embodiments will be readily apparent to those skilled in the art, and the generic principles herein may be applied to other embodiments and applications without departing from the spirit and scope of the present invention. Thus, the present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.
With specific reference to the drawings, and particularly with respect to the
Unless explicitly stated in the following, we will refer to the system in the described embodiment of the invention as a frequency locked loop (FLL) system. The PLL implementation is a straightforward extension of such a system.
The task of the FLL system is the generation of a high frequency clock, N times faster than a given reference clock.
Some useful symbol definitions in this context are:
The system 1 includes a Clock Generator that generates the output, high frequency clock, Fout. The frequency of the clock generator is divided by N in a Clock Divider and is measured by a Frequency Measure block. The result of this measure is compared with a Reference Clock wherein a frequency error, Ferr, is evaluated.
This value Ferr is used by a Frequency Control block to generate a control word for the selection of the proper oscillation frequency Fout.
This feedback system evolves converging, after a transient period, to a stable configuration having Ferr=0 and then Fout=N*Fin, the desired result.
The Clock Generator of the present invention has fully digital architecture and it is based on the ring oscillator structure detailed in
The basic building block is a particular Digital Controlled Oscillator (DCO), basically comprising a chain of buffers and an inverting stage. The number of the buffers, and then the delay, in the ring can be changed accordingly to the control word, ‘u’, modulating the oscillation frequency, Fout, as shown in
It is important that a change in the control word does not generate any glitch in the ring oscillator, because that glitch will remain into the ring forever. This is intrinsically ensured by the structure of the particular DCO cell proposed.
It may be safely assumed that each buffer stage has a delay time of ‘a’ sec., while the inverting stage has an intrinsic delay time of ‘b’ sec. The number of active buffers being controlled by the ‘u’ control word, the wave front (for instance a rising clock edge) traveling through the ring will spend b+a*u seconds to complete a round trip. The second half clock cycle (falling clock edge) will last b+a*u seconds as well.
Then the output clock period is:
Tout=2·(b+a·u)
With the positions:
τ=2·a
κ=2·b
the output clock period is:
Tout=τ+κ·u
It is worth pointing out that the period of the output clock is linearly related to the control word. In the following it will be evident that this property plays a fundamental role in the dynamics of the FLL.
The clock divider and the frequency measure blocks shown in
As a first approximation we can state that the measured number of clock pulses, ‘n’ is:
but, due to the fact that only an integer number of clock pulses can be detected, we have the more correct relation:
It is worth pointing out that the measured parameter, ‘n’, is proportional to the output frequency, and then it is a measure of the reciprocal of the output period, Tout. As a result we have a control variable tuning the period of the output clock, while the measurement is performed on the output frequency. This fact generates the non-linear behavior of the system and, as we will see, introduces the 1/x function into the dynamics of the FLL.
Subtracting the target ratio, ‘N’, from the measured ratio, ‘n’, we obtain a measure of the frequency error, Ferr. This quantity feeds the ‘Frequency Control’ block.
ε=n−N
The objective of the frequency control block shown in
The integrator is modeled by the following equation:
uj=uj−1+G·εj−1
where:
According to the previous block descriptions, we can sketch the model of the complete system as shown in
Let us write the system equation for the state variable, u.
The system evolves autonomously according to the previous iterated equation. The state variable can converge to the correct value or can diverge without limit (at least in the math model). It is immediate to calculate the fixed point, u* of this system, imposing the condition ε=0.
Then we can solve it for the equilibrium point:
In order to analyze the stability of the equilibrium point, we can normalize the parameters and apply a translation of coordinates, moving the equilibrium point in the origin.
Let us define:
then we have:
Translating the equilibrium point into the origin:
and substituting it into the system equation, we have:
We will refer to this equation as “the system function”, relating the present state with the next state:
This equation is iterated in time, generating the system evolution.
It is quite interesting to note that the system equation, and then its stability, does not depend on the intrinsic delay time T of the ring oscillator, but it is related only to the variable delay κ, technology dependent, the integrator gain G, the multiplication factor N, and the output frequency Fout.
Due to the control mechanism of the system, there is no algorithmic limit to the multiplication factor, N. The system will converge anyway, selecting the appropriate gain G.
The system function is a hyperbola with an oblique asymptote as sketched in
y=x−λ
Actually the control variable spans only in the positive branch of the hyperbola, so in the following only the upper section of the plot will be sketched.
The system evolves along f(x), iterating the system function, until it reaches the equilibrium point.
Stability analysis is carried out studying the behavior of the system function y=ƒ(x) around the fixed point x=0. The fixed point is a stable equilibrium point
(Banach Fixed Point Theorem); after some simple calculation, we have:
Then the stability condition is easily evaluated:
0<λ·β<2
Mapping the stability condition to the original state variable, the stability condition results:
The behavior of the system function (the upper branch only) with 0<λ·β<1 is shown in
The behavior of the system function (the upper branch only) with λ·β=1 is instead shown in
The behavior of the system function (the upper branch only) with 1<λ·β<2 is shown in
The behavior of the output frequency vs. the integrator gain is shown in
The lock speed of the FLL loop strongly depends on the reference clock, Fin. Indeed the feedback counter updates the error value once per Tin period. Another very critical parameter is the integrator gain. A too small value of G, even if safe from the stability point of view, slows down unacceptably the system. On the other side, a too high value of G can generate some stability problem, especially if the multiplication factor, N, is supposed to be programmable.
Due to the specific characteristic of the DCO, it is possible to identify the proper value of the state variable in two reference clock periods, Tin.
The control variable and the output clock period are linearly related. So, applying two different arbitrary codes, it is possible to set up a linear system in the variables τ and κ.
Solving it for τ and κ (through iterative methods, for instance), we can compute the fixed point state variable
Then, in 2 cycles of the reference clock, it is possible to get all the needed parameters and initialize the proper value of the control word: the transient time is completely skipped.
Even more, it is possible to identify the most appropriate value for the integrator gain:
After that the system can track the input clock frequency through the normal feedback control path.
In any case, if not strictly needed, the solution of the linear system can be avoided. The system converges in any case (selecting an appropriate gain G), to the correct control word.
The previous system has been fully simulated at system level (Matlab), both in floating and in fixed point implementation. Performances and behavior are fully in line with the above disclosure. The VHDL, synthesizable code of the system, for both the control and the DCO part, has been completed and it is fully working.
The implementation of a PLL system is straightforward, using the FLL architecture as a starting point. Another loop for the control of the relative phase of the feedback clock and the reference clock can be easily added, using, for instance, the usual PLL phase comparator.
A FLL or PLL according to embodiments of the present invention can be utilized in a variety of different types of integrated circuits, such as in microprocessors and digital signal processors. Integrated circuits including a FLL or PLL according to an embodiment of the present invention may be contained in a variety of different types of electronic systems, such as computer systems.
From the foregoing it will be appreciated that, although specific embodiments of the invention have been described herein for purposes of illustration, various modifications may be made without deviating from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
MI2005A0138 | Jan 2005 | IT | national |
Number | Name | Date | Kind |
---|---|---|---|
6515553 | Filiol et al. | Feb 2003 | B1 |
6661293 | Paananen | Dec 2003 | B2 |
7170964 | Kocaman et al. | Jan 2007 | B2 |
7177611 | Goldman | Feb 2007 | B2 |
7330079 | Williams et al. | Feb 2008 | B2 |
Number | Date | Country | |
---|---|---|---|
20060203937 A1 | Sep 2006 | US |