IP Library Granted Patent US 7,613,211
Granted Patent B1
US 7,613,211 · App. 11/357,685 · Granted Nov 3, 2009

Digital clock smoothing apparatus and method

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,613,211
App. No.
11/357,685
Granted
Nov 3, 2009
Kind
B1
Abstract

A method for digital clock smoothing comprising: (A) inputting an asynchronous data stream having an asynchronous symbol rate into a two-port memory block; (B) accumulating a plurality of symbols of the asynchronous data stream in the two-port memory block for a predetermined time period; (C) computing an average symbol rate for the input asynchronous data stream; (D) generating a clock error signal equal to the difference between the average symbol rate of the input asynchronous data stream and a nominal output synchronous clock; (E) obtaining a smoothed symbol rate clock by using the error clock signal; and (F) generating an output smoothed data stream having the smoothed symbol rate clock.

Claims (62)

1. A method for digital clock smoothing comprising:

(A) inputting an asynchronous data stream having an asynchronous symbol rate into a FIFO two-port memory block;

(B1) obtaining said FIFO depth B by subtracting modulo B for each said stored symbol said symbol output address from said symbol input address;

(B2) inputting said FIFO depth B into a programmable LUT;

(B3) obtaining a phase detector error signal;

(B4) scaling said phase detector error signal to obtain a scaled error factor, wherein said scaled error factor is normalized by using a set of parameters selected from the group consisting of: {a ratio of said input symbol rate to said reference clock; and a damping factor configured to compensate for latency of said frequency lock loop (FLL)};

(B5) adding said scaled error factor to a nominal phase step to obtain a phase update;

(C) obtaining a smoothed symbol rate;

and

(D) reading out each output symbol from said FIFO under control of an output FIFO address control register at said smoothed symbol rate.

2. The method of claim 1 , wherein said step (B1) further comprises:

(B1, 1) gray-coding an output FIFO read address;

(B1,2) synchronizing an output count for each FIFO read-out symbol from said gray-coded output FIFO read address with said input asynchronous clock;

(B1, 3) inversely gray-coding said synchronized gray-coded output FIFO read address;

and

(B1,4) obtaining a current FIFO depth by subtracting by modulo B said synchronized output FIFO read address obtained in said step (B1,3) from the current input FIFO write address; wherein B comprises said FIFO depth.

3. The method of claim 1 , wherein said step (B2) further comprises:

(B2, 1) programming said LUT by using a set of parameters selected from the group consisting of: {an error limit; and a hysteresis}.

4. The method of claim 1 , wherein said step (B3) further comprises:

(B3, 1) programming said phase detector by installing said programmable LUT.

5. The method of claim 1 , wherein said step (C) further comprises:

(C1) multiplying said phase update by factor i/N by using an N stage wide phase accumulator; wherein said N stage wide phase accumulator is configured to output a set of N phase updates; i being an integer less or equal to N; N being an integer;

(C2) applying each said i-th phase update to i-th cosine look-up table

(COS_LUT); wherein an N-stage cosine look-up table (N_COS_LUT) is configured to generate a set of N phase outputs; and

(C3) applying each said N phase output generated by said N-stage cosine look-up table (N_COS_LUT) to a Digital-to-Analog Converter (DAC); wherein said DAC is configured to generate a plurality of uniformly spread time epochs including a plurality of odd time epochs and a plurality of even time epochs; N being a ratio of said DAC sampling clock and said clock smoothing rate.

6. An apparatus for digital clock smoothing comprising:

(A1) a FIFO means configured to input said asynchronous data stream having an asynchronous symbol rate;

(B1) a means for obtaining said FIFO depth B by subtracting modulo B for each said stored symbol said symbol output address from said symbol input address;

(B2) a programmable LUT configured to input said FIFO depth B;

(B3) a phase detector configured to obtain a phase detector error signal;

(B4) a means for scaling said phase detector error signal to obtain a scaled error factor, wherein said scaled error factor is normalized by using a set of parameters selected from the group consisting of: {a ratio of said input symbol rate to said reference clock; and a damping factor configured to compensate for latency of said frequency lock loop (FLL)};

