The present invention relates generally to techniques for recovering a clock from a received data stream, and more particularly, to techniques for obtaining an initial phase estimate using a zero phase start algorithm.
For many clock/data recovery (CDR) applications, the initial CDR gain must be relatively low to provide good periodic jitter (PJ) tolerance. This must be balanced, however, with the need for a fast acquisition time. Generally, a reduction in the acquisition time comes at the expense of degrading PJ performance. Zero phase start (ZPS) techniques have been used to improve the acquisition time. Generally, ZPS algorithms obtain an initial estimate of the phase of the signal before the normal CDR operation commences. ZPS acquires the initial phase, typically using a “one shot” phase calculation based on accumulated digital samples of the signal. Traditional ZPS techniques have relied on relatively finely quantized amplitude domain signal samples from an analog-to-digital converter (ADC).
A number of receiver architectures have been proposed or suggested, however, that do not employ such analog-to-digital converters. Thus, the finely quantized amplitude domain signal samples that are required for ZPS algorithms are not available. A need exists for CDR systems that provide improved acquisition time. A further need exists for a time domain based zero phase start algorithm that does not require finely quantized amplitude domain signal samples.
Generally, methods and apparatus are provided for obtaining a phase offset estimate from a data stream. According to one aspect of the invention, a binary sampled version of the data stream is obtained based on a clock. A first dot product of the binary sampled version of the data stream and an ideal sequence and a second dot product of the binary sampled version of the data stream and a delayed ideal sequence are accumulated. A phase offset of the clock is adjusted until the accumulated first and second dot product satisfy one or more predefined conditions. For example, the predefined conditions can comprise a transition of at least one of the accumulated first and second dot product or whether at least one of the accumulated first and second dot product transition to a final value.
The ideal sequence can be based on, for example, a shoulder sampling or a peak/zero crossing sampling of the data stream. The delayed ideal sequence can be delayed by one unit interval.
A more complete understanding of the present invention, as well as further features and advantages of the present invention, will be obtained by reference to the following detailed description and drawings.
The present invention improves the acquisition time by using a time domain based zero phase start algorithm to obtain an initial estimate of the phase of the signal before the normal CDR operation commences. The disclosed time domain based zero phase start (ZPS) algorithm works with binary quantized/sliced amplitude samples of a 2T preamble sinusoidal pattern.
The phase of the analog waveform is typically unknown and there may be a frequency offset between the frequency at which the original data was transmitted and the nominal receiver sampling clock frequency. The function of the CDR 150 is to properly sample the analog waveform such that when the sampled waveform is passed through a data detector (or slicer) 160, the data is recovered properly despite the fact that the phase and frequency of the transmitted signal is not known. The CDR 150 is often an adaptive feedback circuit and the feedback loop must adjust the phase and frequency of the nominal clock to produce a modified recovered clock that can sample the analog waveform to allow proper data detection.
The output of the data detector 160 is used to update the phase of the sampling clock via the CDR 150 to appropriately recover any phase and frequency offsets between the transmitted data and the sampling clock.
As previously indicated, zero phase start (ZPS) techniques have been used to improve the acquisition time.
As shown in
The phase of the analog waveform is typically unknown and there may be a frequency offset between the frequency at which the original data was transmitted and the nominal receiver sampling clock frequency. The function of the VCDL 265 is to properly sample the analog waveform such that when the sampled waveform is passed through the analog-to-digital converter 260, the data is recovered properly despite the fact that the phase and frequency of the transmitted signal is not known. The CDR 250 is often an adaptive feedback circuit and the feedback loop must adjust the phase and frequency of the nominal clock to produce a modified recovered clock that can sample the analog waveform to allow proper data detection.
The output of the analog-to-digital converter 260 is used to update the phase of the sampling clock via the CDR 250 or ZPS algorithm 255 to appropriately recover any phase and frequency offsets between the transmitted data and the sampling clock. As previously indicated, traditional ZPS techniques require relatively finely quantized amplitude domain signal samples from the analog-to-digital converter 260. The CDR 250 and ZPS circuitry 255 call for phase changes to the clock which may be implemented, for example, by the voltage controlled delay line (VCDL) or other means.
In certain applications, an a priori known preamble pattern 310 may be transmitted before the actual data 320, as shown in
Alternatively, the PHS_MODE indicator could itself be detected based on a detection of the received data. For example, regardless of the initial phase or frequency, the periodicity of the received data could be noted within some tolerance and a periodicity matching that of the preamble would indicate presence of the preamble whereas a break in the periodicity would indicate the presence of actual user data. The alignment of the use of the ZPS 255 or phase updates from the CDR 250 is shown in
Amplitude Domain ZPS
ZPS can be thought of as computing a dot product of a given number of periods of an arbitrarily sampled sine wave with an in-phase and quadrature (90 degrees out of phase) expected received samples of the sine wave. Let y[n] represent the received samples (as generated by the analog-to-digital converter). Let r[n] represent the in-phase component and r[n−1] will represent the quadrature component of the expected samples. Let w0[n] represent be the in-phase dot product and w1[n] the quadratuture dot product. Thus,
where L is the number of samples upon which the ZPS is calculated. The dot products w0[n] and w1[n] also represent an accumulation of integration of the received samples after modulation with the r[n]. Hence, the dot products will also be referred to as the ZPS accumulator values or ZPS integrator values. For a desired NRZ response equalized (or even for other equalized target systems such as various partial response systems) r[n] would be 1, 1, −1, −1, 1, 1, −1, −1 for L equal to eight and r[n−1] would be −1, 1, 1, −1, −1, 1, 1, −1.
The input phase in
By examining the sign of all the accumulated quantities, the appropriate sign of the phase adjustment which needs to be made can be selected based on the above calculation.
As previously indicated, a number of receiver architectures do not employ an ADC, and provide only binary resolution amplitude samples. The present invention provides a time domain based ZPS algorithm that does not require finely quantized amplitude domain signal samples. The disclosed ZPS algorithm processes binary resolution sliced amplitude samples. As with most ZPS algorithms, the exemplary algorithm will require a modest amount of 2T pattern preamble (or another periodic preamble). Instead of doing a one shot calculation relying on high resolution amplitude samples, the disclosed algorithm performs a series of ZPS calculations after stepping/advancing the sampling clock with the available time resolution. Based on an accumulation of the binary samples for each clock phase, ZPS detection logic determines whether the sampling phase is correct. Once the logic determines that the phase is correct, no further phase advances are made and the normal CDR operation begins.
The phase of the analog waveform is typically unknown and there may be a frequency offset between the frequency at which the original data was transmitted and the nominal receiver sampling clock frequency. The function of the VCDL 665 is to properly sample the analog waveform such that when the sampled waveform is passed through the slicer 660, the data is recovered properly despite the fact that the phase and frequency of the transmitted signal is not known. The CDR 650 is often an adaptive feedback circuit and the feedback loop must adjust the phase and frequency of the nominal clock to produce a modified recovered clock that can sample the analog waveform to allow proper data detection.
The output of the slicer 660 is used to update the phase of the sampling clock via the CDR 650 or ZPS algorithm 655 to appropriately recover any phase and frequency offsets between the transmitted data and the sampling clock. The CDR 650 and ZPS circuitry 655 call for phase changes to the clock which may be implemented, for example, by the voltage controlled delay line (VCDL) or other means.
As previously indicated, when a receiver implementation does not provide high resolution samples, such as 5 or 6 bits of quantization, but employs binary sliced data, the sine or inverse tangent look up discussed above to compute the required phase adjustment is not available. The present invention computes a weighted sum of the binary samples with the desired sine samples.
In equations (4) and (5), the input samples are denoted by a different symbol z[k] to emphasize that they are binary sliced samples. Instead of computing a phase adjustment output, the present invention determines whether or not the current phase is the correct phase based on examining these weighted sums.
It is noted that when the input phase is correct (0 or an integer multiple of T), the accumulator values transition. For example, in the example of
Although may not be necessary to know which quadrant is being evaluated, the exact values of the accumulators can also indicate which of the four quadrants is being evaluated in the sine wave. The correct phase can be identified within the clock quantization accuracy.
A data detector 930 (or a slicer) digitizes the sample and compares the digitized sample to an exemplary threshold of zero, using the recovered clock. In a Digital Feedback Equalization (DFE) implementation, the switch 920 and slicer 930 are replaced with the sampled DFE output out of the DFE latches/logic.
The output of the slicer 930, z[n], is applied to a pair of multipliers 940. A first multiplier 940-1 multiplies the r[n] signal (in-phase component) and a second multiplier 940-2 multiplies the r[n−1] sequence (quadrature component). The multipliers 940 are of trivial implementation complexity because both inputs to the multipliers 940 are binary values. A pair of adders 950 and slicers 960 implement equations (4) and (5) to generate the accumulated dot products, w0[n] and w1][n].
A ZPS lookup table logic 1000, shown in
ZPS with Latch Offset
A variation of the present invention recognizes that in the presence of noise or latch offsets, the transitions may not be as crisp as shown in
The ZPS lookup table 1000 of
It is to be understood that the embodiments and variations shown and described herein are merely illustrative of the principles of this invention and that various modifications may be implemented by those skilled in the art without departing from the scope and spirit of the invention.
For example, the ZPS table lookup operation embodied in tables 1000, 1400 can be pipelined (although the CDR performance will degrade as the pipeline latency increases since there will be a frequency offset present as well as the phase offset). The blocks that must run at the full data rate are the two ZPS accumulators or integrators that integrate the binary input stream. For L equal to the width of the integrator, only three bits wide is needed to accommodate values in the range of −4 to 4. However, if this was still believed to be a bottleneck, an alternative implementation can be employed, based on matching the received sampling phase to the r[n] sequence corresponding to a peak/zero crossing. This would give two full data rate clock cycles for the integrator to complement each sample accumulation (see
In a further variation, r[n] corresponding to the peak/zero samples are used, as above, but received samples based on the transition clock are used instead of the data clock. The transition clock is clock generated from the data clock that has been phase offset by T/2. In this manner, when the ZPS process terminates, the correct phase is obtained (rather than being T/2 from the correct phase).