IP Library Granted Patent US 8,611,486
Granted Patent B2
US 8,611,486 · App. 13/083,399 · Granted Dec 17, 2013

Adjustment of clock signals regenerated from a data stream

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 8,611,486
App. No.
13/083,399
Granted
Dec 17, 2013
Kind
B2
Abstract

Embodiments of the invention are generally directed to adjustment of clock signals regenerated from a data stream. An embodiment of a method includes receiving a data stream from a transmitting device via a communication link, the data stream including stream data, a link clock signal, and timestamps to indicate a relationship between the link clock signal and a stream clock signal. The method further includes adjusting the stream clock based at least in part on one or more measurements related to the data stream, the one or more measurements including a count of a number of pulses of the stream clock during a period of time, or a measurement of a number of data elements from the data stream stored in a buffer at a certain point in time.

Claims (32)

1. A method comprising:

receiving a data stream from a transmitting device via a communication link, the data stream including stream data, a link clock signal, and timestamps to indicate a relationship between the link clock signal and a stream clock signal;

recovering a reference value from the data stream, the reference value representing an expected number of pulses in a certain period of time with the stream clock signal;

adjusting the stream clock based at least in part on one or more-measurements related to the data stream, the adjustment of the stream clock including:

counting a number of pulses of the stream clock during the period of time,

comparing the count of pulses of the stream clock to the recovered reference value, and

increasing a rate of a phase locked loop if the comparison indicates the count of pulses is below the reference value and decreasing a rate of the phase locked loop if the comparison indicates that the count of pulses is above the reference value.

2. The method of claim 1 , wherein the count of the number of pulses of the stream clock in the certain time period is a count of the number of pulses in a line of data.

3. The method of claim 2 , further comprising detecting blank start and blank end symbols, and wherein counting the number of pulses of the stream clock in a line of data includes counting the number of pulses between consecutive blank start symbols or blank end symbols.

4. An apparatus comprising:

a receiver to receive a data stream via a communication link with a transmitting device, the data stream being clocked at a link clock signal rate, the data stream including timestamps to indicate a relationship between the link clock signal and a stream clock signal;

an attribute unpacker to determine attribute values, the attribute unpacker to recover a reference value from the data stream, the reference value representing an expected number of pulses in a certain period of time with the stream clock signal;

a stream clock recovery unit to regenerate the stream clock signal based at least in part on the link clock signal and the timestamps; and

a phase locked loop element;

wherein the apparatus is to adjust a rate of the stream clock signal based at least in part on one or more measurements related to the data stream, the one or more measurements including one or more of the adjustment of the rate of the stream clock signal including:

counting a number of pulses of the stream clock during the period of time,

comparing the count of pulses of the stream clock to the recovered reference value, and

increasing a rate of the phase locked loop element if the comparison indicates the count of pulses is below the reference value and decreasing a rate of the phase locked loop element if the comparison indicates that the count of pulses is above the reference value.

5. The apparatus of claim 4 , wherein the count of the number of pulses of the stream clock in the certain time period is a count of the number of pulses in a line of data.

6. The apparatus of claim 4 , wherein the communication link is a DisplayPort™ compatible link.

7. The apparatus of claim 4 , wherein the attribute unpacker is further to recover blank start and blank end symbols, and wherein counting the number of pulses of the stream clock in a line of data includes counting the number of pulses between consecutive blank start symbols or blank end symbols.

8. A non-transitory computer-readable medium having stored thereon data representing sequences of instructions that, when executed by a processor, cause the processor to perform operations comprising:

receiving a data stream from a transmitting device via a communication link, data stream including stream data, a link clock signal, and timestamps to indicate a relationship between the link clock signal and a stream clock signal;

recovering a reference value from the data stream, the reference value representing an expected number of pulses in a certain period of time with the stream clock signal; and

adjusting the stream clock based at least in part on one or more measurements related to the data stream, the adjustment of the stream clock including:

counting a number of pulses of the stream clock during the period of time,

comparing the count of pulses of the stream clock to the recovered reference value, and

increasing a rate of a phase locked loop if the comparison indicates the count of pulses is below the reference value and decreasing a rate of the phase locked loop if the comparison indicates that the count of pulses is above the reference value.

9. The medium of claim 8 , wherein the count of the number of pulses of the stream clock in the certain time period is a count of the number of pulses in a line of data.

10. The medium of claim 9 , further comprising instructions that, when executed by the processor, cause the processor to perform operations comprising:

detecting blank start and blank end symbols;

wherein counting the number of pulses of the stream clock in a line of data includes counting the number of pulses between consecutive blank start symbols or blank end symbols.

Assignments (5)
SECURITY INTEREST Recorded Jul 18, 2019
From: LATTICE SEMICONDUCTOR CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 049795/0481 →
RELEASE OF SECURITY INTEREST Recorded May 21, 2019
From: JEFFERIES FINANCE LLC
To: LATTICE SEMICONDUCTOR CORPORATION; SILICON IMAGE, INC.; SIBEAM, INC.; DVDO, INC.
Reel/Frame 049827/0326 →
MERGER Recorded Aug 21, 2015
From: SILICON IMAGE, INC.
To: LATTICE SEMICONDUCTOR CORPORATION
Reel/Frame 036419/0792 →
SECURITY INTEREST Recorded Mar 19, 2015
From: LATTICE SEMICONDUCTOR CORPORATION; SIBEAM, INC.; SILICON IMAGE, INC.; DVDO, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 035226/0289 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2011
From: CHOI, HOON; KIM, DAEKYEUNG; YI, JU HWAN; BAE, YOUNG DON
To: SILICON IMAGE, INC.
Reel/Frame 026378/0400 →