IP Library Granted Patent US 7,773,713
Granted Patent B2
US 7,773,713 · App. 11/584,410 · Granted Aug 10, 2010

Clock data recovery systems and methods for direct digital synthesizers

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,773,713
App. No.
11/584,410
Granted
Aug 10, 2010
Kind
B2
Abstract

A system and method for clock data recovery for programming direct digital synthesizers is disclosed. A counter is used to calculate a coarse measurement of the clock frequency of a received digital signal, and a tap delay line is used to calculate a fine measurement of the clock frequency of the received digital signal. The coarse and fine measurements are used to calculate a value for programming a direct digital synthesizer to produce a clock signal that is an approximate replica of the clock frequency of the received digital signal.

Claims (102)

1. A method for clock data recovery for a direct digital synthesizer, the method comprising:

receiving a digital signal having a clock frequency;

calculating a coarse measurement value of the clock frequency using a counter, wherein calculating the coarse measurement value comprises:

obtaining a counter value from the counter upon receiving a first signal edge of the digital signal;

incrementing the counter value upon receiving each signal edge of a reference clock signal;

stopping the counter upon receiving a second signal edge of the digital signal;

placing the counter value into a count memory, if the counter value is less than a stored counter value currently in the count memory; and

indicating the coarse measurement value, wherein the coarse measurement value corresponds to the counter value;

calculating a fine measurement value of the clock frequency using a tap delay line;

calculating a data set for the direct digital synthesizer from the coarse measurement value and the fine measurement value; and

programming the direct digital synthesizer using the data set to produce an output clock signal with a frequency that is an approximate replica of the clock frequency.

2. A method for clock data recovery for a direct digital synthesizer, the method comprising:

receiving a digital signal having a clock frequency;

calculating a coarse measurement value of the clock frequency using a counter, wherein calculating the coarse measurement value comprises:

obtaining a counter value from the counter upon receiving a first signal edge of the digital signal, wherein the first signal edge is a rising signal edge;

incrementing the counter value upon receiving each signal edge of a reference clock signal;

stopping the counter upon receiving a second signal edge of the digital signal;

placing the counter value into a count memory, if the counter value is less than a stored counter value currently in the count memory; and

indicating the coarse measurement value, wherein the coarse measurement value corresponds to the counter value;

calculating a fine measurement value of the clock frequency using a tap delay line;

calculating a data set for the direct digital synthesizer from the coarse measurement value and the fine measurement value; and

programming the direct digital synthesizer using the data set to produce an output clock signal with a frequency that is an approximate replica of the clock frequency.

3. A method for clock data recovery for a direct digital synthesizer, the method comprising:

receiving a digital signal having a clock frequency;

calculating a coarse measurement value of the clock frequency using a counter, wherein calculating the coarse measurement value comprises:

obtaining a counter value from the counter upon receiving a first signal edge of the digital signal, wherein the first signal edge is a falling signal edge;

incrementing the counter value upon receiving each signal edge of a reference clock signal;

stopping the counter upon receiving a second signal edge of the digital signal;

placing the counter value into a count memory, if the counter value is less than a stored counter value currently in the count memory; and

indicating the coarse measurement value, wherein the coarse measurement value corresponds to the counter value;

calculating a fine measurement value of the clock frequency using a tap delay line; and

calculating a data set for the direct digital synthesizer from the coarse measurement value and the fine measurement value; and

programming the direct digital synthesizer using the data set to produce an output clock signal with a frequency that is an approximate replica of the clock frequency.

4. A method for clock data recovery for a direct digital synthesizer, the method comprising:

receiving a digital signal having a clock frequency;

calculating a coarse measurement value of the clock frequency using a counter, wherein calculating the coarse measurement value comprises:

obtaining a counter value from the counter upon receiving a first signal edge of the digital signal, wherein the second signal edge is a rising signal edge;

incrementing the counter value upon receiving each signal edge of a reference clock signal;

stopping the counter upon receiving a second signal edge of the digital signal, wherein the second signal edge is a rising signal edge;

placing the counter value into a count memory, if the counter value is less than a stored counter value currently in the count memory; and

indicating the coarse measurement value, wherein the coarse measurement value corresponds to the counter value;

calculating a fine measurement value of the clock frequency using a tap delay line; and

calculating a data set for the direct digital synthesizer from the coarse measurement value and the fine measurement value; and

programming the direct digital synthesizer using the data set to produce an output clock signal with a frequency that is an approximate replica of the clock frequency.

5. A method for clock data recovery for a direct digital synthesizer, the method comprising:

receiving a digital signal having a clock frequency;

calculating a coarse measurement value of the clock frequency using a counter, wherein calculating the coarse measurement value comprises:

obtaining a counter value from the counter upon receiving a first signal edge of the digital signal;

incrementing the counter value upon receiving each signal edge of a reference clock signal;

stopping the counter upon receiving a second signal edge of the digital signal, wherein the second signal edge is a falling signal edge;

placing the counter value into a count memory, if the counter value is less than a stored counter value currently in the count memory; and

indicating the coarse measurement value, wherein the coarse measurement value corresponds to the counter value;

calculating a fine measurement value of the clock frequency using a tap delay line; and

calculating a data set for the direct digital synthesizer from the coarse measurement value and the fine measurement value; and

programming the direct digital synthesizer using the data set to produce an output clock signal with a frequency that is an approximate replica of the clock frequency.

