Abstract:
A phase error cancellation apparatus captures data bits of a serialized data stream with reduced phase error by aligning a generated clock signal to the data stream. The phase error cancellation apparatus includes a data delay pipe, a clock generator, a clock delay pipe, and a data stream sampling element. The data delay pipe receives the data stream and delays the data bits by a first amount. The clock generator generates a clock signal that the clock delay pipe delays by a second amount. The data stream sampling element receives the delayed data bits and the delayed clock signal, and samples the delayed data bits using the delayed clock signal to recover the data bits from the data stream with reduced phase error.

Description:
FIELD OF THE INVENTION 
     The present invention is directed to a method and apparatus for reducing phase error when recovering bits from a serialized non-return to zero (NRZ) data stream. 
     BACKGROUND OF THE INVENTION 
     Systems that do not transmit a clock signal with the data must manufacture a properly synchronized clock from the data to accurately recover data bits from the incoming data stream. Accurate data recovery requires clock generation circuitry in these systems to have low jitter and low phase error relative to the data stream. Phase error greater than 0.5 unit intervals (U.I.), or 500 ps for a 1 Gbps system, causes erroneous data recovery. 
     Two conventional systems attempt to combat the phase error problem. Ewen et al., &#34;Single-Chip 1062 Mbaud CMOS Transceiver for Serial Data Communication,&#34; 1995 International Solid-State Circuits Conference, Digest of Technical Papers, pp. 32-33, describes one system, and Yang et al., &#34;A 0.8 um CMOS 2.5 Gb/s Oversampled Receiver for Serial Links,&#34; 1996 International Solid State Circuits Conference, Digest of Technical Papers, pp. 200-201, describes the other. 
     The first conventional system uses a clock recovery circuit to obtain low phase error. A phase or phase/frequency locked loop determines the underlying clock period in the incoming data stream, and through careful design of the loop&#39;s frequency transfer function controls the phase error. Limits in the loop&#39;s frequency transfer function due to instability concerns, however, hamper the first system&#39;s success in completely eliminating the phase error. 
     The second conventional system uses a clock generation circuit to obtain low phase error. The clock generation circuit uses a local clock, close in frequency to a harmonic of the incoming data&#39;s frequency, to generate a clock signal. Because the local clock is not synchronous to the incoming data, the second system oversamples (typically by 3×) the data, and a decision circuit chooses the appropriate sample. 
     The second system tries to control phase error through the decision circuit&#39;s tracking of phase shifts between the local clock and the data stream. Because the decision circuit can only choose from among available samples, and the actual correct sampling point may lie between two of the samples taken, this system suffers severe limitations. For 3× oversampling, this possibly introduces up to 0.16 U.I. of phase error, a value that requires higher sampling rates to reduce. Higher sampling rates may not be feasible, however, due to area, power, and bandwidth concerns. Additionally, the digital phase tracking mechanism has a low bandwidth, thus causing situations where the phase error may be greater than 0.5 U.I. 
     In both of the conventional systems described above, the phase error remains large enough to be a significant component of the overall data bit recovery error rate due to the systems&#39; inability to sufficiently align the generated clock to the data stream. Therefore, a need exists to reduce this phase error. 
     SUMMARY OF THE INVENTION 
     Systems and methods consistent with the principles of the present invention cancel more of the remaining phase error and accurately recover the data bits by aligning the generated clock to the data stream. 
     In accordance with the purpose of the invention as embodied and broadly described herein, the present invention includes a phase error cancellation apparatus that captures data bits of a serialized data stream with reduced phase error by aligning a generated clock signal to the data stream. The apparatus includes a data delay pipe, a clock generator, a clock delay pipe, and a data stream sampling element. 
     The data delay pipe receives the data stream and delays the data bits by a first amount. The clock generator generates a clock signal that the clock delay pipe delays by a second amount. The data stream sampling element receives the delayed data bits and the delayed clock signal, and samples the delayed data bits using the delayed clock signal to recover the data bits from the data stream with reduced phase error. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate an embodiment of the invention and, together with the description, serve to explain the objects, advantages and principles of the invention. In the drawings, 
     FIG. 1 is a block diagram of a phase error cancellation apparatus consistent with the principles of the present invention; 
     FIG. 2 is a block diagram of elements of the phase lock mechanism of FIG. 1; 
     FIG. 3 is a block diagram of the dummy v-control of FIG. 2; 
     FIG. 4A is a block diagram of elements of the data delay pipe of FIG. 1; 
     FIG. 4B is a block diagram of a delay stage of FIG. 4A with dual, differential and complementary inputs and outputs; 
     FIG. 4C is a schematic diagram of the delay stage of FIG. 4B; 
     FIG. 5 is a block diagram of elements of the delay pipe oscillator of FIG. 1; 
     FIG. 6 is a block diagram of elements of the clock delay pipe of FIG. 1; 
     FIG. 7 is a block diagram of elements of the phase error correction mechanism of FIG. 1; and 
     FIG. 8 is a block diagram showing an example of the operation of the phase error cancellation apparatus consistent with the principles of the present invention. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     The following detailed description of the invention refers to the accompanying drawings. While the description includes exemplary embodiments, other embodiments are possible, and changes may be made to the embodiments described without departing from the spirit and scope of the invention. The following detailed description does not limit the invention. Instead, the scope of the invention is defined only by the appended claims. 
     The phase error cancellation apparatus consistent with the principles of the present invention aligns a generated clock signal to an incoming data stream to recover the data bits from the data stream with reduced phase error. 
     I. System. 
     FIG. 1 is a block diagram of the phase error cancellation apparatus consistent with the principles of the present invention. The phase error cancellation apparatus includes phase lock mechanism 1100, data delay pipe 1200, delay pipe oscillator 1300, clock delay pipe 1400, phase error correction mechanism 1500, and data sampler 1600. While FIG. 1 shows the data and clock signals being transmitted on single data and clock lines, respectively, in an implementation consistent with the principles of the present invention the data and clock signals are transmitted on dual, differential and complementary signal lines. 
     Phase lock mechanism 1100 in conjunction with delay pipe oscillator 1300 form a phase lock loop. Phase lock mechanism 1100 receives the input data stream and a clock (clk) signal generated by delay pipe oscillator 1300 and performs lower bandwidth tracking in an attempt to align the data stream to the clock signal. Phase lock mechanism 1100 outputs a delay control signal, delay --  ctl1, that directly controls the delay occurring in data delay pipe 1200 and delay pipe oscillator 1300, and indirectly controls the delay occurring in clock delay pipe 1400. 
     FIG. 2 is a block diagram of the elements of phase lock mechanism 1100, including phase detector 2100, current pump 2200, low pass filter 2300, dummy v-control 2400, and vbias 2500. Phase detector 2100 is a conventional phase difference detector, such as a Hogge phase detector. Phase detector 2100 receives the input data stream and the clk signal generated by delay pipe oscillator 1300, and outputs two signals which together indicate the difference in phase between the data of the input data stream and the clk signal. 
     Current pump 2200 is a conventional differential current steering device. Current pump 2200 receives the two output signals from phase detector 2100, and steers them into the output. Low pass filter 2300 is preferably a series RC low pass filter. Low pass filter 2300 receives the output from current pump 2200, and outputs a voltage signal. Dummy v-control 2400 provides a constant output signal to vbias 2500. 
     FIG. 3 is a block diagram of the elements of dummy v-control 2400, including exclusive ORs (XORs) 3100 and 3200, and a conventional current pump 3300. XOR 3100 receives a high voltage signal (Vdd) at both of its inputs. This causes XOR 3100 to output a low signal to XOR 3200. XOR 3200 receives complementary signals at its inputs, since one of the inputs is inverted, and outputs a high signal to current pump 3300. XORs 3100 and 3200 are used to ensure correct high and low logic levels because the signals may not necessarily be Vdd or ground (Gnd). 
     Current pump 3300 also receives complementary signals at its inputs, since one of the inputs is inverted, and steers them into an output signal to vbias 2500 (FIG. 2). Current pump 3300 is used to obtain the correct zero input level of the signal. 
     Vbias 2500 is a conventional device for adding currents together based on the level of input voltage signals. Vbias 2500 receives the output of dummy v-control 2400 and the output of low pass filter 2300, and generates the delay --  ctl1 signal used to control the delay of data delay pipe 1200 and delay pipe oscillator 1300. By controlling the delay of delay pipe oscillator 1300, vbias 2500 sets the frequency of the clk signal. By controlling the delay of data delay pipe 1200, vbias 2500 delays the data of the data stream by a time proportional to the frequency of the clk signal. 
     Returning to FIG. 1, data delay pipe 1200 receives the input data stream and the delay --  ctl1 signal from phase lock mechanism 1100 and outputs a delayed --  data signal. The delayed --  data signal represents the input data stream delayed by an amount determined by the delay --  ctl1 signal. Data delay pipe 1200 delays the input data stream in an attempt to synchronize the data of the data stream with a delayed clock (delayed --  clk) signal output from clock delay pipe 1400 (described below). FIG. 4A is a block diagram of the elements of data delay pipe 1200, including a series of delay stages 4100. Each of the delay stages 4100 contains, for example, a buffer element. While FIG. 4A shows six delay stages comprising data delay pipe 1200, a larger or smaller number of delay stages could be used. 
     FIG. 4B is a block diagram of delay stage 4100 with dual, differential and complementary inputs and outputs. Delay stage 4100 receives high and low data input signals (data --  h and data --  l, respectively). The data --  h and data --  l signals are either the data from the input data stream or delayed data from a previous delay stage, depending upon the location of delay stage 4100 within data delay pipe 1200. The delay --  ctl1 signal, represented by complementary signals delay --  ctl1 --  h and delay --  ctl1 --  l, controls the propagation delay through delay stage 4100. Delay stage 4100 outputs delayed data as complementary signals delayed --  data --  h and delayed --  data --  l. 
     FIG. 4C is a schematic diagram of delay stage 4100 of FIG. 4B. Delay stage 4100 includes p-type transistors 4210 and 4220 and n-type transistors 4310, 4320, and 4330. P-type transistors 4210 and 4220 receive the delay --  ctl1 --  h signal at their gates, and n-type transistor 4310 receives the delay --  ctl1 --  l signal at its gate. N-type transistors 4320 and 4330, on the other hand, receive the data --  h and data --  l signals, respectively, at their gates. Delayed_data --  h and delayed --  data --  l are output from points connecting p-type transistor 4210 to n-type transistor 4320 and p-type transistor 4220 to n-type transistor 4330, respectively. 
     Returning to FIG. 1, delay pipe oscillator 1300 generates the clk signal input to phase lock mechanism 1100 and clock delay pipe 1400 based on the delay --  ctl1 signal from phase lock mechanism 1100. FIG. 5 is a block diagram of the elements of delay pipe oscillator 1300. Delay pipe oscillator 1300 contains buffer elements matched to both data delay pipe 1200 and clock delay pipe 1400, but may contain a different number of delay stages 5100. The output of delay pipe oscillator 1300 feeds back to its input, forming a voltage, or current, controlled oscillator. As described above, delay pipe oscillator 1300 operates in conjunction with phase lock mechanism 1100 to form a conventional phase lock loop. 
     Clock delay pipe 1400 receives the clk signal from delay pipe oscillator 1300 and a delay control (delay --  ctl2) signal from phase error correction mechanism 1500, and generates a delayed clock (delayed --  clk) signal. FIG. 6 is a block diagram of the elements of clock delay pipe 1400, including delay stages 6100 matched to both data delay pipe 1200 and delay pipe oscillator 1300. Clock delay pipe 1400 contains the same number of delay stages as data delay pipe 1200 to replicate the delays occurring in data delay pipe 1200 and delay pipe oscillator 1300, but additionally adds or subtracts some delay amount as determined by phase error correction mechanism 1500 to reduce the phase error between the delayed --  clk and delayed --  data signals. 
     Phase error correction mechanism 1500 is a delay locking mechanism, as opposed to phase lock mechanism 1100 which is a phase locking mechanism, that performs higher bandwidth tracking and avoids jitter peaking that is common to phase lock loops. Phase error correction mechanism 1500 receives the delayed --  data signal from data delay pipe 1200, the delayed --  clk signal from clock delay pipe 1400, and the delay --  ctl1 signal from phase lock mechanism 1100, and compares the delayed --  data signal to the delayed --  clk signal. Based on this comparison, phase error correction mechanism 1500 generates the delay --  ctl2 signal which controls clock delay pipe 1400 to shift the delayed --  clk signal by the correct amount to align it with the delayed --  data signal. 
     FIG. 7 is a block diagram of the elements of phase error correction mechanism 1500, including phase detector 7100, current pump 7200, low pass filter 7300, and vbias 7400. These elements are similar to the corresponding elements described with reference to FIG. 2. 
     Phase detector 7100 receives the delayed --  data signal from data delay pipe 1200 and the delayed --  clk signal from clock delay pipe 1400, and outputs two signals which together indicate the difference in phase between the delayed --  data and the delayed --  clk signals. Current pump 7200 receives the two output signals from phase detector 7100, and steers them into the output. Low pass filter 7300 is preferably a capacitor low pass filter. Low pass filter 7300 receives the output from current pump 7200, and outputs a voltage signal. 
     Vbias 7400 receives the output from low pass filter 7300 and the output from low pass filter 2300 of phase lock mechanism 1100, and generates the delay --  ctl2 signal therefrom. The delay --  ctl2 signal controls the delay of clock delay pipe 1400 to add or subtract some delay amount so as to reduce the phase error between the delayed --  clk and delayed --  data signals. 
     Returning to FIG. 1, data sampler 1600 is a conventional latch, such as a flip-flop. Data sampler 1600 receives the delayed --  data signal from data delay pipe 1200 and the delayed --  clk signal from clock delay pipe 1400 and uses the delayed --  clk signal to sample and latch the delayed --  data signal with minimal phase error, thereby producing the recovered data signal. 
     II. Processing. 
     The operation of the phase error cancellation apparatus consistent with the principles of the present invention will be described by the following example with reference to FIG. 8. Since data delay pipe 1200 and clock delay pipe 1400 are matched circuits, the effect of the delay --  ctl1 signal on them is to produce a delay .O slashed.n. However, clock delay pipe 1400 actually receives the delay --  ctl2 signal, which is equal to the delay --  ctl1 signal plus or minus the correction term produced by phase error correction mechanism 1500. Thus, the delayed --  clk signal receives an additional delay of .O slashed.x. 
     Data delay pipe 1200 receives the input data stream having a phase of .O slashed.data. The delayed --  data signal output from data delay pipe 1200 has a phase of 
     
         .O slashed.a=.O slashed.data+.O slashed.n                  (1) 
    
     Clock delay pipe 1400, on the other hand, receives the clock signal having a phase of .O slashed.clk. The delayed --  clk signal output from clock delay pipe 1400 has a phase of 
     
         .O slashed.b=.O slashed.clk+.O slashed.n+.O slashed.x      (2) 
    
     Phase detector 7100 detects the difference in phase between .O slashed.a and .O slashed.b, and outputs a signal indicative of the phase difference to current pump 7200. Current pump 7200 outputs a current signal, ##EQU1## where K D  represents the gain of phase detector 7100, to low pass filter 7300. Low pass filter 7300 outputs a voltage signal to vbias 7400. Vbias 7400 generates delay --  ctl2 having a voltage ##EQU2## where SC is the frequency domain representation of the capacitance of low pass filter 7300, and ##EQU3## where Kp represents the combined gain of vbias 7400 and clock delay pipe 1400. 
     The phase error, .O slashed.error, is calculated by ##EQU4## where 
     
         F=(SC/KpK.sub.D)/(1+(SC/KpK.sub.D))                        (7) 
    
     The term F indicates the amount of phase error reduction caused by the phase error cancellation apparatus consistent with the principles of the present invention. The term F is zero at zero frequency (i.e., direct current), and increases at 20 dB/dec up to the bandwidth of the phase error cancellation apparatus, (KpK D  /C), where it levels off at one. This result indicates that the phase error cancellation apparatus does not amplify the phase error. In contrast, in phase locked loops the term analogous to F will have a magnitude greater than one over some frequency interval. 
     The phase error cancellation apparatus consistent with the principles of the present invention permits accurate recovery of an input data stream by reducing phase error between a sampling clock signal and the input data stream. 
     The foregoing description of preferred embodiments of the present invention provides illustration and description, but is not intended to be exhaustive or to limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention. The scope of the invention is defined by the claims and their equivalents.