Delay locked loops (DLLs) may be used in various data transmission applications to generate a retimed data signal from a transmitted serial data stream and a serial clock signal. Data recovery problems are often associated with DLLs, however, primarily due to phase signals not being generated linearly over a wide range of input frequencies. Other problems may include: i) retiming of the serial data stream when clock and data skew is undetermined; ii) the complexity of the phase interpolator block of the DLL; iii) the DLL bandwidth not being low enough; and iv) operating the DLL at high-speed serial data rates.
A delay locked loop includes a triangle wave generator circuit coupled to a serial clock signal for generating a triangular wave signal. A phase interpolator coupled to the triangular wave signal and a weighting signal generates an interpolated clock phase signal, and a phase detector receives serial data and the interpolated clock phase signal and generates a retimed serial data signal.
In the example sub-sampled DLL shown in
The phase interpolator 20 provides the interpolated clock phase signal 38 to the phase detector 12, which also receives the input serial data stream 26. In a preferred implementation, the serial data stream may be digitally encoded video data such as HDMI or DVI encoded picture and control information. The phase detector then generates the retimed serial data 28 in response to these two inputs, and also generates an up/down phase control signal 30 which indicates the direction of phase skew between the interpolated clock phase signal 38 and the input serial data signal 26. This signal 30 is sampled 14, integrated 16 and decoded 18 in order to control the phase interpolator 20 so that the interpolated clock phase signal 38 is exactly in phase with the input serial data signal 26.
Generating the interpolated clock phase signal 38 begins with the I/Q serial clock signals 42, which are provided to the triangular wave generator 22. The preshaper 22 shapes the in-phase and quadrature serial clocks 42 into triangular waveforms in response to a preshaper control signal that ensures a relatively constant swing of the triangular waveforms 44. The preshaper control block 22 controls the slew rate of the triangular waveforms 44 based on the frequency information of a pixel clock 40 (in the example of a video implementation) to ensure a relatively constant swing and non-clipped waveform output of the preshaper 22. The slew rate is proportional to the frequency so that the swing is constant. In an alternate embodiment, an AGC (Auto Gain Control) circuit may be employed to ensure a constant swing across different frequencies.
The phase detector 12, sub-sampler 14, digital loop integrator 16, decoder 18 and the phase interpolator 20 form the delay locked loop. The digital-weighted phase interpolator 20 interpolates the I/Q triangular waves 44 produced by the pre-shaper 22 based on the weighting information coming for the thermometer decoder 18. Thermometer-coded weighting information is used to eliminate spurs when changing phases. The phase detector compares the phase of the serial data 26 and the interpolated clock phase signal 38 and splits out the retimed data signal 28 and the up/down phase control signal 30. Subsequently, the up/down phase control signal 30 is sub-sampled in the sub-sampler 14 and then integrated in the digital loop integrator 16. This results in a binary coded integration signal 34, which is converted into the thermometer-coded signal 36 by the decoder 18. Based on the updated thermometer code 36, the phase interpolator then generates the next interpolated clock phase 38 and the entire looping process continues.
The example DLL shown in
The example implementation herein is portable to other technologies and can work with a wide range of data rates. Power consumption and area requirements are reduced over known DLLs. The phase obtained using this implementation is accurate with respect to the serial data. In addition, small phase steps, of down to a few percent of the serial data period, can be achieved. Moreover, the sub-sampling rate, loop bandwidth and swing of the triangular waveforms 44 may be programmable.
The steps and the order of the steps in the methods and flowcharts described herein may be altered, modified and/or augmented and still achieve the desired outcome. Additionally, the methods, flow diagrams and structure block diagrams described herein may be implemented in the example processing devices described herein by program code comprising program instructions that are executable by the device processing subsystem. Other implementations may also be used, however, such as firmware or even appropriately designed hardware configured to carry out the methods or implement the structure block diagrams described herein. Additionally, the method and structure block diagrams that describe particular methods and/or corresponding acts in support of steps and corresponding functions in support of disclosed software structures may also be implemented in software stored in a computer readable medium and equivalents thereof. The software structures may comprise source code, object code, machine code, or any other persistently or temporarily stored code that is operable to cause one or more processing systems to perform the methods described herein or realize the structures described herein.
This written description sets forth the best mode of the invention and provides examples to describe the invention and to enable a person of ordinary skill in the art to make and use the invention. This written description does not limit the invention to the precise terms set forth. Thus, while the invention has been described in detail with reference to the examples set forth above, those of ordinary skill in the art-may effect alterations, modifications and variations to the examples without departing from the scope of the invention.
This application claims priority to U.S. Provisional Application Ser. No. 60/755,944, filed on Jan. 3, 2006, titled “Sub-Sampled Digital Programmable Delay Locked Loop with Triangular Waveform Preshaper.” The entirety of this prior application is hereby incorporated into this patent application by reference.
Number | Date | Country | |
---|---|---|---|
60755944 | Jan 2006 | US |