Digital oversampling clock and data recovery circuit
In one aspect, an apparatus includes: a first time-to-data converter (TDC) to oversample a first duration of incoming data and hold the oversampled first duration during receipt of a second duration of the incoming data; a second TDC to oversample the second duration of the incoming data and hold the oversampled second duration during receipt of a third duration of the incoming data; a processing circuit coupled to the first and second TDCs, the processing circuit including a first filter to filter the oversampled first duration and the oversampled second duration and generate a control output therefrom; and a digitally controlled oscillator (DCO) coupled to the processing circuit to receive the control output and generate a recovery clock signal therefrom.
1. An apparatus comprising:
a first time-to-data converter (TDC) to oversample a first duration of incoming data and hold the oversampled first duration during receipt of a second duration of the incoming data;
a second TDC to oversample the second duration of the incoming data and hold the oversampled second duration during receipt of a third duration of the incoming data, the first and second TDCs to operate in opposing phases;
a selector coupled between the first and second TDCs and a processing circuit;
the processing circuit coupled to the first TDC and the second TDC, the processing circuit including a first filter to filter the oversampled first duration and the oversampled second duration and generate a control output therefrom; and
a digitally controlled oscillator (DCO) coupled to the processing circuit to receive the control output and generate a recovery clock signal therefrom.
2. The apparatus of claim 1 , further comprising a data sampler to receive the incoming data and sample the incoming data according to the recovery clock signal.
3. The apparatus of claim 1 , wherein the first filter is configured to be in a first filter configuration when the incoming data comprises a preamble and to be in a second filter configuration when the incoming data comprises random data.
4. The apparatus of claim 3 , wherein in the first filter configuration, the first filter is to filter a first plurality of the oversampled first and second durations of the preamble, and in the second filter configuration the first filter is to filter a second plurality of the oversampled first and second durations of the random data, the second plurality smaller than the first plurality.
5. The apparatus of claim 4 , wherein the first plurality of the oversampled first and second durations comprises single bit durations and multi-bit durations and the second plurality of the oversampled first and second durations comprises single bit durations.
6. The apparatus of claim 1 , further comprising:
a first edge detector to detect a first edge in the incoming data; and
a first counter to count the first duration of the incoming data, the first counter to be clocked by a system clock signal, the system clock signal having a frequency substantially greater than a frequency of the recovery clock signal.
7. The apparatus of claim 1 , further comprising a logic circuit coupled between the first TDC and the processing circuit, the logic circuit to generate a count value for the first duration of the incoming data, the count value comprising a deviation from a predetermined ratio between a system clock signal and the recovery clock signal.
8. The apparatus of claim 1 , wherein the incoming data comprises bi-phase mark coded (BMC) data.
9. The apparatus of claim 1 , wherein:
the first TDC is to oversample the first duration of incoming data responsive to a first edge in the incoming data; and
the second TDC is to oversample the second duration of incoming data responsive to a second edge in the incoming data.
10. The apparatus of claim 9 , wherein the first TDC is to be asynchronously reset responsive to the first edge to perform phase tracking.
11. The apparatus of claim 9 , wherein the first TDC is to be asynchronously reset responsive to the first edge and further responsive to a predetermined count value of a counter of the first TDC.
12. At least one non-transitory computer readable storage medium comprising instructions that when executed enable a system to:
oversample a first duration of incoming data in a first time-to-data converter (TDC) and hold the oversampled first duration during receipt of a second duration of the incoming data;
oversample the second duration of the incoming data in a second TDC and hold the oversampled second duration during receipt of a third duration of the incoming data, wherein the first and second TDCs are to operate in opposing phases;
configure a first filter to be in a first filter configuration when the incoming data comprises a preamble and to be in a second filter configuration when the incoming data comprises random data;
filter the oversampled first duration and the oversampled second duration in the first filter coupled to the first and second TDCs and generate a control output therefrom; and
generate a recovery clock signal in a digitally controlled oscillator (DCO) signal based at least in part on the control output.
13. The at least one non-transitory computer readable medium of claim 12 , further comprising instructions that when executed enable the system to receive the incoming data and sample the incoming data according to the recovery clock signal in a data sampler.
14. The at least one non-transitory computer readable medium of claim 12 , further comprising instructions that when executed enable the system to:
provide a system clock signal to the first and second TDCs, the system clock signal having a substantially greater frequency than the recovery clock signal; and
provide a reference value to adjust the oversampled first duration and the oversampled second duration, the reference value corresponding to a ratio between the system clock signal and the recovery clock signal.
15. An apparatus comprising:
a first time-to-data converter (TDC) to oversample a first duration of incoming data and hold the oversampled first duration during receipt of a second duration of the incoming data;
a second TDC to oversample the second duration of the incoming data and hold the oversampled second duration during receipt of a third duration of the incoming data, the first and second TDCs to operate in opposing phases;
a processing circuit coupled to the first TDC and the second TDC, the processing circuit including a first filter to filter the oversampled first duration and the oversampled second duration and generate a control output therefrom, and a second filter to filter an output of the first filter; and
a digitally controlled oscillator (DCO) coupled to the processing circuit to receive the control output and generate a recovery clock signal therefrom.
16. The apparatus of claim 15 , wherein the first filter is configured to be in a first filter configuration when the incoming data comprises a preamble and to be in a second filter configuration when the incoming data comprises random data.
17. The apparatus of claim 16 , wherein in the first filter configuration, the first filter is to filter a first plurality of the oversampled first and second durations of the preamble, and in the second filter configuration the first filter is to filter a second plurality of the oversampled first and second durations of the random data, the second plurality smaller than the first plurality.