6. A method for clock data recovery for a direct digital synthesizer, the method comprising:

receiving a digital signal having a clock frequency;

calculating a coarse measurement value of the clock frequency using a counter;

calculating a fine measurement value of the clock frequency using a tap delay line, wherein calculating the fine measurement value comprises:

receiving a reference clock signal, wherein the reference clock signal is used as a basis for comparison to determine a frequency of the digital signal;

feeding the digital signal into a tap delay line;

calculating a bit pattern of edge detection values from the tap delay line;

indicating the fine measurement value from the bit pattern of edge detection values; and

repeating the receiving, the feeding, the calculating, and the indicating steps for calculating the fine measurement value for each clock cycle of the digital signal;

calculating a data set for the direct digital synthesizer from the coarse measurement value and the fine measurement value; and

programming the direct digital synthesizer using the data set to produce an output clock signal with a frequency that is an approximate replica of the clock frequency.

7. A method according to claim 6 , wherein calculating the bit pattern comprises:

feeding each tap of the tap delay line into an S input of an inverted SR latch;

feeding the reference clock signal into an R input of the inverted SR latch, wherein the inverted SR latch is one of a plurality of inverted SR latches each corresponding to a tap of the tap delay line;

computing, for each pair of adjacent inverted SR latches, wherein each pair includes a first and a second SR latches, edge detection values corresponding to a logical XNOR operation of a Q output of the first inverted SR latch and a Q output of the second inverted SR latch adjacent to the first inverted SR latch; and

forming the bit pattern from the edge detection values.

8. A system for calculating a coarse measurement value of a clock frequency, the system comprising:

a reference clock signal input configured to receive a reference clock signal;

a digital signal input configured to receive a digital signal having a clock frequency;

a counter having a counter output coupled to the reference clock input and the digital signal input, the counter being configured to:

start counting upon receiving a first signal edge of the digital signal;

increment upon receiving each clock pulse of the reference clock signal;

stop counting upon receiving a second signal edge of the digital signal;

a counter start/stop switch coupled to the digital signal input and configured to start/stop the counter;

a counter increment control coupled to the reference clock signal input and configured to increment the counter;

a first output coupled to the counter and configured to indicate the counter output value;

a count memory, having a count memory value, containing a previous value of the counter and coupled to the first output and configured to: replace the count memory value with the counter output value, if the counter output value is less than the count memory value; and

a second output coupled to the count memory and configured to indicate a value of the counter, wherein the value of the counter corresponds to the coarse measurement value of the clock frequency.

9. A system according to claim 8 , wherein the reference clock signal is derived from previous coarse measurement values.

10. A method for calculating a fine measurement value of a clock frequency, the method comprising:

receiving a reference clock signal, wherein the reference clock signal is used as a basis for comparison to determine a clock frequency of a digital signal having clock cycles;

receiving the digital signal;

feeding the digital signal into a tap delay line;

feeding each tap of the tap delay line into an S input of an inverted SR latch;

feeding the reference clock signal into an R input of the inverted SR latch, wherein the inverted SR latch is one of a plurality of inverted SR latches each corresponding to a tap of the tap delay line;

computing, for each pair of adjacent inverted SR latches, wherein each pair includes first and a second SR latches, edge detection values corresponding to a logical XNOR operation of a Q output of the first inverted SR latch and a Q output of the second inverted SR latch adjacent to the first inverted SR latch;

forming a bit pattern from the edge detection values;

indicating the fine measurement value, wherein the fine measurement value is determined from the bit pattern; and

repeating the above steps for each of the clock cycles of the digital signal.

11. A system for calculating a fine measurement value of a clock frequency, the system comprising:

a digital signal input configured to receive a digital signal having the clock frequency;

a reference clock signal input configured to receive a reference clock signal having a period;

a tap delay line, having a tap order, coupled to the digital signal input and configured such that each tap delay evenly divides the period of the reference clock signal;

a plurality of inverted SR latches, each having an S input, an R input, a Q output, and a Q output, wherein the S input of each of the inverted SR latches is exclusively coupled to a separate tap of the tap delay line, and the R inputs of the inverted SR latches are commonly coupled to the reference clock signal input; and

a plurality of XNOR logic gates each having a first input and a second input, wherein the first input is coupled to the Q output of a first inverted SR latch, and the second input is coupled to the Q output of a second inverted SR latch, wherein the second inverted SR latch is adjacent to the first inverted SR latch.

12. A system according to claim 11 , further comprising a memory having a plurality of 1-bit memory cells configured to indicate the fine measurement value, wherein each of the 1-bit memory cells is exclusively coupled to the output of one of the plurality of XNOR logic gates using a connection order, wherein the connection order corresponds to the tap order.

13. A system according to claim 11 , wherein the reference clock signal is derived from previous fine measurement values.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 24, 2014
From: MOTOROLA MOBILITY LLC
To: GOOGLE TECHNOLOGY HOLDINGS LLC
Reel/Frame 034419/0001 →
CHANGE OF NAME Recorded Oct 2, 2012
From: MOTOROLA MOBILITY, INC.
To: MOTOROLA MOBILITY LLC
Reel/Frame 029216/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2010
From: MOTOROLA, INC
To: MOTOROLA MOBILITY, INC
Reel/Frame 025673/0558 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2006
From: CAFARO, NICHOLAS G.; STENGEL, ROBERT E.
To: MOTOROLA, INC.
Reel/Frame 018452/0470 →