Claims
- 1. A method of processing a serial data stream carrying data at a rate established by an underlying clock signal, said method comprising:
time-stamping each of the transitions of a sequence of transitions within the serial data stream to thereby generate a sequence of time-stamps; and based at least in part on the sequence of time-stamps, recovering the data from the serial data stream.
- 2. The method of claim 1, further comprising generating a plurality of oscillatory signals that are the same frequency and are separated in phase by substantially equal amounts, wherein time-stamping of each of the transitions of the sequence of transitions within the serial data stream involves capturing the state of said plurality of oscillatory signals at the time of that transition.
- 3. The method of claim 1, further comprising:
supplying a reference clock signal; and time-stamping each of the transitions of a sequence of transitions within the reference clock signal to thereby generate a second sequence of time-stamps, wherein recovering the underlying clock signal and the data is based on both the first-mentioned sequence of time-stamps and the second sequence of time-stamps.
- 4. The method of claim 3 further comprising generating a plurality of oscillatory signals that are the same frequency and are separated in phase by substantially equal amounts, wherein time-stamping of each of the transitions of the sequence of transitions within the serial data stream involves capturing the state of said plurality of oscillatory signals at the time of that transition.
- 5. The method of claim 4, wherein time-stamping of each of the transitions of the sequence of transitions within the reference clock involves capturing the state of said plurality of oscillatory signals at the time of that transition.
- 6. The method of claim 4 further comprising generating a lap count which is a count of the number of times that a particular one of the plurality of oscillatory signal has gone through a complete cycle.
- 7. The method of claim 6 wherein capturing the state of said plurality of oscillatory signals at each of the transitions of the sequence of transitions within the serial data stream also involves capturing the value of each of the plurality of oscillatory signals at the time of that transition.
- 8. The method of claim 7 wherein capturing the state of said plurality of oscillatory signals at each of the transitions of the sequence of transitions within the serial data stream also involves capturing the lap count at the time of that transition.
- 9. The method of claim 1 further comprising parallelizing the recovered data from the serial data stream.
- 10. The method of claim 9 wherein parallelizing the recovered data from the serial data stream involves clocking the recovered serial data into a shift register and outputting the clocked-in recovered data in parallel in groups of n bits where n is an integer greater than one.
- 11. The method of claim 1 wherein recovering the data from the serial data steam involves, based at least in part on the sequence of time-stamps for the sequence of transitions within the serial data stream, synthesizing the underlying clock signal and using the synthesized clock signal to recover the data from the serial data stream.
- 12. A circuit for processing a serial data stream carrying data at a rate established by an underlying clock signal, said serial data stream including a sequence of transitions at locations in time determined by the underlying clock signal and data within the serial data stream, said circuit comprising:
a free-running loop oscillator; a serial data stream capture module which during operation receives the serial data stream and for each of the transitions of the sequence of transitions captures a corresponding state of the free-running loop oscillator as a time-stamp of that transition; and a data recovery module which during operation recovers the data within the serial data steam based, at least in part, on the captured state for the sequence of transitions, said data recovery module including a processor component which analyzes the captured state for the sequence of transitions.
- 13. The circuit of claim 12 further comprising a reference clock capture module which during operation receives a reference clock that is a sequence of reference clock transitions and which for each of the reference clock transitions of the sequence of reference clock transitions captures a state of the free-running loop oscillator, wherein the processing module uses the captured state for the sequence of reference clock transitions along with the captured state for the sequence of transitions within the serial data stream to recover the data within the serial data stream.
- 14. The circuit of claim 13 wherein the data recovery module further comprises a shift register arranged to receive the serial data stream and output parallel data, and a clock generator that generates a synthesized clock for the shift register in response to instructions received from the processor component.
- 15. The circuit of claim 14 wherein the synthesized clock is a sequence of synthesized clock transitions, said circuit further comprising a synthesized clock capture module which during operation receives the synthesized clock and for each of the transitions of the sequence of synthesized clock transitions captures a state of the free-running loop oscillator, wherein the data recovery module uses the captured state for the sequence of synthesized clock transitions to correct for undesired changes in the synthesized clock.
- 16. The circuit of claim 14 wherein the data recovery module further comprises a second shift register arranged to receive a second the serial data stream and output corresponding parallel data, and a delay element which introduces a predetermined phase shift into the synthesized clock and provides the phase-shifted synthesized clock to the second shift register.
- 17. The circuit of claim 12 wherein the free-running loop oscillator comprises a plurality of buffer stages connected in series to form a loop, wherein each of the buffer stages of the plurality of buffer stages introduces a substantially equal amount of delay into a signal which circulates around the loop when it is oscillating, said oscillator further comprising a plurality of taps each of which is associated with a different one of the buffer stages and outputs a signal that indicates the state of that buffer.
Parent Case Info
[0001] This application claims the benefit of U.S. Provisional Application No. 60/451,799, filed Mar. 4, 2003.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60451799 |
Mar 2003 |
US |