CLOCK DATA RECOVERY AND SYNCHRONIZATION IN INTERCONNECTED DEVICES
For synchronizing a master device and a slave device connected by a data transfer link, the master device measures a phase offset in a signal received from the slave device with respect to the master's clock signal. The master determines a control symbol based on the phase offset. The master encodes the control symbol in a transmit signal for the slave. The slave decodes the control symbol from the signal received from the master. The slave uses the control symbol to adjust the phase shift to compensate for the phase offset of a signal to be transmitted to the master device. When the phase compensated signal is received at the master, its phase offset is smaller than the original phase offset. This procedure can be performed iteratively until the phase offset is within a desired tolerance.
This application is a Divisional Application of, under 35 U.S.C. §121, and claims priority to, under 35 U.S.C. §121, U.S. Non-Provisional application Ser. No. 11/774,977, entitled Clock Recovery and Synchronization in Interconnected Devices, by John Yin, filed on Jul. 9, 2007.
BACKGROUND OF THE INVENTIONThis invention relates to computationally efficient clock data recovery and synchronization in systems with interconnected devices having high rates of data transfer between devices.
Several trends in system design are increasing the demand for data transfer in interconnected devices. The volume of data requiring transfer between digital devices are constantly increasing, driving a requirement for higher data transfer rates. As an example, more digital signal processing applications are being performed by field programmable gate arrays (FPGAs) instead of conventional digital signal processors. System designs require more interconnections between FPGA devices and between FPGA devices and other devices. In the past, interface architectures among multiple devices have typically used parallel connections. The major drawback of parallel connections among multiple processing devices is a proliferation of input/output (I/O) pins. To avoid this, the trend in current designs is to use high speed serial links. Currently, device connections within a system are migrating from parallel backplanes to serial links.
Digital devices inherently require a clock for timing internal and external operations. For serial links, synchronization of the clocks at the transmitting device and the receiving device is critical for successful data transfer. A loss of synchronization may jeopardize the integrity of the data. The clock provides the time base used to control the transfer of digital information. Reliable link design for two chips on a board include source synchronous design, where the transmitting device, or source, provides the data and a clock signal. The receiving device then synchronizes to the received clock signal. For communication between boards, there is a need to minimize the number of wires, so a separate clock signal on a separate wire is not used. Instead, the transmitting device embeds the clock signal in the data. The receiving device recovers the clock signal embedded in the received signal.
Recovering the clock signal is referred to as clock data recovery (CDR) or clock recovery. CDR is required for two basic purposes: first, to establish a timing signal to sample the incoming pulses or signal and second, to transmit outgoing pulses or signal at the same rate as that of the incoming signal. A CDR module includes a phase lock loop (PLL). The PLL locks to the frequency and phase of an input signal and generates an output signal that is synchronized to the input signal. This output signal can be used as a clock signal. For this discussion, “clock” and “clock signal” both refer to a timing signal. Also for this discussion, a “clock source” generates a clock signal that is independent of any other clock signal in the system.
A system that includes an analog to digital converter (ADC) connected to a digital processor is a preferred implementation for many applications. Typically, an ADC is on the same board as the digital processor. This is a disadvantage for some applications. For example, in a digital radio system, transferring the received analog signal from an antenna or analog front end (AFE) to the ADC requires expensive cables for radio frequency (RF) signals. Positioning the ADC near the AFE improves signal reception and would allow the received analog signal to be digitized and transmitted the over a lower cost digital link. However, the digital signal processing portion would require a computationally expensive CDR module for the digital link. It would be advantageous to avoid consuming the resources of the digital signal processing portion of the system with CDR operations. For applications that transfer data between a remote ADC and a digital signal processing device, efficient clock recovery would conserve system resources.
Clock data recovery is an important component of communication systems and data networks. There are two major strategies for clock synchronization, one used in telecommunication systems, described herein as the telecom model, and the other used in data networks, described herein as the datacom model. Both models include CDR modules for synchronization on both sides of the communications link.
In the telecom model, a typical arrangement for a communication system includes a master station and one or more slave stations, each station including a transmitter (TX) and a receiver (RX). The master station and the slave station each include a CDR module for the received signal. The master includes a clock source for its TX. The master transmits the clock signal from the clock source in addition to data embedded in the transmitted signal. The slave station includes a CDR module to synchronize to the received clock signal. The output of the CDR module is the recovered RX clock signal. The slave station uses the recovered RX clock signal to synchronize its TX clock signal. The synchronized TX clock signal is used for timing the slave's transmit signal. At this point, the slave's RX clock frequency matches the TX clock frequency. However, when the master station receives the signal transmitted from the slave, the master still has to synchronize to the phase of the received data, even though the clock frequency is matched. The phase offset is due to propagation delay that is a function of connection length and other distortions. The telecom model is prevalent the digital telephone network and wide area network (WAN) architectures.
In the datacom model, such as in Ethernet networks, the TX and RX of each station have independent timing control. Each station includes a clock source that produces a clock signal that is embedded in the transmitted signal. Each station also includes a CDR module that locks to the embedded clock signal of the signal received from the other station.
In current architectures using the telecom model or the datacom model, a digital device requires CDR for every communication channel with any remote device. Each CDR module includes a computationally expensive PLL. For example, current commercially available FPGAs include various numbers of PLL resources, where low end devices having 0 to 2 PLLs and high end devices having 4 to 8 PLLs. In addition, not all FPGA PLLs have the same capability. In specialized high end FPGAs, some of the PLLs are capable of supporting CDR functionality. Other FPGA devices have PLLs with lesser functionality that do not support CDR operations. For systems with multiple interconnected devices, the cost and complexity for communication among devices increases for every channel. This produces scalability problems, where the overhead for communication becomes prohibitive. The implementation of a PLL on an FPGA is physically large on the die. Therefore, the PLL is the most expensive resource on the FPGA. There is a need to reduce the number of PLLs required for communication in systems having interconnected FPGAs and other devices. Reducing the requirements for PLLs conserves the most precious resource of the FPGA, thus reducing the cost and complexity of the system. Similarly, for device implementations using an application specific integrated circuit (ASIC), digital signal processor, microcontroller or microprocessor, reducing the number PLLs conserves resources for other application tasks. The present invention addresses this need and others as described below.
SUMMARY OF THE INVENTIONAn object of the present invention is to provide a method and an apparatus for synchronizing interconnected devices in a system using fewer system resources than conventional systems. For a system having two devices, a master device and a slave device, connected by a data transfer interface, or link, the master device includes a phase comparator that measures a phase offset in a signal received from the slave device with respect to the master's clock signal. The master includes a control symbol generator that determines a control symbol based on the phase offset. The master includes an encoder that encodes the control symbol in a transmit signal for the slave. The slave includes a decoder that decodes the control symbol from the signal received from the master. The slave uses the control symbol to adjust the phase shift of a signal to be transmitted to the master device. The phase shift is adjusted to compensate for the phase offset that occurs due to propagation over the link to the master. When the phase compensated signal is received at the master, its phase offset is smaller than the original phase offset. This procedure can be performed iteratively until the phase offset is within a desired tolerance.
Another object of the invention is to make systems with interconnected devices more scalable by reducing the communications overhead. In a system with a master device in communication with a plurality of slave devices over a plurality of links, the master includes a phase comparator, a control symbol generator and an encoder for each slave device. The master produces and transmits a corresponding control symbol to each slave device. Each slave device applies its corresponding control symbol to adjust the phase shift of its transmit signal. The transmit signal of each slave is phase compensated prior to transmission over the corresponding link to the master. Each resulting received signal at the master has a reduced phase offset as described above.
Another object of the invention is to reduce the complexity of the slave device by performing the phase compensation at the master device. The master device includes a phase adjuster in addition to the phase comparator. The phase adjuster applies a phase shift to a signal received from the slave to reduce the phase offset. Alternatively, the phase adjuster applies a phase shift to the its transmit signal. The slave's PLL locks to the phase shift in the signal received from the master. In response to the phase shifted clock signal generated by the PLL, the slave produces a phase compensated signal for transmission to the master. When the phase compensated signal is received at the master, the resulting received signal will have a smaller phase offset than the previous received signal.
Another object of the invention is to provide efficient implementation for an analog to digital converter (ADC) application. The slave device includes an ADC that produces digital signal samples from an input analog signal. The slave device encodes the signal samples to form a transmit signal for the master. The procedures described above will result in a phase compensated signal at the master.
An advantage of the present invention is the reduced complexity in a system of interconnected devices and lower communications overhead. Another advantage is that the accuracy of the synchronization is not sacrificed in order to achieve lower complexity. Another advantage is that the lower complexity reduces system cost.
In any interconnected system, data transfer between devices requires the receiving device to synchronize to signals received from the transmitting device.
Each device in the systems represented in
Embodiments of the present invention eliminate the need for one PLL in one of the two communicating devices shown in
The control symbol represents the phase adjustment applied to the slave's transmit clock signal 618. The control symbol can represent one or more phase adjustment parameters, including a phase correction value, a phase step size (granularity), a number of phase steps, a delay interval corresponding to the phase correction, a polarity indicator and other representations.
The controller 619 applies the phase adjustment to the recovered clock signal 617, output by the CDR module 616, to produce a phase shifted clock signal, the TX clock signal 618, at its output. The RX clock signal 617 results from the conventional clock recovery operation of the PLL in the CDR module 616. The TX clock signal 618 is a phase shifted version of the RX clock signal 617 resulting from the phase compensation in accordance with the control symbol. In an alternative embodiment for the telecom model, the slave's CDR module 616 produces one clock signal in the slave device. Since the slave's CDR module 616 has matched the frequency of the master clock source 622, the phase adjustment can be implemented by delaying the slave's transmit signal by a time interval that compensates for the phase offset.
The embodiments of the telecom model of
-
- 1) at the master, calculating the average of several phase offsets and generating the control symbol based on the average phase offset,
- 2) using variable step sizes for phase adjustments.
The master can transmit the control symbol using control channels of a transmit signal carrying valid data. Alternatively, the master can transmit the control symbol in an idle signal. An idle signal is transmitted during an idle state or invalid state when payload data are not transmitted. A preferred embodiment uses 8 B/10 B encoding known to those skilled in the art and described in the book, “Ethernet the Definitive Guide” by Charles E. Spurgeon, pages 166-7. An 8 B/10 B encoder uses 10 bits to encode 8 bit data words. This maps 256 data words, corresponding to 8 bits, to 1024 possible words. Some of the 768 spare words are used for control words and others are not used. The encoder 606 for the telecom model and the encoder 810 for the datacom model can encode the control symbol using one or more of the spare words. For embodiments using a training pattern, such as that depicted in
In the embodiments described thus far, the phase feedback control loop passes from the master to the slave and the phase compensation is performed at the slave. The phase control feedback ultimately results in a phase compensated receive signal at the master. These embodiments are advantageous for conserving the resources of the master device. Removing the computationally expensive PLL that would otherwise be required for each link and replacing it with simpler phase comparison frees resources at the master device for other operations in the application.
In the embodiments described in the following with respect to
Embodiments of the present invention reduce the complexity of a master device that is interconnected with one or more slave devices by eliminating the PLL in the master device that would be required for each connection in conventional architectures. Referring back to
In an application with an ADC in communication with a digital processor, an embodiment of the present invention implements the operations of the master in the digital processor. The ADC converts an input analog signal to a digital signal that is transferred to the digital processor. The slave's operations can be implemented in a digital portion of the ADC device or a digital interface for transferring the digital signal from the ADC to the digital processor.
The applications for ADC can be used in a digital radio system. An embodiment of the present invention positions the ADC near the (AFE) of the receiver of a digital radio system. The ADC digitizes the received analog signal and transfers it the over a digital link to a digital processor for signal processing and demodulation operations.
In an application where a digital processor is connected with one or more memory devices, an embodiment of the present invention implements the operations of the master in the digital processor and the operations of the slave in the memory device. The embodiments where the master performs the phase adjustment operations, described with respect to
Specific implementations of the master and slave devices depend on the application and the functions of the interconnected devices. Implementations of master and slave operations can use one or more digital processing technologies appropriate for the application, including FPGA, complex programmable logic devices (CPLD), ASIC, digital signal processor (DSP), microcontroller and microprocessor. For the embodiments of
While the preferred embodiments of the invention have been illustrated and described, it will be clear that the invention is not limited to these embodiments only. Numerous modifications, changes, variations, substitutions and equivalents will be apparent to those skilled in the art, without departing from the spirit and scope of the invention, as described in the claims.
Claims
1. In a system having at least two interconnected devices, wherein a first device and a second device are connected by a data transfer link, the first device including a clock source and the second device including a phase lock loop, a method for reducing a phase offset of a signal received at the first device, comprising:
- at the first device,
- transmitting a prior signal from the first device to the second device in accordance with a clock signal from the clock source;
- at the second device,
- receiving the prior signal at the second device to form a received prior signal;
- applying the phase lock loop to the received prior signal to form a recovered clock signal synchronized to the received prior signal;
- generating a first transmit signal in accordance with the recovered clock signal;
- transmitting the first transmit signal to the first device;
- at the first device,
- receiving the first transmit signal to form a first received signal;
- measuring the phase offset between the first received signal and the clock signal to form a first phase offset; and
- adjusting the first received signal to reduce the first phase offset to form a phase compensated received signal.
2. The method of claim 1, wherein at the first device, the step of measuring the phase offset further comprises:
- comparing a signal phase of the first received signal to a clock phase of the clock signal to determine the first phase offset.
3. The method of claim 1, wherein the first received signal contains a training pattern represented at the first device in a reference training pattern, the step of measuring the phase offset further comprising:
- at the first device,
- extracting the training pattern from the first received signal to form a received training pattern; and
- comparing the received training pattern with the reference training pattern to determine the first phase offset.
4. The method of claim 1, further comprising:
- at the first device,
- inserting a training pattern in the prior signal for the step of transmitting a prior signal, wherein at the second device, the received prior signal contains the training pattern, wherein the step of generating a first transmit signal includes inserting the training pattern in the first transmit signal.
5. The method of claim 1, wherein at the first device, the step of adjusting the first received signal further comprises:
- adjusting a clock phase of the clock signal to reduce the first phase offset forming a phase compensated clock signal; and
- forming the phase compensated received signal in accordance with the phase compensated clock signal.
6. The method of claim 1, wherein the second device includes an analog to digital converter, the method further comprising:
- at the second device,
- sampling an analog signal using the analog to digital converter to form a plurality of signal samples; and
- encoding the signal samples to form the first transmit signal.
7. The method of claim 1, wherein the first device comprises a field programmable gate array performing the steps of the first device.
8. The method of claim 1, wherein the second device comprises a field programmable gate array performing the steps of the second device.
9. In a system having at least two interconnected devices, wherein a first device and a second device are connected by a data transfer link, an apparatus for reducing a phase offset of a signal received at the first device, comprising:
- at the first device,
- a clock source that generates a clock signal;
- a first transmitter coupled to the data transfer link and the clock source, the first transmitter forming a prior signal in accordance with the clock signal and transmitting the prior signal over the data transfer link to the second device;
- at the second device,
- a second receiver coupled to the data transfer link, the second receiver receiving the prior signal to form a received prior signal;
- a phase lock loop coupled to receive the received prior signal, the phase lock loop generating a recovered clock signal synchronized with the received prior signal;
- a second transmitter responding to the recovered clock signal to form a first transmit signal synchronized with the recovered clock signal, the second transmitter transmitting the first transmit signal over the data transfer link to the first device;
- at the first device,
- a first receiver that receives the first transmit signal to form a first received signal;
- a phase comparator coupled to the first receiver and the clock source, the phase comparator measuring the phase offset between the first received signal and the clock signal to form a first phase offset; and
- a phase compensator coupled to receive the first received signal, the first phase offset and the clock signal, the phase compensator adjusting the first received signal to reduce the first phase offset to form a phase compensated received signal.
10. The apparatus of claim 9, wherein at the first device, the phase comparator compares a signal phase of the first received signal to a clock phase of the clock signal to determine the first phase offset.
11. The apparatus of claim 9, wherein the first received signal contains a training pattern represented at the first device in a reference training pattern, the phase comparator further comprising:
- a pattern decoder coupled to the first receiver and extracting the training pattern from the first received signal to form a received training pattern; and
- a data comparator coupled to the pattern decoder and comparing the received training pattern to the reference training pattern to determine the first phase offset.
12. The apparatus of claim 9, further comprising:
- at the first device,
- a training pattern generator coupled to the first transmitter and inserting a training pattern in the prior signal, the first transmitter transmitting the prior signal over the data transfer link; and
- at the second device,
- a loopback controller coupled to the second receiver and the second transmitter, the second receiver receiving the prior signal to form a received prior signal containing the training pattern and the second transmitter responding to the loopback controller to transmit the training pattern in a second prior signal over the data transfer link to the first device, the second prior transmit signal forming the first received signal at the first device.
13. The apparatus of claim 9, wherein the phase compensator further comprises:
- a clock phase adjuster coupled to receive the clock signal and the first phase offset, the clock phase adjuster applying a phase shift to the clock signal to reduce the first phase offset forming a phase compensated clock signal, wherein the phase compensator responds to the phase compensated clock signal to form the phase compensated received signal.
14. The apparatus of claim 9, wherein the second device further comprises:
- an analog to digital converter coupled to receive an analog signal and producing a plurality of signal samples; and
- a signal encoder coupled to receive the signal samples from the analog to digital converter, the signal encoder encoding the signal samples to form the first transmit signal.
15. The apparatus of claim 9, wherein the first device is implemented in a field programmable gate array.
16. The apparatus of claim 9, wherein the second device is implemented in a field programmable gate array.
17. In a system having a master device connected to a plurality of slave devices by a plurality of data transfer links, wherein each of a plurality of signals received at the master device has a corresponding phase offset, an apparatus for reducing each phase offset, comprising:
- at the master device,
- a clock source that generates a clock signal;
- a plurality of first transmitters, each first transmitter coupled to a corresponding data transfer link and the clock source, each first transmitter forming a corresponding prior signal in accordance with the clock signal and transmitting the corresponding prior signal to a corresponding slave device;
- at each slave device,
- a second receiver coupled to the corresponding data transfer link, the second receiver receiving the corresponding prior signal to form a received prior signal;
- a phase lock loop coupled to receive the received prior signal, the phase lock loop generating a recovered clock signal synchronized with the received prior signal;
- a second transmitter responding to the recovered clock signal to form a corresponding first transmit signal synchronized with the recovered clock signal, the second transmitter transmitting the corresponding first transmit signal over the corresponding data transfer link to the master device;
- at the master device,
- a plurality of first receivers, each first receiver receiving the corresponding first transmit signal to form a corresponding first received signal;
- a plurality of phase comparators, each phase comparator coupled to a corresponding first receiver and the clock source, each phase comparator measuring the phase offset between the corresponding first received signal and the clock signal to form a corresponding first phase offset; and
- a plurality of phase compensators, each phase compensator coupled to receive the corresponding first received signal and the corresponding first phase offset, each phase compensator adjusting the corresponding first received signal to reduce the corresponding first phase offset to form a corresponding phase compensated received signal.
Type: Application
Filed: Jan 6, 2011
Publication Date: Apr 28, 2011
Inventors: John Yin (Fremont, CA), Bryan H. Hoyer (Boulder Creek, CA)
Application Number: 12/985,821
International Classification: G06F 1/12 (20060101);