Received data information is converted into digital data by sampling the data information and making a determination of the digital state for each bit. It is important that the clock which controls the time at which each data decision is made occurs at an optimal time, i.e. at the maximum signal to noise ratio of the received data information. This invention provides an improved clock control apparatus in which the clock timing is updated only upon receipt of one of a predetermined set of data sequences to enhance optimal timing. #1#
|
#1# 17. A data receiver that converts a received analog signal, the received analog signal containing data information into a corresponding sequence of digital data signals, each represented by a logic state, said receiver comprising:
means for sampling each digital data signal of said sequence at sampling times for determining the logic state thereof at each sampling time, the time interval between each sampling time being adjustable; means for detecting at least one predetermined sequence of digital data signals; means for adjusting the time intervals between the sampling times of said sampling upon detection of one of said predetermined data sequences.
#1# 21. In a data receiver arranged for converting a received analog signal containing data information into a corresponding sequence of digital data signals, a method for recovering timing associated with a sequence of digital data signals, each represented by a logic state, said method comprising the steps of:
sampling each digital data signal of said sequence at sampling times having adjustable time intervals therebetween; determining the logic state of data corresponding to said sampling time; detecting one predetermined sequence of digital data signals; adjusting the time intervals between the sampling times of said sampling upon detection of one of the predetermined data sequences.
#1# 13. A method for recovering timing associated with a sequence of digital data signals comprising the steps of:
generating a data sample clock of periodic sampling times corresponding to the sequence of digital data signals; determining if each sampling time of said data sample clock occurs within a predetermined range for its corresponding digital data signal; adjusting the period of the sampling times of said clock only when said determining means determines that a sampling time of said sample clock did not occur within said range of its corresponding digital data signal and said sampling later determines that the logic state of the sampled data comprises the 1 state of a 0-1-0 logic sequence or the 0 state of a 1-0-1 logic sequence.
#1# 7. An apparatus for receiving data information and for converting said data information into a sequence of digital data signals, said apparatus including means for recovering timing associated with said sequence of digital data signals comprising:
means for generating a data sample clock of periodic sampling times corresponding to the sequence of digital data signals; means for determining if each sampling time of said data sample clock occurs within a predetermined range for its corresponding digital data signal; means for adjusting the period of the sampling times of said clock only when said determining means determines that a sampling time of said sample clock did not occur within said predetermined range of its corresponding digital data signal and said sampling later determines that the logic state of the sampled data comprises the 1 state of a 0-1-0 logic sequence or the 0 state of a 1-0-1 logic sequence.
#1# 1. A data communications apparatus comprising:
a transmitter that converts digital data into an analog signal containing data information for transmission over a communications channel; a receiver that converts an analog signal including data information received via said communication channel into a corresponding sequence of digital data signals, each represented by a logic state, said receiver comprising: means for sampling each digital data signal of said sequence at adjustable sampling times for determining the logic state thereof at each sampling time; means for generating a signal representative of a time derivative of said received analog signal, said time derivative signal varying in amplitude above and below a predetermined reference level, said time derivative signal being considered of one sign when it's amplitude is above said level and of another sign when its amplitude is below said level; means for determining at least the sign of the time derivative signal adjacent each sampling time; and means for detecting at least one predetermined sequence of sampled logic states; means for adjusting the sampling times of said sampling based upon said at least sign of the time derivative signal and logic state of said data samples only upon detection of said at least one predetermined sequence of sampled logic states by said detecting means.
#1# 2. The apparatus according to
#1# 3. The apparatus according to
#1# 4. The apparatus according to
#1# 5. The apparatus according to
#1# 6. The apparatus according to
#1# 8. The apparatus according to
#1# 9. The apparatus according to
#1# 10. The apparatus according to
#1# 11. The apparatus according to
#1# 12. The apparatus according to
#1# 14. The method according to
#1# 15. The method according to
#1# 16. The method according to
#1# 18. The receiver according to
#1# 19. The receiver according to
#1# 20. The receiver according to
#1# 22. The method according to
#1# 23. The method according to
#1# 24. The method according to
|
This invention relates to communications systems in which timing information needed to recover data transmitted over the system must be derived. It is especially suited for timing recovery in systems where phase distortion due to the transmission channel causes asymmetrical distortion of the data waveform.
It is known in a modem data receiver to detect zero crossings of the baseband signal to determine a time reference. A baseband sampling clock can be phase locked to the zero crossings with a one half cycle delay to yield a clock for data sampling at the mid point in the cycle. However, due to transmission distortions and imperfect processing of the received signal at the receiver, the zero crossings may lead the desired sampling point by more or less than one half cycle. Such conditions produce less than optimum results since the sampling time is not at the best point.
The desired time to sample the received data signal is at the maximum signal-to-noise ratio (SNR), sometimes referred to as the maximum eye opening. Even if the sample point could be kept at the mid-cycle point, this will not produce optimum results where phase distortion has caused the data waveform to have a maximum SNR at other than the mid-cycle point.
In U.S. Pat. No. 3,440,548 the choice of the sampling instant for a synchronous digital data receiver is based on the use of the time derivative of the received data signal rather than its threshold crossings. Pattern sensitivity problems are addressed in U.S. Pat. No. 4,797,900.
It is an object of the present invention to provide an improved timing recovery apparatus which uses only selected data information from which to control the data sampling time to maximize performance.
FIG. 1 is a block diagram of a data communications device having a data receiver which incorporates an embodiment of the present invention.
FIG. 2 is a block diagram of an embodiment of a timing recovery circuit according to the present invention.
FIG. 3 is a flow diagram illustrating the steps for practicing a method according to the present invention.
FIGS. 4A-4D each represent a data waveform with a superimposed derivative waveform illustrating phase error detection according to the present invention.
FIG. 1 illustrates a digital communications apparatus 10 such as a modem which includes a transmitter 12 which receives data from a data source and transmits it over communication channel 14. A receiver 16 receives digital information over communication channel 14 and converts it to digital data. Receiver 16 must demodulate or recover data information from channel 14. The data may be transmitted over the channel from a remote transmitter by using a variety of techniques including quadrature amplitude modulation, frequency modulation, phase modulation, or direct DC signalling. Regardless of the method, receiver 16 must derive timing information in order to determine the optimum instance at which to recover the sequentially sent data.
FIG. 2 illustrates an embodiment of an apparatus according to the present invention for providing improved timing recovery in a data receiver. It will be apparent to those skilled in the art that the illustrative embodiment of a timing recovery circuit will be utilized with other conventional circuits and functions in a data receiver. A received signal 18 is filtered by bandpass filter 20 to provide a filtered baseband signal 22. A derivative circuit 24 generates the derivative signal 26 of baseband signal 22. Of course if the derivative signal is available from other circuitry the derivative stage 24 could be omitted. Comparators 28 and 30 process the baseband signal 22 and derivative signal 26, respectively, and generate binary digital signals representative of each signal.
Latches 32 and 34 are used to latch or hold the binary output of comparator 28 and 30, respectively, as determined by timer 36. The DATA output of latch 32 and the DERIV output of latch 34 comprise the sampled binary output of the baseband signal and the derivative of the baseband signal, respectively. This information is utilized by phase error detector 38 which is preferably implemented by a microprocessor associated with the data receiver. The detector 38 provides an output that controls timer load selector 40 which is utilized to load timer 36 with a variable parameter which corresponds to the sampling time instant to be utilized to detect incoming data. This parameter may consist of a number that is loaded into a counter associated with the timer.
FIG. 3 illustrates a flow diagram of a program for implementing the phase error detector function. The "wait for timer rollover" step 42 inhibits operation until the end of a data timing cycle. The "reload timer" step 44 causes the timer to be reloaded with a timing variable which will determine the start of the sampling sequence which includes the DATA sample point. In the "initialize next timer load to standard load" step 46, the timing variable which will be used in the next cycle is initialized to a predetermined standard time interval which corresponds to the anticipated data rate.
In step 48, at least the sign of the time derivative of the received signal, just prior to step 50, is stored as DERIVA for later use. In the preferred method, this information consists of a binary true or false state. In step 50 the baseband signal is sampled and a data state determination made and stored as DATA. In step 52 the derivative signal is again sampled just after step 50 and stored as DERIVB. It will be understood that steps 48, 50, and 52 occur in a time sequence such that the derivative is determined just before and after the sampling of the data (step 50). These derivatives define a range around the maximum SNR of the received data signal. This range is small relative to a bit time interval.
In step 54 the decision is determined if DERIVA and DERIVB are equal. That is, are they both false or both true? If the decision is NO, then step 56 determines that the current data bit phase is correct. If the decision is YES, then step 58 determines that the current data bit phase is incorrect. Regardless of the phase being correct or incorrect, step 60 determines if a complete 1-0-1 or 0-1-0 sequence has occurred. This sequence refers to a received data sequence. If the decision is NO, control passes to step 42 which results in the standard time being utilized for timing. If the decision is YES, a determination is made by decision step 62 as to whether the previous data bit phase was correct. This step uses the decision made by steps 56 and 58 for the preceding data cycle. If the previous phase was correct (YES), control passes to step 42 and the timer will utilize the standard time variable. If the decision is NO, the previous data bit DATA and DERIVA are exclusive-or'ed (EXOR). This step determines whether the time variable, and hence sample clock, is to be increased or decreased. In step 66 the time variable is adjusted so that the next timer reload 44 will not be the standard time load but will be an adjusted value as determined by the need to increase or decrease the clock. In the illustrative embodiment, the amount of each increase or decrease may consist of a predetermined amount. Following step 66, control passes to step 42 wherein the cycle is repeated.
An important aspect of the present invention resides in the recognition that if the DATA and DERIV signals were used to update the timer for every data bit, optimal sampling time would not result. For example, in a binary data transmission system, if the previous data sample point was substantially at the optimal point, use of the next data bit update would cause the sample point to change slightly from the optimal point since some "correction" would occur. This results in moving the sampling point from a better position to a worse position.
The present invention contemplates that the baseband data signal and derivative of that signal provide the most accurate information in which to base timing when the received data sequence is 1-0-1 or 0-1-0. These two sequences provide a symmetrical waveform relative to the middle data bit. Updating the sample clock only upon these sequences eliminates timing decisions based upon a sequence of data consisting of the same data state in which the time derivative does not provide needed information.
Returning to FIG. 3, steps 60-64 require the storage of DATA for two preceding cycles and DERIVA and DERIVB for one preceding cycle. This stored information is utilized in conjunction with the current cycle information so that the decision in step 60 and the function in step 64 can be performed. It will be recognized that if such a sequence has not occurred then no timer adjustment is made. If one of the two defined sequences has occurred as determined by step 60, step 62 makes the further determination if the previous or middle in the three data bit sequence had the correct phase. If it did have the correct phase (YES), then the timer is not adjusted. If it was not correct, then the timer adjustment is made as determined by step 64. The use of an EXOR function for the middle data bit DATA and DERIVA is utilized to determine if the clock needs to be increased or decreased.
FIGS. 4A-4D illustrate the two data waveform sequences satisfying the 1-0-1 or 0-1-0 sequence. FIGS. 4A and 4B illustrate a 0-1-0 data sequence represented by waveform 70. The binary waveform 72 is the sign of the time derivative (DERIV) of corresponding waveform 70. FIG. 4A illustrates the sample point or clock 74 as being late relative to waveform 70, that is, it does not occur at the maximum SNR of waveform 70 as indicated by the earlier transition of waveform 72. At the sample point, DATA=1, DERIV=0, EXOR of DATA with DERIV=1 which corresponds to the need to speed up the clock timing. FIG. 4B illustrates the sample point 76 as being early. At the sample point, DATA=1, DERIV=1, and EXOR or DATA and DERIV=0 which indicates the timing needs to be slowed down.
FIGS. 4C and 4D represent a 1-0-1 data sequence. FIG. 4C illustrates the data waveform 78 relative to the DERIV waveform 80. Sample point 82 is late relative to the maximum SNR of waveform 78. As shown at the sample point, DATA=0, DERIV=1 and EXOR of DATA and DERIV=1 indicating a need to speed up the clock. FIG. 4D illustrates sample point 84 occurring early wherein DATA=0, DERIV=0 and EXOR of DATA and DERIV=0 indicating the need to slow down the timing.
It will be seen by comparing the EXOR functions for the examples shown in FIGS. 4A-4D, an EXOR=1 indicates the need to speed up and a 0 the need to slow down for both the 0-1-0 and 1-0-1 data sequences. This corresponds to step 64 of FIG. 3 in which the change of speed determination is made. Either DERIVA or DERIVB could be utilized for the EXOR function in step 64 since both must have same state in order to reach step 64. This results from step 62 wherein a determination that the previous phase is correct, i.e. DERIVA and DERIVB having opposite states, would prevent the implementation of step 64.
Determining the derivative just prior to and just after the data sample point according to steps 48-52 allows a correct or incorrect phase decision to be made. The decision made by step 62 prevents "over correcting" the sample point, i.e. causing it to move away from the optimal point. This logic inhibits unnecessary corrections when the current state of operation is within acceptable limits.
Although an illustrative embodiment of the present invention has been described and illustrated in the drawings, the scope of the invention is defined by the claims which follow.
Patent | Priority | Assignee | Title |
10291324, | Feb 05 2001 | II-VI Incorporated; MARLOW INDUSTRIES, INC ; EPIWORKS, INC ; LIGHTSMYTH TECHNOLOGIES, INC ; KAILIGHT PHOTONICS, INC ; COADNA PHOTONICS, INC ; Optium Corporation; Finisar Corporation; II-VI OPTICAL SYSTEMS, INC ; M CUBED TECHNOLOGIES, INC ; II-VI PHOTONICS US , INC ; II-VI DELAWARE, INC; II-VI OPTOELECTRONIC DEVICES, INC ; PHOTOP TECHNOLOGIES, INC | Method of monitoring an optoelectronic transceiver with multiple flag values for a respective operating condition |
10366045, | Oct 19 1999 | Rambus Inc. | Flash controller to provide a value that represents a parameter to a flash memory |
5793821, | Jun 07 1995 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Timing Recovery using group delay compensation |
6684263, | Oct 19 1999 | Rambus Inc. | Apparatus and method for topography dependent signaling |
7024502, | Oct 19 1999 | Rambus Inc. | Apparatus and method for topography dependent signaling |
7032057, | Oct 19 1999 | Rambus Inc. | Integrated circuit with transmit phase adjustment |
7051129, | Oct 19 1999 | Rambus Inc. | Memory device having programmable drive strength setting |
7051130, | Oct 19 1999 | Rambus Inc. | Integrated circuit device that stores a value representative of a drive strength setting |
7539802, | Oct 19 1999 | Rambus Inc. | Integrated circuit device and signaling method with phase control based on information in external memory device |
7546390, | Oct 19 1999 | Rambus, Inc. | Integrated circuit device and signaling method with topographic dependent equalization coefficient |
7565468, | Oct 19 1999 | Rambus Inc. | Integrated circuit memory device and signaling method for adjusting drive strength based on topography of integrated circuit devices |
8001305, | Oct 19 1999 | Rambus Inc. | System and dynamic random access memory device having a receiver |
8086100, | Feb 05 2001 | II-VI Incorporated; MARLOW INDUSTRIES, INC ; EPIWORKS, INC ; LIGHTSMYTH TECHNOLOGIES, INC ; KAILIGHT PHOTONICS, INC ; COADNA PHOTONICS, INC ; Optium Corporation; Finisar Corporation; II-VI OPTICAL SYSTEMS, INC ; M CUBED TECHNOLOGIES, INC ; II-VI PHOTONICS US , INC ; II-VI DELAWARE, INC; II-VI OPTOELECTRONIC DEVICES, INC ; PHOTOP TECHNOLOGIES, INC | Optoelectronic transceiver with digital diagnostics |
8214570, | Oct 19 1999 | Rambus Inc. | Memory controller and method utilizing equalization co-efficient setting |
8458385, | Oct 19 1999 | Rambus Inc. | Chip having register to store value that represents adjustment to reference voltage |
8515284, | Feb 05 2001 | II-VI Incorporated; MARLOW INDUSTRIES, INC ; EPIWORKS, INC ; LIGHTSMYTH TECHNOLOGIES, INC ; KAILIGHT PHOTONICS, INC ; COADNA PHOTONICS, INC ; Optium Corporation; Finisar Corporation; II-VI OPTICAL SYSTEMS, INC ; M CUBED TECHNOLOGIES, INC ; II-VI PHOTONICS US , INC ; II-VI DELAWARE, INC; II-VI OPTOELECTRONIC DEVICES, INC ; PHOTOP TECHNOLOGIES, INC | Optoelectronic transceiver with multiple flag values for a respective operating condition |
8775705, | Oct 19 1999 | Rambus Inc. | Chip having register to store value that represents adjustment to reference voltage |
8849123, | Feb 05 2001 | II-VI Incorporated; MARLOW INDUSTRIES, INC ; EPIWORKS, INC ; LIGHTSMYTH TECHNOLOGIES, INC ; KAILIGHT PHOTONICS, INC ; COADNA PHOTONICS, INC ; Optium Corporation; Finisar Corporation; II-VI OPTICAL SYSTEMS, INC ; M CUBED TECHNOLOGIES, INC ; II-VI PHOTONICS US , INC ; II-VI DELAWARE, INC; II-VI OPTOELECTRONIC DEVICES, INC ; PHOTOP TECHNOLOGIES, INC | Method of monitoring an optoelectronic transceiver with multiple flag values for a respective operating condition |
9110828, | Oct 19 1999 | Rambus Inc. | Chip having register to store value that represents adjustment to reference voltage |
9135186, | Oct 19 1999 | Rambus Inc. | Chip having port to receive value that represents adjustment to output driver parameter |
9135967, | Oct 19 1999 | Rambus Inc | Chip having register to store value that represents adjustment to output drive strength |
9152581, | Oct 19 1999 | Rambus Inc. | Chip storing a value that represents adjustment to output drive strength |
9184850, | Feb 05 2001 | II-VI Incorporated; MARLOW INDUSTRIES, INC ; EPIWORKS, INC ; LIGHTSMYTH TECHNOLOGIES, INC ; KAILIGHT PHOTONICS, INC ; COADNA PHOTONICS, INC ; Optium Corporation; Finisar Corporation; II-VI OPTICAL SYSTEMS, INC ; M CUBED TECHNOLOGIES, INC ; II-VI PHOTONICS US , INC ; II-VI DELAWARE, INC; II-VI OPTOELECTRONIC DEVICES, INC ; PHOTOP TECHNOLOGIES, INC | Method of monitoring an optoelectronic transceiver with multiple flag values for a respective operating condition |
9323711, | Oct 19 1999 | Rambus Inc. | Chip having port to receive value that represents adjustment to transmission parameter |
9411767, | Oct 19 1999 | Rambus Inc. | Flash controller to provide a value that represents a parameter to a flash memory |
9577759, | Feb 05 2001 | II-VI Incorporated; MARLOW INDUSTRIES, INC ; EPIWORKS, INC ; LIGHTSMYTH TECHNOLOGIES, INC ; KAILIGHT PHOTONICS, INC ; COADNA PHOTONICS, INC ; Optium Corporation; Finisar Corporation; II-VI OPTICAL SYSTEMS, INC ; M CUBED TECHNOLOGIES, INC ; II-VI PHOTONICS US , INC ; II-VI DELAWARE, INC; II-VI OPTOELECTRONIC DEVICES, INC ; PHOTOP TECHNOLOGIES, INC | Method of monitoring an optoelectronic transceiver with multiple flag values for a respective operating condition |
9852105, | Jul 19 2001 | Rambus Inc. | Flash controller to provide a value that represents a parameter to a flash memory |
Patent | Priority | Assignee | Title |
3678200, | |||
4029905, | Nov 25 1974 | Compagnie Industrielle des Telecommunications Cit-Alcatel | Apparatus for detecting the rhythm of an NRZ message |
4087627, | Oct 12 1976 | Nippon Telegraph & Telephone Corporation | Clock regenerator comprising a reversible shift register and a controllable frequency divider |
4376309, | May 29 1981 | Bell Telephone Laboratories, Incorporated | Method and apparatus for signal-eye tracking in digital transmission systems |
4426714, | Jan 29 1980 | Hitachi, Ltd. | Clock signal derivation system |
4466111, | Nov 27 1981 | GTE Government Systems Corporation | Synchronization apparatus and method |
4704722, | Jun 14 1982 | American Telephone and Telegraph Company, AT&T Bell Laboratories | Timing recovery circuit |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Dec 22 1989 | Universal Data Systems, Inc. | (assignment on the face of the patent) | / | |||
Mar 07 1990 | VIVIANO, JEROME J | UNIVERSAL DATA SYSTEMS, INC , A CORP OF DE | ASSIGNMENT OF ASSIGNORS INTEREST | 005253 | /0273 | |
Dec 16 1994 | UNIVERSAL DATA SYSTEMS, INC | Motorola, Inc | MERGER EFFECTIVE 12-31-94 | 007268 | /0448 |
Date | Maintenance Fee Events |
Oct 28 1996 | M183: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jan 02 2001 | M184: Payment of Maintenance Fee, 8th Year, Large Entity. |
Dec 03 2004 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Jul 13 1996 | 4 years fee payment window open |
Jan 13 1997 | 6 months grace period start (w surcharge) |
Jul 13 1997 | patent expiry (for year 4) |
Jul 13 1999 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jul 13 2000 | 8 years fee payment window open |
Jan 13 2001 | 6 months grace period start (w surcharge) |
Jul 13 2001 | patent expiry (for year 8) |
Jul 13 2003 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jul 13 2004 | 12 years fee payment window open |
Jan 13 2005 | 6 months grace period start (w surcharge) |
Jul 13 2005 | patent expiry (for year 12) |
Jul 13 2007 | 2 years to revive unintentionally abandoned end. (for year 12) |