(B5) a means for adding said scaled error factor to a nominal phase step to obtain a phase update;

(C) a means for obtaining a smoothed symbol rate;

and

(D) a means for outputting each symbol at said smoothed symbol rate.

7. The apparatus of claim 6 , wherein said means (B1) further comprises:

(B1, 1) a means for gray-coding an output FIFO read address;

(B1, 2) a means for synchronizing an output count for each FIFO read-out symbol from said gray-coded output FIFO read address with said input asynchronous clock;

(B1, 3) a means for inversely gray-coding said synchronized gray-coded output FIFO read address;

and

(B1, 4) a means for subtracting by modulo B said synchronized output FIFO read address obtained in said step (B1, 3) from the current input FIFO write address to obtain a current FIFO depth; wherein B comprises said FIFO depth.

8. The apparatus of claim 7 , wherein said means (B1, 1) further comprises:

(B1, 1, 1) a first gray-coding LUT configured to gray-code said output FIFO read address.

9. The apparatus of claim 7 , wherein said means (B1, 2) further comprises:

(B1, 2, 1) a serial Flip-Flops operated by said input asynchronous input clock signal, wherein said serial Flip-Flops is configured to synchronize said output count for each FIFO read-out symbol from said gray-coded output FIFO read address with said input asynchronous clock.

10. The apparatus of claim 7 , wherein said means (B1, 3) further comprises:

(B1, 3, 1) a second gray-coding LUT configured to inversely gray-code said synchronized gray-coded output FIFO read address.

11. The apparatus of claim 6 , wherein said means (B2) further comprises:

(B2, 1) a means for programming said LUT by using a set of parameters selected from the group consisting of: {an error limit; and a hysteresis}.

12. The apparatus of claim 6 , wherein said means (B3) further comprises:

(B3, 1) a means for programming said phase detector by installing said programmable LUT.

13. The apparatus of claim 6 , wherein said means (B4) further comprises:

(B4, 1) a scale value register configured to determine a scale factor;

and

(B4, 2) a scale error register configured to scale said phase detector error signal by using said scale factor to obtain a scaled error factor.

14. The apparatus of claim 6 , wherein said means (B5) further comprises:

(B5, 1) an adder configured to add said scaled error factor to said nominal phase step to obtain said phase update.

15. The apparatus of claim 6 , wherein said means (C) for obtaining said smoothed symbol rate further comprises:

(C1) a means for multiplying said phase update by factor i/N by using an N stage wide phase accumulator; wherein said N stage wide phase accumulator is configured to output a set of N phase updates; i being an integer less or equal to N; N being an integer;

(C2) a means for applying each said i-th phase update to i-th cosine look-up table (COS_LUT); wherein an N-stage cosine look-up table (N_COS_LUT) is configured to generate a set of N phase outputs;

and

(C3) a means for applying each said N phase output generated by said N-stage cosine look-up table (N_COS_LUT) to a Digital-to-Analog Converter (DAC); wherein said DAC is configured to generate a plurality of uniformly spread time epochs including a plurality of odd time epochs and a plurality of even time epochs; N being a ratio of said DAC sampling clock and said clock smoothing rate.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2018
From: REMEC BROADBAND WIRELESS HOLDINGS, INC.
To: RBW ACQUISITION CO., LLC
Reel/Frame 045335/0849 →
CHANGE OF NAME Recorded Mar 23, 2018
From: RBW ACQUISITION CO., LLC
To: REMEC BROADBAND WIRELESS NETWORKS, LLC
Reel/Frame 045692/0293 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 5, 2012
From: WIDEBAND SEMICONDUCTOR, INC.
To: REMEC BROADBAND WIRELESS HOLDINGS, INC.
Reel/Frame 029408/0085 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2006
From: FAGERLUND, RICHARD JOHN; FLYNN, JAMES P.; FONG, MARK; ISAKSEN, DAVID B.
To: WIDEBAND SEMICONDUCTORS, INC.
Reel/Frame 017913/0197 →