A gear-shifting serializer-deserializer (SerDes) is provided that uses a first divisor value to form a divided clock while de-serializing a serial data stream prior to a lock detection and that uses a second divisor value to form the divided clock value after the lock detection, wherein the second divisor value is greater than the first divisor value.
|
16. A receiver, comprising;
a mixer configured to phase shift an input clock signal to form a sampling clock signal;
a de-serializer configured to sample a serial data stream responsive to the sampling clock signal to form a parallel output data stream;
a clock divider configured to divide the sampling clock signal by an adjustable divisor to form a divided clock signal; and
means for adjusting the adjustable divisor to equal a first divisor responsive to the divided clock signal not being locked with the serial data stream and for adjusting the adjustable divisor to equal a second divisor responsive to the divided clock signal being locked to the serial data stream.
1. A receiver, comprising;
a mixer configured to phase shift an input clock signal to form a sampling clock signal;
a de-serializer configured to sample a serial data stream responsive to the sampling clock signal to form a parallel output data stream;
a clock divider configured to divide the sampling clock signal by an adjustable divisor to form a divided clock signal;
a selector circuit configured to set the adjustable divisor to equal to a first divisor responsive to the divided clock signal not being locked with the serial data stream and to set the adjustable divisor to equal a second divisor responsive to the divided clock signal being locked to the serial data stream, wherein the second divisor is greater than the first divisor;
a phase detector configured to compare the divided clock signal to the serial data stream to form a phase detector output signal; and
a loop filter configured to filter the phase detector output signal to form a filtered phase difference, wherein the mixer is further configured to phase shift the input clock signal responsive to the filtered phase difference.
10. A method of receiving a serial data stream, comprising;
phase shifting an input clock signal to form a sampling clock signal;
dividing the sampling clock signal by an adjustable divisor to form a divided clock signal, wherein the phase shifting of the input clock signal is responsive to a phase difference between the divided clock signal and the serial data stream;
setting the adjustable divisor to equal a first divisor responsive to the divided clock signal is not being locked to the serial data stream;
setting the adjustable divisor to equal a second divisor responsive to the divided clock signal being locked to the serial data stream, wherein the second divisor is greater than the first divisor;
sampling the serial data stream according to the sampling clock signal;
detecting a phase difference between the divided clock signal and the serial data stream to form a phase detector output signal; and
filtering the phase detector output signal to form a filtered phase difference signal, wherein the phase shifting of the input clock signal is responsive to the filtered phase difference signal.
2. The receiver of
a quadrature mixer configured to phase shift a quadrature (Q) version of the input clock signal to form a Q version of the sampling clock signal, wherein the mixer is an in-phase mixer configured to phase shift an in-phase version of the input clock signal to form the sampling clock signal.
3. The receiver of
4. The receiver of
a clock data recovery (CDR) lock detector configured to assert a lock detection signal responsive to the phase detector output signal to indicate when the divided clock signal is locked to the serial data stream, wherein the selector circuit is configured to set the adjustable divisor equal to the second divisor responsive to the assertion of the lock detection signal and to set the adjustable divisor equal to the first divisor responsive to a de-assertion of the lock detection signal.
5. The receiver of
6. The receiver of
7. The receiver of
8. The receiver of
9. The receiver of
11. The method of
12. The method of
13. The method of
14. The method of
15. The method of
17. The receiver of
18. The receiver of
|
This application claims the benefit of and priority to U.S. Provisional Application No. 62/526,831 filed Jun. 29, 2017, the content of which is hereby incorporated by reference.
This application relates to a serializer-deserializer (SerDes), and more particularly, to a SerDes with adaptive clock data recovery.
Transmission of multi-bit words typically occurs over multi-wire buses. For example, an eight-bit word may be transmitted over a bus having eight wires, one wire for each bit. But in such conventional busses, each bit carried on a given wire is independent of the remaining bits. As the data rates increase, the resulting signaling becomes problematic in that the various bits in a transmitted word become skewed from each other as the word propagates over the bus.
Given the issues with skew between multiple bits in high-speed communication, various serializer/deserializer (SerDes) systems have been developed. A SerDes transmitter serializes a multi-bit word into a serial data stream of corresponding bits. There can then be no such skew between adjacent bits on a multi-wire bus since the serial data stream is carried over a single transmission line (which may be differential). A SerDes receiver deserializes the received serial data stream into the original multi-bit word. In some SerDes systems, a clock signal is not transmitted separately from the serial data stream such that the clock signal is instead embedded in the serial data stream. A SerDes receiver for an embedded clock protocol thus includes a clock data recovery (CDR) circuit that recovers a recovered clock signal from the binary transitions in the received serial data stream. However, a CDR circuit is not limited to embedded clock systems but may be also included in SerDes receivers for source synchronous systems in which the serial data stream is transmitted in parallel with a clock signal. Although the clock signal does not need to be recovered from the data in a source synchronous protocol, a CDR circuit in a source synchronous system aligns the received clock with the serial data stream to produce a recovered clock signal so that the received data may be properly sampled responsive to the recovered clock signal.
To save power, it is conventional to periodically disable the CDR circuit. The CDR circuit thus only functions during the periods in which it is enabled. In an ideal operation, the on-time duration for the CDR circuit would depend upon the process, voltage, and temperature (PVT) corner for the corresponding integrated circuit in which the SerDes is implemented. But such PVT-aware CDR periodicity is difficult to implement and requires on-chip thermal sensors.
There is thus a need in the art for CDR circuits with reduced power consumption.
A clock data recovery (CDR) circuit is disclosed for a SerDes receiver for both source synchronous and embedded clock protocols. In both protocols, the CDR circuit functions to filter the phase difference between binary transitions of a sampling clock signal and corresponding binary transitions in a received serial data stream to produce a filtered phase difference. A mixer mixes (phase interpolates) an input clock signal responsive to the filtered phase difference to form the sampling clock signal. The sampling clock signal is phase aligned by the phase interpolation to be centered within the data eye for the received serial data stream so that the received serial data stream may be accurately sampled by the sampling clock signal in a de-serializer. For an embedded clock implementation, a clock recovery circuit retrieves the input clock signal from the received serial data stream responsive to the binary transitions of the received serial data stream. In a source synchronous implementation, the input clock signal is received in parallel with the received serial data stream.
To reduce power consumption by the SerDes receiver, a clock divider divides the sampling clock signal by an adjustable divisor to form a divided clock signal. A phase detector determines the phase difference between the sampling clock signal and the received serial data stream by determining the phase difference between the divided clock signal and the received serial data stream. A CDR lock detector receives a phase detector output signal from the phase detector in the SerDes receiver to determine whether the sampling clock signal is locked (properly aligned with the data eye) to the received serial data stream. With regard to the phase difference determination, the phase detector compares the divided clock signal to the received serial data stream to determine whether clock edges in the divided clock signal lead or lag the corresponding binary transitions in the received serial data stream. For example, the phase detector signal may be formed as an up signal and a down signal. The phase detector asserts the up signal when the divided clock signal is lagging. Conversely, the phase detector asserts the down signal when the divided clock signal is leading. The loop filter filters the phase detector output signal to produce the filtered phase difference so that the mixer either increases or decreases the frequency and/or phase of the sampling clock signal as appropriate so that the sampling clock signal is centered with the data eye. In particular, if the phase detector output signal indicates that the sampling clock signal is lagging the serial data stream, the filtered phase difference forces the mixer to increase the frequency of the sampling clock signal. Conversely, if the phase detector output signal indicates that the sampling clock signal is leading the serial data stream, the filtered phase difference forces the mixer to decrease the frequency and/or phase of the sampling clock signal.
The clock data recovery lock detection circuit examines the phase detector output signal to determine whether the sampling clock signal is synchronized with the received serial data stream. If the determination is positive, the clock data recovery lock detection circuit asserts the lock signal. Prior to the assertion of the lock signal, the adjustable divisor has a first value. A selection circuit is configured to respond to the lock signal assertion by increasing the adjustable divisor to have a second value greater than the first value. The phase detector thus consumes less power after lock is achieved since the frequency of the divided clock signal is reduced by the increase of the adjustable divisor after lock is achieved.
These and other advantageous features may be better appreciated through the following detailed description.
To reduce power consumption after lock is achieved, a SerDes receiver includes a clock divider for dividing a sampling clock signal by an adjustable divisor to form a divided clock signal. A phase detector compares the divided clock signal to a received serial data stream to form a phase detector output signal that indicates whether the divided clock signal (and thus also the sampling clock signal) is leading or lagging in phase with respect to the received serial data stream.
The SerDes receiver functions slightly differently depending upon whether the system is source synchronous or whether an input clock signal is embedded within the serial data stream. In a source synchronous system, the input clock signal is transmitted in parallel with the serial data stream. A mixer produces the sampling clock signal through phase interpolation (phase shifting) by using a filtered phase difference between the divided clock signal and the received serial data stream as an interpolation control. A de-serializer samples the received serial data stream responsive to the sampling clock signal to form a parallel data output stream accordingly. Since the input clock signal is not embedded with the serial data stream in a source synchronous system, the SerDes receiver functions to adjust the phase and/or frequency of the sampling clock signal responsive to the filtered phase difference such that a phase detector output signal indicates that the sampling clock signal is phase aligned with a desired sampling point in a data eye for the received serial data stream. In an embedded clock implementation, the SerDes receiver includes a clock recovery circuit that functions to retrieve the input clock signal responsive to binary transitions in the received serial data stream. A source synchronous implementation will be discussed first followed by a discussion of an embedded clock implementation.
An example source synchronous SerDes receiver 100 is shown in
A clock divider 130 divides the I and Q versions of the sampling clock signal according to an adjustable divisor 165 to form a divided clock signal (in both I and Q forms also). Note that the quadrature clock path is optional and may be deleted in alternative implementations. Adjustable divisor 165 has at least a first divisor value (designated as Div value A) and a second divisor value (designated as Div value B). A selector circuit such as a multiplexer (Mux) 150 selects between the first and second divisor values to form adjustable divisor 165. A glitch preventer circuit 155 filters adjustable divisor 165 to prevent glitches such as runt pulses being formed in the divided I and Q signals from clock divider 130. Adjustable divisor 165 used by clock divider 130 as filtered by glitch preventer circuit 155 thus equals either the first divisor or the second divisor depending upon the selection by multiplexer 150.
A phase detector 135 compares the I and Q divided clocks to the equalized received serial data stream to form a phase detector output signal such as an UP signal and a down (DN) signal as known in the phase detector arts. A CDR lock detector 145 processes the UP and DN signals to determine whether the I and Q divided clock signals are locked with the equalized received serial data stream. For example, CDR lock detector 145 may be configured to detect a lock and thus assert a CDR lock detect output signal when the UP signal is asserted on average as much as the DN signal is asserted during a detection period. The detection period (which may also be denoted as an averaging time window) as well as an error threshold for detection may be fixed or programmable. For example, CDR lock detector 145 may be configured to detect a lock if the absolute value of (average (UP)−average (DN)) is less than the error threshold. Phase detector 135 asserts the UP signal when rising and/or falling edges for the divided clock signals are lagging the corresponding edges for the equalized received serial data stream. Similarly, phase detector 135 asserts the DN signal when rising and/or falling edges for the divided clock signals are leading the corresponding edges for the equalized received serial data stream.
Prior to a lock detection by CDR lock detector 145, multiplexer 150 forces clock divider 130 to divide with the smaller divisor value (e.g., Div value A) by setting adjustable divisor 165 accordingly. After a lock detection, CDR lock detector 145 asserts the CDR lock detect output signal. Multiplexer 150 responds to the assertion of the CDR lock detect output signal by forcing clock divider 130 to divide with the greater divisor value (e.g., Div value B) by setting adjustable divisor accordingly. It will be appreciated that this greater divisor value may be made adaptive in alternative implementations such that source synchronous SerDes receiver 100 would function to increase the divisor value so long as lock is maintained to maximize the power savings. In such an implementation, multiplexer 150 may then select for more than just two possible divisor values. For example, a first divisor value may equal 4 such that a 10 GHz received clock is divided down into a 2.5 GHz divided clock. After lock is achieved with the 2.5 GHz divided clock, a second divisor value such as 8 may be selected such that the 10 GHz received clock is divided down into a 1.25 GHz divided clock. Even greater divisor values may then be selected for by multiplexer 150 so long as lock is maintained.
Regardless of how many divisor values a given implementation for source synchronous SerDes receiver 100 uses, note the advantageous power consumption reduction by phase detector 135 when it compares a slower version of the divided clocks to the equalized received serial data stream following a lock to the received serial data stream. Source synchronous SerDes receiver 100 may thus be denoted as a “gear shifting” SerDes receiver in that the clock division may be deemed to shift into a higher gear by using an increased divisor value. A loop filter 140 filters the up and down signals from phase detector 135 to form filtered phase difference 160. Since I-mixer 120 phase shifts the I version of input clock signal 115 so that the sampling clock signal is positioned appropriately (e.g., centered) within the data eye for the equalized serial data stream, filtered phase difference 160 may be deemed to comprise a “recovered clock signal” in that phase detector 135, loop filter 140, and I-mixer 120 function as a source synchronous CDR circuit to keep the sampling clock positioned appropriately within the data eye.
An embedded clock SerDes receiver 101 is shown in
In one implementation, multiplexer 150 may be deemed to comprise a means for adjusting the adjustable divisor to equal a first divisor responsive to the divided clock signal not being locked with the serial data stream and for adjusting the adjustable divisor to equal a second divisor responsive to the divided clock signal being locked to the serial data stream.
An example method of receiving a serial data stream using a gear-shifting SerDes will now be discussed with regard to the flowchart of
It will thus be appreciated that many modifications, substitutions and variations can be made in and to the materials, apparatus, configurations and methods of use of the devices of the present disclosure without departing from the scope thereof. In light of this, the scope of the present disclosure should not be limited to that of the particular implementations illustrated and described herein, as they are merely by way of some examples thereof, but rather, should be fully commensurate with that of the claims appended hereafter and their functional equivalents.
Hailu, Eskinder, Pandita, Bupesh, Boyette, Jon
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
10014868, | Mar 31 2017 | XILINX, Inc. | Injection-locked phase interpolator |
10079607, | Aug 29 2017 | BAE Systems Information and Electronic Systems Integration Inc.; Bae Systems Information and Electronic Systems Integration INC | Calibrated lookup table for phase-locked loop reconfiguration |
6005904, | Oct 16 1997 | Standard Microsystems Corporation | Phase-locked loop with protected output during instances when the phase-locked loop is unlocked |
6744323, | Aug 30 2001 | MONTEREY RESEARCH, LLC | Method for phase locking in a phase lock loop |
8415996, | Jun 24 2011 | Altera Corporation | Clock phase corrector |
9208130, | Aug 16 2012 | XILINX, Inc.; Xilinx, Inc | Phase interpolator |
20060133466, | |||
20070047683, | |||
20080205570, | |||
20090296867, | |||
20110064176, | |||
20120194235, | |||
20130003907, | |||
20150198966, | |||
20150229298, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 25 2018 | Qualcomm Incorporated | (assignment on the face of the patent) | / | |||
Aug 20 2018 | HAILU, ESKINDER | Qualcomm Incorporated | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 046795 | /0588 | |
Aug 20 2018 | BOYETTE, JON | Qualcomm Incorporated | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 046795 | /0588 | |
Aug 21 2018 | PANDITA, BUPESH | Qualcomm Incorporated | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 046795 | /0588 |
Date | Maintenance Fee Events |
Jun 25 2018 | BIG: Entity status set to Undiscounted (note the period is included in the code). |
Jan 11 2023 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Date | Maintenance Schedule |
Aug 20 2022 | 4 years fee payment window open |
Feb 20 2023 | 6 months grace period start (w surcharge) |
Aug 20 2023 | patent expiry (for year 4) |
Aug 20 2025 | 2 years to revive unintentionally abandoned end. (for year 4) |
Aug 20 2026 | 8 years fee payment window open |
Feb 20 2027 | 6 months grace period start (w surcharge) |
Aug 20 2027 | patent expiry (for year 8) |
Aug 20 2029 | 2 years to revive unintentionally abandoned end. (for year 8) |
Aug 20 2030 | 12 years fee payment window open |
Feb 20 2031 | 6 months grace period start (w surcharge) |
Aug 20 2031 | patent expiry (for year 12) |
Aug 20 2033 | 2 years to revive unintentionally abandoned end. (for year 12) |