Plaque It!
Sponsored by: Flash of Genius |
[0001] 1. Field of the Invention
[0002] The invention relates to clock and data recovery systems used in high-speed optical and electronic receivers and, more specifically, to slicing techniques for data recovery.
[0003] 2. Description of the Related Art
[0004] High-speed (e.g., 2.5-3.125 Gb/s) serial links are commonly used in optical communication links or for chip-to-chip interconnects in high-speed systems. For example, synchronous optical network (SONET) OC-192 links generate a 10-Gbps serial data stream on the optical links as well as its electrical representation just prior to the laser of the transmitter and after the optical detector of the receiver. At these speeds, optical dispersion phenomena (e.g., chromatic or polarization mode dispersion), electrical dispersion due to the frequency attenuation characteristics of the electrical interconnect, clock jitter, interference, and optical and electrical noise tend to corrupt the signals being transmitted, making their recovery difficult.
[0005] Typically, receivers in such systems attempt to slice a serial data signal at the center of symbol intervals since this is where the data integrity (i.e., signal-to-noise ratio) is generally best and the setup and hold times of the data signal to the slicer elements will be maximized. For example, in a 10-Gbps system, the symbol intervals are roughly 100 ps and the center slicing point would be roughly 50 ps from either the prior or subsequent anticipated symbol transition points for a given bit of the serial data signal. A slicer (i.e., effectively a one-bit analog-to-digital converter (ADC)) determines whether the sampled data is above or below a given threshold voltage. The threshold voltage is generally set midway between the voltage representing a logic “0” and the voltage representing a logic “1” for a given logic family (e.g., TTL or ECL). However, as will be discussed in the present invention, certain advantages can be drawn from placing thresholds at locations other than the mid point between the logical 1 and 0 values.
[0006] Alternatively, multiple distinct slicers can be utilized to sample the data signal at the center of symbol intervals. For example, two additional slicers can be employed with their respective thresholds set at, for example, roughly 25% and 75% of the range between voltages representing a logic “0” and a logic “1” for the system. Other slicer thresholds are also possible as well as different numbers of slicers. Alternatively, instead of multiple slicers (i.e., single-bit ADCs), a higher-order ADC of two or more bits can be used to sample data streams. As the number of bits in the ADC, or equivalently the number of slicers, increases, there is generally an increased system price to be paid in terms of chip area, power consumption, and/or temporal sampling accuracy. As a result, such samplers are generally undesirable in high-speed data recovery systems and one must resort to the absolute minimum number of slicers to achieve reliable detection.
[0007] Another technique to improve performance of data recovery in high-speed systems is oversampling. In an oversampling system, more than one sample per symbol interval is taken. Such samplers may take two, three, or more samples per symbol interval to improve the confidence level of each sample. By oversampling the input signal and then digitally processing the resulting digital samples, errant samples due to noise can be rejected, and improved recovery can be accomplished. However, straight oversampling comes at the cost of increased power consumption.
[0008] To address the above-discussed deficiencies of the prior art, one embodiment of the present invention includes a data recovery circuit employing five distinct slicers of the incoming data, three at the center of the “eye” and two at the edge of the “eye” in an eye diagram of the incoming data. Combinations of slicer outputs and computed data values are processed in a weighted voting arrangement and adjusted dynamically in a manner that minimizes the bit-error rate of the data recovery relative to the prior art. The data recovery circuit of this invention may be combined with state-of-the-art clock recovery circuits to yield improved clock and data recovery (CDR) circuits. Advantages of the present invention with respect to oversampling schemes include utilization of different numbers of slicers at different sampling phases to minimize the power consumption of the implementation circuit, and maximization of the information obtained at the output of the slicers by (1) application of different slicer thresholds at different sampling phases and (2) careful matching of slicing times to the phase of the incoming signal.
[0009] One embodiment of this invention is a method of recovering data from a received data signal that includes slicing the received data signal substantially at edges of symbol intervals using a first set of one or more slicer thresholds to generate edge samples, slicing the received data signal substantially at centers of the symbol intervals using a second set of one or more slicer thresholds to generate center samples, and determining values for the data bits in the received data signal based on the edge samples and the center samples.
[0010] Another embodiment of this invention is an apparatus for recovering data from a received data signal. The apparatus includes a set of slicers adapted to (i) slice the received data signal substantially at edges of symbol intervals using a first set of one or more slicer thresholds to generate edge samples, and (ii) slice the received data signal substantially at centers of the symbol intervals using a second set of one or more slicer thresholds to generate center samples. It also includes a logic block adapted to determine values for the data bits in the received data signal based on the edge samples and the center samples.
[0011] Yet another embodiment of this invention is a method of synchronizing a locally generated clock used to process a received data signal. The method involves slicing the received data signal substantially at edges of symbol intervals using a first set of one or more slicer thresholds to generate edge samples, slicing the received data signal substantially at centers of the symbol intervals using a second set of one or more slicer thresholds to generate center samples, and adjusting at least one of the phase and the frequency of the locally generated clock based on the edge samples and the center samples.
[0012] Yet another embodiment of this invention is an apparatus for synchronizing a locally generated clock used to process a received data signal. The apparatus includes a set of slicers adapted to (i) slice the received data signal substantially at edges of symbol intervals using a first set of one or more slicer thresholds to generate edge samples, and (ii) slice the received data signal substantially at centers of the symbol intervals using a second set of one or more slicer thresholds to generate center samples. It further includes a logic block adapted to adjust at least one of the phase and the frequency of the locally generated clock based on the edge samples and the center samples.
[0013] Other aspects, features, and advantages of the present invention will become more fully apparent from the following detailed description, the appended claims, and the accompanying drawings in which:
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022] Reference herein to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments.
[0023] Data Recovery
[0024]
[0025] Five-Slicer Data Recovery Circuit
[0026] The data recovery block diagram of
[0027] Slicers
[0028] Each of slicers
[0029] The first three slicers
[0030] The last two slicers
[0031] Details of the timing and thresholds associated with slicers
[0032] Referring to both
[0033] At sample time Sb (where “b” denotes “before”), slicer D
[0034] During each symbol interval, the five slicers generate decision values, starting with slicers
[0035] Sample time Sm corresponds to a rising edge of RCLK
[0036] The threshold values will depend on the logic family being used and the application. For example, threshold Cm, roughly corresponding to the center point between logic high and logic low for a given implementation's logic family, may be set lower for a 3.3V CMOS logic system than it would be set for a 5V TTL system. On the other hand, when the receiver is used in an optical link that includes dispersion resulting in a distorted eye diagram as well as asymmetric noise in the optical domain, it may be advantageous to place Cm off-set from the middle point of the eye diagram. Depending on the performance of the system, the known statistics of the transmission medium and the characteristics of the transmitter and receiver, the thresholds can be adjusted independently by the system in time and voltage in either an a priori or a dynamic fashion to minimize system bit-error rate and to optimize detection accuracy.
[0037] For this embodiment, it is assumed that the threshold values are roughly as depicted in
[0038] The threshold comparisons performed by slicers
[0039] As for the accuracy of the timing of threshold comparisons, it is assumed for this embodiment that, whatever the source, clocks RCLK
[0040] Center-of-the-Eye Slicers
[0041] In the absence of noise, a mid-data or temporal “center-of-the-eye” threshold comparison, such as one taken at time Sm using voltage threshold Cm, should be sufficient to recover the data information of bit n of SDI
[0042] However, to improve data recovery performance in real-world (i.e., noisy) applications, additional comparisons at thresholds Hm and Lm are utilized. One interpretation or mapping of the outputs SOA(Sm), SOB(Sm), and SOC(Sm) of the three slicers
[0043] For an ideal signal, there are only two valid combinations, corresponding to rows 1 and 8 of TABLE 1. In row 1, all zeros in first three columns indicates that all three threshold comparisons SOA(Hm), SOB(Cm), and SOC(Lm) were FALSE. The computed data bit n is thus mapped according to the table to a logic “0” and the comment indicates that there is agreement from all three slicers that the computed data bit n should be interpreted as logic “0.” Similarly, in row 8, all ones in columns 1-3 indicates that all three threshold comparisons were TRUE. The computed data bit “n” is thus mapped to a logic “1” and the comment indicates that there is agreement from all three slicers that the computed data bit n should be a “1.” Note that in both cases where all three slicers are in agreement, a “confidence weight,” column 6, of “high” is assigned.
[0044] All rows other than 1 and 8, exhibit some inconsistency with what would be expected from the three slicers in the presence of an ideal (i.e., noise-free) data signal. Rows 2 and 4 are self-consistent, although they leave some doubt in the computed data bit n values of “0” and “1,” respectively. For example, it is possible to see the result of row 2 in a system with noise on the low rail of the switching system such that the Lm-threshold slicer
TABLE 1 Col# 1 2 3 4 6 7 SOA SOB SOC Computed 5 Confidence Confidence Row# (Hm) (Cm) (Lm) bit n Comment Weight Value 1 0 0 0 0 Agreement on 0 high 1 2 0 0 1 0 Noisy 0 - SOC medium 0.5 3 0 1 0 0 Inconsistent SOB low 0 4 0 1 1 1 Noisy 1 - SOA medium 0.5 5 1 0 0 0 Inconsistent SOA low 0 6 1 0 1 1 Inconsistent SOB low 0 7 1 1 0 1 Inconsistent SOC low 0 8 1 1 1 1 Agreement on 1 high 1
[0045] The remaining rows of TABLE 1, namely 3, 5, 6 and 7, represent contradictions, and it is difficult to draw an accurate conclusion as to what might be the actual data bit value that caused such results. An appropriate conclusion to draw in these cases is that the slicer threshold calibrations are no longer accurate and they should be re-calibrated. Nonetheless, TABLE 1 provides an interpretation of what the computed bit n might be for each case, given only the results of the three slicers
[0046] Edge-of-the-Eye Slicers
[0047] Certain communications systems suffer more from noise corruption of the signal at the center of the eye, than at the edge of the eye. So, for example, a system that is so noisy that the eye diagram observed at the receiver appears to be “closed,” may still be relatively clean at the edges of the eye. In such a system, it may be difficult to recover data by sampling at the center of the eye alone. However, by sampling in a particular manner at the edges of the eye, data recovery performance can be improved.
[0048] Referring again to
TABLE 2 Col 1 2 3 Row SOD SOE Transition? 1 0 0 No 2 0 1 Yes 3 1 0 Inconsistent 4 1 1 No
[0049] For example, for sample time Sb, TABLE 2 represents possible samples at the edge between bits n−1 and n of the triple-eye diagram of
[0050] Since row 1 indicates persistence of the logic state of “0” from bit n−1 to bit n, in this case, a value for data bit n of “0” can be determined solely from the two edge slicers sampling at time Sb. Similarly, in the case of row 4, a value for data bit n of “1” can be determined solely from the two edge slicers sampling at time Sb.
[0051] If TABLE 2 is assumed to represent the outputs of slicers
[0052] Putting two instances of TABLE 2 together, one representing sample time Sb and one representing sample time Sa, provides some additional information. Such a table, illustrated by TABLE 3 of
[0053] For example, in row 1, SOD(Sb)=“0” and SOE(Sb)=“0” implies persistence of the logic value of “0” from data bit n−1 to data bit n. This is represented by the “0 to 0” entry in column 5 of that row. Similarly, in the same row, SOD(Sa)=“0” and SOE(Sa)=“0” implies persistence of the logic value of “0” from data bit n to data bit n+1. This is represented by the “0 to 0” entry in column 6 of that row. Here, the results of the edge slicers at two different sample times, Sb and Sa, concur that data bit n is a “0.” This is noted in column 7 under the label n. Finally, this concurrence is scored 1 in the last column under the label “confidence value.”
[0054] The rest of the rows are completed in similar fashion taking into account the interpretations already discussed with respect to TABLE 2.
[0055] Note that, while the inconsistent entry of row 3 of TABLE 2 appears in rows 3, 7, 9-12, and 15 of TABLE 3, additional inconsistent scenarios are exhibited by TABLE 3. For example, in the case of row 4, columns 1 and 2 imply a value of “0” for both bits n−1 and n, while columns 3 and 4 imply a value of “1” for both bits n and n+1. Both conclusions cannot be correct, leading to a contradiction in slicer results. A similar contradiction exists in the case of row 13. In this embodiment, such cases are equally likely a “1” or a “0.” As such, a value of “0” may be arbitrarily chosen for the “computed n” entry in column 7, and a 0 assigned as a “confidence value” in the last column.
[0056] As another example, columns 1 and 2 of row 3 imply a value of “0” for both bits n−1 and n, while columns 3 and 4 represent an inconsistent combination of slicer outputs. Since sample SOE(Sa)=“0” is consistent with both samples SOD(Sb) and SOE(Sb), it is assumed that sample SOD(Sa) is in error. (Note that other interpretations are possible.) Thus a “computed n” value of “0” is assigned in column 7, with an assigned “confidence value” of 0 in the last column.
[0057] It is clear from TABLES 1, 2, and 3 that, in a non-ideal world, neither a pure center-of-the-eye sampling technique nor a pure edge-of-the-eye sampling technique is sufficient to resolve very noisy data with complete accuracy. However, combining the techniques can yield a significant improvement in the accuracy of the data recovery process as well as a means to tailor the data recovery circuit's strengths to the characteristics of the received data.
[0058] Combining Center-of-the-Eye and Edge-of-the-Eye Slicers
[0059] Depending on the implementation, in the data recovery circuit of
[0060] In TABLE 4, the columns labeled SOA(Sm), SOB(Sm), and SOC(Sm) correspond to possible inputs to slicer logic circuit
[0061] For example, in row 5, the first three entries, “0,” “0,” and “0,” under the headings SOA(Sm), SOB(Sm), and SOC(Sm), in isolation from the rest of the entries, imply a high confidence estimate of the value for bit n of “0,” as discussed previously in relation to TABLE 1. Entries 4 and 5 of the same row, under the headings SOD(Sb) and SOE(Sb) indicate a transition, but are not specific about the value for n, as discussed previously in relation to TABLE 2. Entries 6 and 7, under the headings SOD(Sa) and SOE(Sa), however, indicate strongly that data bit n and n+1 are both “0,” and thus are in concurrence with entries 1, 2, and 3. The overall selection of “0” for this scenario is indicated by the entry of “0” for SDO(n).
[0062] A similar analysis has been done for each of the other rows of TABLE 4. Note that, in preferred implementations, it is the Boolean logic corresponding to the mapping represented by the truth table of TABLE 4 that is implemented by slicer logic
[0063] Note that the mapping of the values of the seven columns to the computed n value in the last column is preferably determined a priori by an algorithm or strategy. This strategy takes into account the statistics of the system and the relative voltages of the thresholds in the context of those statistics. Although the mapping is typically not computed “on-the-fly” during execution of the receiver, different mappings may be “switched in” dynamically to the receiver for real-time execution, corresponding to varying statistics of the receiver or dynamic modification made by the receiver to the threshold values. The mapping represented by TABLE 4 is exemplary. Other mappings could be used with a different probability of error in data recovery.
[0064] Note, as discussed previously, the thresholds Hm, Cm, Lm, Ha, and La can be adjusted to affect the relative probability for a given outcome of the corresponding slicers
[0065] Deriving the Mappings
[0066] In one embodiment of the present invention represented by
[0067] where CW1
[0068] where CW3
[0069] According to that procedure, in line 1, the index k is initialized to 1. In line 2, an outer for-loop is entered, where i is initialized to 1 with a terminal count of 8. In line 3, an inner for-loop is entered, where j is initialized to 1 with a terminal count of 16. In line 4, a sum of the weighted estimates n
[0070] As an example, in row 1 of TABLE 1, the case of SOA(Sm)=0, SOB(Sm)=0, and SOC(Sm)=0 was assigned a confidence value of 1, and, in row 4 of TABLE 3, the case of SOD(Sb)=0, SOE(Sb)=0, SOD(Sa)=1, and SOE(Sa)=1 was assigned a confidence value of 0. These sample values correspond to row 4 of TABLE 4. According to Equation (1),
[0071] According to Equation (2),
[0072] According to line 4 of
[0073] Applying line 5 of
[0074] As another example, in row 8 of TABLE 4, the values for SOA(Sm), SOB(Sm), and SOC(Sm) correspond to bit n=“0” with a confidence value of 1, as discussed previously in relation to TABLE 1. Meanwhile, the values for SOD(Sb), SOE(Sb), SOD(Sa), and SOE(Sa) correspond to bit n=“1” with a confidence value of 1, as discussed previously in relation to TABLE 3. Applying the procedures of Equations (1) and (2) and line 4 of
[0075] As a final example, in row 20 of TABLE 4, the values for SOA(Sm), SOB(Sm), and SOC(Sm) correspond to a “noisy 0” for bit n with a confidence value of 0.5, as discussed previously in relation to TABLE 1. Meanwhile, the values for SOD(Sb), SOE(Sb), SOD(Sa), and SOE(Sa) represent a contradiction that is arbitrarily mapped to a “0” and has a confidence weight of 0, as discussed previously in relation to TABLE 3. Applying the procedures of Equations (1) and (2) and line 4 of
[0076] Note that the confidence values from TABLES 1 and 3 as well as the procedure of
[0077] Alternatives
[0078] The embodiments discussed thus far focused on combining slicer results from the center of the eye with slicer results from prior and subsequent edges of the eye for the data bit of interest (i.e., bit n). In general, it is possible to include any number of different combinations of slicer information taken at any number of different times before and/or after the data bit of interest in the logic used to estimate that data bit. This information includes, but is not limited to: (1) the value calculated for bit n−1, (2) the edge-of-the-eye slicer outputs SOD(Sb) and SOE(Sb) taken at sample time Sb, (3) the center-of-the-eye slicer outputs SOA(Sm), SOB(Sm), and SOC(Sm) taken at sample time Sm, (4) the edge-of-the-eye slicer outputs SOD(Sa) and SOE(Sa) taken at sample time Sa, and (5) the value calculated for bit n+1. In different implementations, different subsets of this information can be combined to determine the value for bit n. Moreover, different embodiments of the present invention may have different numbers of center-of-the-eye and edge-of-the-eye slicers, including one or more multi-bit slicers (i.e., higher-order ADCs). In some implementations, edge-of-the-eye information is used only for those cases where the center-of-the-eye information alone yields less than a specified level of confidence in the computed data bit n. Alternatively, in other implementations, center-of-the-eye information is used only for those cases where the edge-of-the-eye information alone yields less than a specified level of confidence in the computed data bit n.
[0079] Note that the truth table mapping of TABLE 4 is based on one particular assignment of weights for the center-of-the-eye and edge-of-the-eye slicer results. A different assignment of weights and/or a different method of calculation of the mapping might yield a different mapping with a different relative focus on center-of-the-eye information versus edge-of-the-eye information. These different weighting and/or mapping schemes can be used to accommodate different communication systems characteristics.
[0080] Another Five-Slicer Embodiment
[0081] The triple eye diagram of
[0082] If V2a(n) is “Hi” or “Mid-Hi,” then V2b(n)=“Hi,”
[0083] Else if V2a(n) is “Mid-Lo” or “Lo,” then V2b(n)=“Lo.”
[0084] Appropriate values are stored so that, for cycle n, the following 5-tuple of values are available for processing {V2b(n−1), V1(n), V2a(n), V1(n+1), V2b(n+1)}, where these values correspond to the slicing times from
TABLE 5 V2a(n) Bit(n) Hi 1 Mid-Hi 1 Mid-Lo 0 Lo 0
[0085] However, depending on the implementation, various combinations of the other values in the 5-tuple can be used to “override” this determination. In this example, contradictory cases have been ignored, but the valid combinations of the 5-tuple defined above that are used to override the mapping of TABLE 5 are captured in TABLE 6 below.
TABLE 6 Row V2b(n − 1) V1(n) V2a(n) V1(n + 1) V2b(n + 1) Bit (n) Category 1 LO MID MID-LO MID LO (ONE) 1 2 HI HI MID-LO HI HI (ONE) 1 3 LO MID MID-LO HI HI (ONE) 1 4 HI HI MID-LO MID LO (ONE) 1 5 HI MID MID-HI MID HI (ZERO) 1 6 LO LO MID-HI LO LO (ZERO) 1 7 HI MID MID-HI LO LO (ZERO) 1 8 LO LO MID-HI MID HI (ZERO) 1 9 LO HI MID-LO MID LO (ONE) 2 10 LO MID MID-LO HI LO (ONE) 2 11 LO HI MID-LO HI HI (ONE) 2 12 HI HI MID-LO HI LO (ONE) 2 13 HI LO MID-HI MID HI (ZERO) 2 14 HI MID MID-HI LO HI (ZERO) 2 15 HI LO MID-HI LO LO (ZERO) 2 16 LO LO MID-HI LO HI (ZERO) 2 17 HI LO MID-HI HI HI (ZERO) 3 18 HI HI MID-HI LO HI (ZERO) 3 19 LO LO HI LO HI (ZERO) 3 20 HI LO HI LO LO (ZERO) 3 21 LO MID MID-HI LO HI (ZERO) 3 22 HI LO MID-HI MID LO (ZERO) 3 23 LO HI MID-LO LO LO (ONE) 3 24 LO LO MID-LO HI LO (ONE) 3 25 HI HI LO HI LO (ONE) 3 26 HI LO LO HI HI (ONE) 3 27 HI MID MID-LO HI LO (ONE) 3 28 LO HI MID-LO MID HI (ONE) 3
[0086] Note that, in TABLE 6, each row is assigned to category 1, 2, or 3. These correspond to confidence levels associated with the “override” of the decision implied by the center-of-the-eye slicer. For example, in row 1, V2a(n) is Mid-Lo (a weak zero). In the absence of any other slicer information, this would be mapped to a bit value of zero. However, given that the other values in the 5-tuple all point to a bit value of one, the center-of-the-eye slicer is overridden. More specifically, the 5-tuple for row 1 is {Lo, Mid, Mid Lo, Mid, Lo}. These elements can be respectively interpreted as {bit n−1 is zero, a transition occurs, bit n is zero, a transition occurs, bit n+1 is zero}. Ignoring the “bit n is zero” information derived from the center-of-the-eye slicers, the rest of the 5-tuple suggests that the value for bit n should be a one. Similarly, the other category 1 5-tuples present high-confidence rationales for overriding the center-of-the-eye element. The first four rows are cases where a zero is overridden to a one and the next 4 rows are cases where a one is overridden to a zero.
[0087] Moving to category 2 5-tuples, there is again contradiction between the center-of-the-eye value and the others, but there is also some non-conformity between the non-center-of-the-eye elements that tends to weaken the argument for overriding the center-of-the-eye slicers. For example, the 5-tuple for row 9 is {Lo, Hi, Mid-Lo, Mid, Lo}. These elements can be respectively interpreted as {bit n−1 is zero, no transition occurs (or more specifically bit n−1 is one and bit n is also one), bit n is (weakly) zero, a transition occurs, bit n+1 is low}. Again ignoring the “bit n is (weakly) zero” information derived from the center-of-the-eye slicers, the first two elements are inconsistent, but the last two elements suggest strongly that the value for bit n should be a one. If you consider that the second element's value (Hi) is close to Mid, then all non-center-of-the-eye elements would argue for overriding the center-of-the-eye value and assigning bit n the value of one. Similar interpretations are made for the other category 2 5-tuples. Note that in both category 1 and 2 5-tuples, only weak ones (Mid-Hi) and weak zeros (Mid-Lo) are overridden, whereas in category 3 5-tuples, as discussed below, strong ones and zeros (V2a(n)=Hi and Low, respectively) are also overridden by non-center-of-the-eye elements that strongly agree to contradict the strong center-of-the-eye mapping.
[0088] As an example, the center-of-the-eye slicers in row 25 (category 3) strongly suggest a value for bit n of zero. However, the other elements strongly suggest the opposite. These two strong arguments create a near balance of confidence between the two opposing decision criteria. If the 5-tuple {Hi, Hi, Lo, Hi, Lo} is analyzed, it can be seen that the last two elements present some degree of inconsistency, tipping the scale in favor of the center-of-the-eye criterion. However, without a strong case for an override, this 5-tuple is categorized into the lowest confidence override group (3). Although it is dependent on the implementation, it is unlikely that in practice any of the category 3 tuples would be used to override the center-of-the-eye decision, but it is likely that category 1 and even 2 5-tuples would be used for override, especially in situations where the eye is closed or nearly closed.
[0089] Combined Clock and Data Recovery
[0090] One embodiment of this invention combines a state-of-the-art clock recovery circuit with the data recovery circuit of
[0091] In a typical implementation of a high-speed clock recovery circuit, center-of-the-eye and edge-of-the-eye slicer information is combined to characterize a locally synthesized (e.g., PLL based) clock as “early” or “late.” This characterization is then used to update the phase (and in aggregate) the frequency of the local clock so that it tracks the clock inherent in the received data. One such technique used for this type of clock recovery is often referred to as “Alexander” (in honor of its recognized inventor—J. D. H. Alexander). More information can be found in Alexander, J. D. H, “Clock Recovery From Random Binary Signals,” Electronic Letters, vol. 11, pp.541-542, October, 1975, incorporated by reference in its entirety.
[0092] In the embodiment of the invention illustrated by
[0093] Other ways of using the multiple slicers for phase estimation may also be possible. For example, during start-up, when the locally synthesized clock is only coarsely aligned, edge-of-the-eye slicer outputs can be exchanged logically with center-of-the-eye slicer outputs and some metric (e.g., bit error rate) can be compared between the two configurations. If the exchanged results are better than the non-exchanged results by some threshold of the metric, it may be assumed that a coarse adjustment of the local clock phase is required. The clock can either be coarsely adjusted in phase or the exchanged interpretation of the slicer outputs can be made the default recovery configuration until such time as another coarse adjustment is warranted by the metric computation and thresholding.
[0094] While this invention has been described with reference to illustrative embodiments, this description should not be construed in a limiting sense. Various modifications of the described embodiments, as well as other embodiments of the invention, which are apparent to persons skilled in the art to which the invention pertains are deemed to lie within the principle and scope of the invention as expressed in the following claims.
[0095] Although the steps in the following method claims, if any, are recited in a particular sequence with corresponding labeling, unless the claim recitations otherwise imply a particular sequence for implementing some or all of those steps, those steps are not necessarily intended to be limited to being implemented in that particular sequence.