Method to detect blocker signals in interleaved analog-to-digital converters
10218372 ยท 2019-02-26
Assignee
Inventors
- Brendan Farley (Donabate, IE)
- Christophe Erdmann (Dublin, IE)
- John E. McGrath (Cahir, IE)
- Bruno Miguel Vaz (Sao Domingos de Rana, PT)
Cpc classification
H03M1/0634
ELECTRICITY
International classification
Abstract
A time-skew adjustment circuit includes an input to receive a series of samples of an input signal from a plurality of channels of an interleaved ADC. A first subtractor calculates distances between consecutive samples in the received series of samples, and a plurality of average circuit code and a plurality of memory banks to calculate a plurality of first average distance, each corresponding to an average of the distance between consecutive samples from a respective pair of channels of the interleaved ADC. Time-skew detection circuitry calculates respective time skews between each of the pairs of channels by comparing each of the first average distances with an average of the distances between consecutive samples from the plurality of channels. Divergence control circuitry determines an accuracy of the time skews based at least in part on the first average distances and a Nyquist zone associated with the input signal.
Claims
1. A time-skew adjustment circuit, comprising: an input to receive a series of samples of an input signal from a plurality of channels of an interleaved analog-to-digital converter (ADC); a first subtractor to calculate distances between consecutive samples in the received series of samples; a plurality of averaging circuits to calculate a plurality of first average distances, wherein each of the first average distances corresponds to an average of the distance between consecutive samples from a respective pair of channels of the interleaved ADC; time-skew detection circuitry to calculate respective time skews between each of the pairs of channels by comparing each of the first average distances with an average of the distances between consecutive samples from the plurality of channels; and divergence control circuitry to determine an accuracy of the time skews based at least in part on the first average distances and a Nyquist zone associated with the input signal.
2. The time-skew adjustment circuit of claim 1, further comprising: a calibration loop controller to selectively apply a timing offset to one or more channels of the interleaved ADC based at least in part on the time skews.
3. The time-skew adjustment circuit of claim 2, wherein the divergence control circuitry is configured to: determine the accuracy of the time skew calculated for a first pair of channels of the interleaved ADC based at least in part on a first timing offset applied by the calibration loop controller to at least one of the channels in the first pair.
4. The time-skew adjustment circuit of claim 3, wherein the divergence control circuitry is further configured to: calculate a change in the first average distance for the first pair of channels in response to the first timing offset; and determine the accuracy of the time skew calculated for the first pair of channels based at least in part on a polarity of the change in the first average distance for the first pair of channels.
5. The time-skew adjustment circuit of claim 4, wherein the divergence control circuitry is further configured to: determine the Nyquist zone associated with the input signal based at least in part on the polarity of the change in the first average distance for the first pair of channels.
6. The time-skew adjustment circuit of claim 4, wherein the divergence control circuitry is further configured to: determine an expected polarity of change in the first average distance, in response to the first timing offset, based at least in part on the Nyquist zone associated with the input signal; and compare the polarity of the change in the first average distance with the expected polarity of change.
7. The time-skew adjustment circuit of claim 6, wherein the expected polarity of change corresponds to a first polarity when the input signal is associated with an odd Nyquist zone, and wherein the expected polarity of change corresponds to a second polarity when the input signal is associated with an even Nyquist zone.
8. The time-skew adjustment circuit of claim 6, wherein the expected polarity of change corresponds to a reduction in the first average distance when the input signal is associated with an odd Nyquist zone, and wherein the expected polarity of change corresponds to an increase in the first average distance when the input signal is associated with an even Nyquist zone.
9. The time-skew adjustment circuit of claim 6, wherein the divergence control circuitry is further configured to: suspend an operation of the interleaved ADC when the polarity of the change in the first average distance is not the same as the expected polarity of change.
10. The time-skew adjustment circuit of claim 6, wherein the divergence control circuitry is further configured to: prevent the calibration loop controller from applying the timing offset to one or more channels of the interleaved ADC when the polarity of the change in the first average distance is not the same as the expected polarity of change.
11. A method, comprising: receiving a series of samples of an input signal from a plurality of channels of an interleaved analog-to-digital converter (ADC); calculating distances between consecutive samples in the received series of samples; calculating a plurality of first average distances, wherein each of the first average distances corresponds to an average of the distance between consecutive samples from a respective pair of channels of the interleaved ADC; calculating respective time skews between each of the pairs of channels by comparing each of the first average distances with an average of the distances between consecutive samples from the plurality of channels; and determining an accuracy of the time skews based at least in part on the first average distances and a Nyquist zone associated with the input signal.
12. The method of claim 11, further comprising: selectively applying a timing offset to one or more channels of the interleaved ADC based at least in part on the time skews.
13. The method of claim 12, wherein the determining comprises: determining the accuracy of the time skew calculated for a first pair of channels of the interleaved ADC based at least in part on a first timing offset applied to at least one of the channels in the first pair.
14. The method of claim 13, wherein the determining further comprises: calculating a change in the first average distance for the first pair of channels in response to the first timing offset; and determining the accuracy of the time skew calculated for the first pair of channels based at least in part on a polarity of the change in the first average distance for the first pair of channels.
15. The method of claim 14, further comprising: determining the Nyquist zone associated with the input signal based at least in part on the polarity of the change in the first average distance for the first pair of channels.
16. The method of claim 14, wherein the determining further comprises: determining an expected polarity of change in the first average distance, in response to the first timing offset, based at least in part on the Nyquist zone associated with the input signal; and comparing the polarity of the change in the first average distance with the expected polarity of change.
17. The method of claim 16, wherein the expected polarity of change corresponds to a first polarity when the input signal is associated with an odd Nyquist zone, and wherein the expected polarity of change corresponds to a second polarity when the input signal is associated with an even Nyquist zone.
18. The method of claim 16, wherein the expected polarity of change corresponds to a reduction in the first average distance when the input signal is associated with an odd Nyquist zone, and wherein the expected polarity of change corresponds to an increase in the first average distance when the input signal is associated with an even Nyquist zone.
19. The method of claim 16, further comprising: suspending an operation of the interleaved ADC when the polarity of the change in the first average distance is not the same as the expected polarity of change.
20. The method of claim 16, further comprising: preventing the calibration loop controller from applying the timing offset to one or more channels of the interleaved ADC when the polarity of the change in the first average distance is not the same as the expected polarity of change.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The example embodiments are illustrated by way of example and are not intended to be limited by the figures of the accompanying drawings. Like numbers reference like elements throughout the drawings and specification.
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
DETAILED DESCRIPTION
(15) In the following description, numerous specific details are set forth such as examples of specific components, circuits, and processes to provide a thorough understanding of the present disclosure. The term coupled as used herein means coupled directly to or coupled through one or more intervening components or circuits. Also, in the following description and for purposes of explanation, specific nomenclature and/or details are set forth to provide a thorough understanding of the example embodiments. However, it will be apparent to one skilled in the art that these specific details may not be required to practice the example embodiments. In other instances, well-known circuits and devices are shown in block diagram form to avoid obscuring the present disclosure. Any of the signals provided over various buses described herein may be time-multiplexed with other signals and provided over one or more common buses. Additionally, the interconnection between circuit elements or software blocks may be shown as buses or as single signal lines. Each of the buses may alternatively be a single signal line, and each of the single signal lines may alternatively be buses, and a single line or bus might represent any one or more of a myriad of physical or logical mechanisms for communication between components. The example embodiments are not to be construed as limited to specific examples described herein but rather to include within their scope all embodiments defined by the appended claims.
(16) As described above, the performance of an interleaved ADC may be limited by time skew mismatch between the interleaved channels of the ADC, which operate on separate clocks. Conventional time-skew extraction solutions utilize a combination of adders and multipliers, which undesirably increases the power consumption of the integrated circuit. In some embodiments, time-skew extraction may be accomplished while conserving power by using subtractor circuitry (e.g., in lieu of multipliers and adders). More specifically, aspects of the present disclosure may obviate the use of multipliers, for time-skew extraction, which typically consume significant resources. For example, the interleaved absolute values of odd and even signal derivates may be compared and used to extract an average distance of the signal samples over time. This average distance may be proportional to the time skew and may thus be used to calibrate the interleaved ADC to correct for time-skew mismatch.
(17) In some embodiments, a calibration loop controller may be used to adjust the timing of the interleaved ADC to correct for time-skew mismatch. For example, the calibration loop controller may adjust (e.g., delay) the timing at which samples are taken by individual channels of the interleaved ADC in an attempt to equalize the average distances between consecutive samples of the input signal. Because the sampled data provides the feedback for the time-skew adjustments, the accuracy with which the calibration loop controller is able to correct for time-skew mismatch may depend on the quality of the received input signal. More specifically, noise and/or interference in the communications channel may hinder the ability of the time-skew extraction circuitry to accurately measure the amount of time-skew between adjacent channels of the interleaved ADC. Ideally, the average distance between consecutive samples from each pair of channels should converge to an average distance taken across all of the pairs of channels. However, significant noise and/or interference in the communications channel may cause the average distances to diverge, which may render subsequent samples of the input signal unusable.
(18) Aspects of the present disclosure may improve the performance of an interleaved ADC by detecting conditions in the time-skew adjustment operation that may cause the operation to diverge. In some embodiments, a time-skew adjustment circuit may include time skew detection circuitry to calculate respective time skews between each pair of channels of the interleaved ADC, and a divergence control circuitry to determine an accuracy of the time skews based at least in part on a Nyquist zone associated with the input signal. For example, the time-skew detection circuitry may calculate the respective time skews based at least in part on the average distances between consecutive samples from each pair of channels. Applying a time-skew adjustment (or correction) may change the average distance between consecutive samples for a particular pair of channels. More specifically, aspects of the present disclosure recognize that the polarity of the change in average distance (e.g., in response to a time-skew adjustment) may depend on the target Nyquist zone in which the input signal is expected to be located. For example, when the interleaved ADC samples the input signal from an odd Nyquist zone, the time-skew adjustments may cause a change in average distance between consecutive samples that is opposite in polarity to the change that would be caused if the interleaved ADC were to sample the input signal from an even Nyquist zone. Accordingly, the divergence control circuitry may predict, based on the Nyquist zone associated with the input signal, whether the time-skew adjustment operation is likely to diverge.
(19)
(20) As shown in
(21) Ideally, the distance (e.g., time difference) between each pair of consecutive sample channels' samples should be equal. For example, the distance (?V.sub.t1?t2) between the first sample channel's first sample and the second channel's first sample should be equal to the distance (?V.sub.t2?t3) between the second channel's first sample and the third sample channel's first sample (e.g., ?V.sub.t1?t2=?V.sub.t2?t3). However, in the example of
(22)
(23) The sampling stage 210 may be configured to sample the input signal 201 based, at least in part, on a clock signal (CLK). For example, the sample stage 210 may include a plurality of ADC slices 214.sub.1-214.sub.4 coupled to receive the input signal 201 via respective sampling switches 212.sub.1-212.sub.4. More specifically, each of the ADC slices 214.sub.1-214.sub.4 (and corresponding switches 212.sub.1-212.sub.4) may comprise a respective channel CH.sub.1-CH.sub.4 of the sampling stage 210. Thus, digital samples 203.sub.1 captured by the first slice 214.sub.1 correspond to a sampling performed in the first channel CH1 of the sampling stage 210, digital samples 203.sub.2 captured by the second slice 214.sub.2 correspond to a sampling performed in the second channel CH2 of the sampling stage 210, digital samples 203.sub.3 captured by the third slice 214.sub.3 correspond to a sampling performed in the third channel CH3 of the sampling stage 210, and digital samples 203.sub.4 captured by the fourth slice 214.sub.4 correspond to a sampling performed in the fourth channel CH4 of the sampling stage 210.
(24) Each of the ADC slices 214.sub.1-214.sub.4 samples the input signal 201 at a sampling frequency f.sub.s/4 to produce a plurality of digital samples 203.sub.1-203.sub.4. The digital samples 203.sub.1-203.sub.4 are then filtered via the offset/gain calibration circuit 220 to produce the digital output 202. The sampling switches 212.sub.1-212.sub.4 are configured to couple the input signal 201 to the ADC slices 214.sub.1-214.sub.4, respectively, when it is time for each ADC slice to capture a respective sample of the input signal 201. In some embodiments, the opening and/or closing of the sampling switches 212.sub.1-212.sub.4 may be controlled by the clock signal CLK. Ideally, the timing of the sampling switches 212.sub.1-212.sub.4 may be aligned so that each of the ADC slices 214.sub.1-214.sub.4 receives the input signal 201 with the same amount of delay and/or timing offset. For example, once the first slice 214.sub.1 has received the input signal 201, the second slice 214.sub.2 should receive the input signal 201 after an amount of time (at) has passed. Similarly, once the second slice 214.sub.2 has received the input signal 201, the third slice 214.sub.3 should receive the input signal 201 after the same amount of time ?t has passed. However, in actual implementations, there may be a mismatch between the routing of the input signal 201 via the different switches 212.sub.1-212.sub.4 (e.g., due to process variations). This may result in time-skew mismatches, such as shown in
(25) The time-skew adjustment circuit 230 may detect time-skew mismatches between the channels CH1-CH4 of the sampling stage 210 based at least in part on the output signal 202. In some embodiments, the time-skew adjustment circuit 230 may further correct for time-skew mismatches between the various channels CH1-CH4 by adjusting the timing of the sampling switches 212.sub.1-212.sub.4. For example, the time-skew adjustment circuit 230 may adjust the timing of the sampling switches 212.sub.1-212.sub.4 by selectively delaying the clock signal CLK (e.g., which controls a timing of the sampling switches 212.sub.1-212.sub.4) via a programmable delay stage 240. In some aspects, the timing adjustments may be output by the time-skew adjustment circuit 230 as a time-skew adjustment (TS_ADJ) signal 203. With reference for example to
(26) In some embodiments, the time-skew adjustment circuit 230 may use subtractor circuitry (e.g., in lieu of multipliers and adders) to extract the amount of time-skew between pairs of channels in the sampling stage 210. However, noise and/or interference in the communications channel may hinder the ability of the time-skew adjustment circuit 230 to accurately measure the amount of time-skew between adjacent channels of the interleaved ADC. As described in greater detail below, the time-skew adjustment circuit 230 may compare the interleaved absolute values of odd and even signal derivatives to extract an average distance between consecutive samples of the input signal 201 over time (e.g., which may be proportional to the amount of time skew). Ideally, the average distance between consecutive samples from each pair of channels should converge to an average distance that is the substantially the same across all of the pairs of channels. However, noise and/or interference in the communications channel (such as the presence of blockers and/or spectral artifacts) may cause the average distances to diverge over time, which may render subsequent samples of the input signal 201 (e.g., by the sampling stage 210) more and more unusable.
(27) In some embodiments, the time-skew adjustment circuit 230 may include divergence control circuitry 232 to detect one or more conditions that may cause the average distances between consecutive samples of the input signal 201 to diverge (e.g., in response to timing adjustments applied by the time-skew adjustment circuit 230). More specifically, in some aspects, the time-skew adjustment circuit 230 may predict, based on a Nyquist zone associated with the input signal, whether the time-skew adjustment operation is likely to diverge. In some other aspects, the time-skew adjustment circuit 230 may determine the Nyquist zone associated with the input signal by monitoring a polarity of change in the average distances between consecutive samples of the input signal 201.
(28)
(29) The time-skew extractor circuit 300 includes a first subtractor 302, a plurality of second subtractors 304.sub.1-304.sub.4 (hereinafter collectively referred to as second subtractors 304), a flip-flop 303, a bit manipulator 310, a demultiplexer 320, and a plurality of averaging circuits 330.sub.0-330.sub.4 (hereinafter collectively referred to as averaging circuits 330). In the example of
(30) The first subtractor 302 and flip-flop 303 may be coupled to receive a series of offset/gain calibrated digital samples V(t) captured by an interleaved ADC (such as the output 202 of the interleaved ADC 200). Thus, the samples V(t) may correspond to digital representations of an input signal (such as the input signal 201 received by the interleaved ADC 200) at discrete times t. In some embodiments, the time-skew extractor circuit 300 may determine the differences between the times t in which the digital samples V(t) are acquired based at least in part on the values of V(t). More specifically, the time-skew extractor circuit 300 may be configured to detect distances between consecutive samples V(t) captured by adjacent channels (e.g., channel pairs) of the interleaved ADC.
(31) The flip-flop 303 may output a derivative V(t+1) of each sample V(t) (e.g., the sample received and/or measured on the next or subsequent clock cycle as the current sample), and may forward the derivative V(t+1) to the first subtractor 302. The first subtractor 302 may perform signal differentiation to obtain the distances ?V between each consecutive pair of samples (e.g., ?V=V(t)?V(t+1)). The distances ?V may be forwarded to a bit manipulator 310, which is configured to manipulate the bits of ?V to produce the absolute values of the distances |?V| (e.g., by flipping a bit representing whether the distance has a positive or negative value). The absolute values |?V| are forwarded to the demultiplexer 320 and a first averaging circuit 330.sub.0.
(32) The first averaging circuit 330.sub.0 may calculate an average ?(?V) of all of the distances |?V| output by the bit manipulator 310. More specifically, the average ?(?V) output by the first averaging circuit 330.sub.0 may represent an average of the distances between consecutive samples taken across all of the channels (e.g., CH1-CH4) of the interleaved ADC. This average ?(?V) may be provided as an input to each of the second subtractors 304.
(33) The demultiplexer 320 may separate the distances |?V| according to their respective channel pairings. For example, a first output |?V.sub.t1?t2| of the demultiplexer 320 may correspond to a distance between consecutive samples captured by a first pair of adjacent channels (e.g., CH1 and CH2) of the interleaved ADC, a second output |?V.sub.t2?t3| of the demultiplexer 320 may correspond to a distance between consecutive samples captured by a second pair of channels (e.g., CH2 and CH3) of the interleaved ADC, a third output |?V.sub.t3?t4| of the demultiplexer 320 may correspond to a distance between consecutive samples captured by a third pair of channels (e.g., CH3 and CH4) of the interleaved ADC, and a fourth output |?V.sub.t4?t1| of the demultiplexer 320 may correspond to a distance between consecutive samples captured by a fourth pair of channels (e.g., CH4 and CH1) of the interleaved ADC. The outputs |?V.sub.t1?t2|, |?V.sub.t2?t3|, |?V.sub.t3?t4|, and |?V.sub.t4?t1| of the demultiplexer 320 may be provided as inputs to the averaging circuits 330.sub.1-330.sub.4, respectively.
(34) Each of the averaging circuits 330.sub.1-330.sub.4 may calculate an average distance between consecutive samples from a corresponding pair of channels. For example, the second averaging circuit 330.sub.1 may calculate an average distance ?(?V.sub.t1?t2) between consecutive samples captured by the first pair of channels (CH1 and CH2), the third averaging circuit 330.sub.2 may calculate an average distance ?(?V.sub.t2?t3) between consecutive samples captured by the second pair of channels (CH2 and CH3), the fourth averaging circuit 330.sub.3 may calculate an average distance ?(?V.sub.t3?t4) between consecutive samples captured by the third pair of channels (CH3 and CH4), and the fifth averaging circuit 330.sub.4 may calculate an average distance ?(?V.sub.t4?t1) between consecutive samples captured by the fourth pair of channels (CH4 and CH1). The outputs ?(?V.sub.t1?t2), ?(?V.sub.t2?t3), ?(?V.sub.t3?t4), and ?(?V.sub.t4?t1) of the averaging circuits 330.sub.1-330.sub.4 may be provided as secondary inputs to each of the second subtractors 304.
(35) Each of the second subtractors 304 may calculate a difference between the average ?(?V) of the distances between consecutive samples, as measured across all of the channels (e.g., CH1-CH4) of the interleaved ADC, and the average distance between consecutive samples from a corresponding pair of channels (e.g., CH1-CH2, CH2-CH3, CH3-CH4, or CH4-CH1). The difference computed by each of the second subtractors 304 is proportional to an average time skew ?(?t) between the corresponding pair channels. For example, the first of the second subtractors 304.sub.1 may calculate a difference between ?(?V) and ?(?V.sub.t1?t2) to determine an average time skew ?(??t.sub.1+?t.sub.2) between the first pair of channels (CH1 and CH2), the second of the second subtractors 304.sub.2 may calculate a difference between ?(?V) and ?(?V.sub.t2?t3) to determine an average time skew ?(??t.sub.2+?t.sub.3) between the second pair of channels (CH2 and CH3), the third of the second subtractors 304.sub.3 may calculate a difference between ?(?V) and ?(?V.sub.t3?t4) to determine an average time skew ?(??t.sub.3+?t.sub.4) between the third pair of channels (CH3 and CH4), and the fourth of the second subtractors 304.sub.4 may calculate a difference between ?(?V) and ?(?V.sub.t4?t1) to determine an average time skew ?(??t.sub.4+?t.sub.1) between the fourth pair of channels (CH4 and CH1).
(36) The calculated time skew values ?(??t.sub.1+?t.sub.2), ?(??t.sub.2+?t.sub.3), ?(??t.sub.3+?t.sub.4), and ?(??t.sub.4+?t.sub.1) may be provided as inputs to a calibration loop controller (not shown for simplicity), which may be configured to perform time-skew correction at the sampling stage of the interleaved ADC (e.g., as described above with respect to
(37)
(38) As shown in
(39)
(40)
(41) It is noted, with respect to
(42) In some aspects, the presence of blockers in a particular Nyquist zone may affect the sampling of an input signal in an adjacent Nyquist zone. For example,
(43)
(44) As shown in
(45)
(46) The time-skew extractor circuit 800 includes a first subtractor 802, a plurality of second subtractors 304.sub.1-304.sub.4 (hereinafter collectively referred to as second subtractors 804), a flip-flop 803, a bit manipulator 810, a demultiplexer 820, and a plurality of averaging circuits 830.sub.0-830.sub.4 (hereinafter collectively referred to as averaging circuits 830). In the example of
(47) The first subtractors 802 and flip-flop 803 may be coupled to receive a series of offset/gain calibrated digital samples V(t) captured by an interleaved ADC (such as the output 202 of the interleaved ADC 200). Thus, the samples V(t) may correspond to digital representations of an input signal (such as the input signal 201 received by the interleaved ADC 200) at discrete times t. In some embodiments, the time-skew extractor circuit 800 may determine the differences between the times t in which the digital samples V(t) are acquired based at least in part on the values of V(t). More specifically, the time-skew extractor circuit 800 may be configured to detect distances between consecutive samples V(t) captured by adjacent channels (or pairs of channels) of the interleaved ADC.
(48) The flip-flop 803 may output a derivative V(t+1) of each sample V(t) (e.g., the sample received and/or measured on the next or subsequent clock cycle as the current sample), and may forward the derivative V(t+1) to the first subtractor 802. The first subtractor 802 may perform signal differentiation to obtain the distances ?V between each consecutive pair of samples (e.g., ?V=V(t)?V(t+1)). The distances ?V may be forwarded to a bit manipulator 810, which is configured to manipulate the bits of ?V to produce the absolute values of the distances |?V| (e.g., by flipping a bit representing whether the distance has a positive or negative value). The absolute values |?V| are forwarded to the demultiplexer 820 and a first averaging circuit 830.sub.0.
(49) The first averaging circuit 830.sub.0 may calculate an average ?(?V) of all of the distances |?V| output by the bit manipulator 810. More specifically, the average ?(?V) output by the first averaging circuit 830.sub.0 may represent an average of the distances between consecutive samples taken across all of the channels (e.g., CH1-CH4) of the interleaved ADC. This average ?(?V) may be provided as an input to each of the second subtractors 804.
(50) The demultiplexer 820 may separate the distances |?V| according to their respective channel pairings. For example, a first output |?V.sub.t1?t2| of the demultiplexer 820 may correspond to a distance between consecutive samples captured by a first pair of adjacent channels (e.g., CH1 and CH2) of the interleaved ADC, a second output |?V.sub.t2?t3| of the demultiplexer 820 may correspond to a distance between consecutive samples captured by a second pair of channels (e.g., CH2 and CH3) of the interleaved ADC, a third output |?V.sub.t3?t4| of the demultiplexer 820 may correspond to a distance between consecutive samples captured by a third pair of channels (e.g., CH3 and CH4) of the interleaved ADC, and a fourth output |?V.sub.t4?t1| of the demultiplexer 820 may correspond to a distance between consecutive samples captured by a fourth pair of channels (e.g., CH4 and CH1) of the interleaved ADC. The outputs |?V.sub.t1?t2|, |?V.sub.t2?t3|, |?V.sub.t3?t4|, and |?V.sub.t4?t1| of the demultiplexer 820 may be provided as inputs to the averaging circuits 830.sub.1-830.sub.4, respectively.
(51) Each of the averaging circuits 830.sub.1-830.sub.4 may calculate an average distance between consecutive samples from a corresponding pair of channels. For example, the second averaging circuit 830.sub.1 may calculate an average distance ?(?V.sub.t1?t2) between consecutive samples captured by the first pair of channels (CH1 and CH2), the third averaging circuit 830.sub.2 may calculate an average distance ?(?V.sub.t2?t3) between consecutive samples captured by the second pair of channels (CH2 and CH3), the fourth averaging circuit 830.sub.3 may calculate an average distance ?(?V.sub.t3?t4) between consecutive samples captured by the third pair of channels (CH3 and CH4), and the fifth averaging circuit 830.sub.4 may calculate an average distance ?(?V.sub.t4?t1) between consecutive samples captured by the fourth pair of channels (CH4 and CH1). The outputs ?(?V.sub.t1?t2), ?(?V.sub.t2?t3), ?(?V.sub.t3?t4), and ?(?V.sub.t4?t1) of the averaging circuits 830.sub.1-830.sub.4 may be provided as secondary inputs to each of the second subtractors 804.
(52) Each of the second subtractors 804 may calculate a difference between the average ?(?V) of the distances between consecutive samples, as measured across all of the channels (e.g., CH1-CH4) of the interleaved ADC, and the average distance between consecutive samples from a corresponding pair of channels (e.g., CH1-CH2, CH2-CH3, CH3-CH4, or CH4-CH1). The difference computed by each of the second subtractors 804 is proportional to an average time skew ?(?t) between the corresponding pair channels. For example, the first of the second subtractors 8041 may calculate a difference between ?(?V) and ?(?V.sub.t1?t2) to determine an average time skew ?(??t.sub.1+?t.sub.2) between the first pair of channels (CH1 and CH2), the second of the second subtractors 8042 may calculate a difference between ?(?V) and ?(?V.sub.t2?t3) to determine an average time skew ?(??t.sub.2+?t.sub.3) between the second pair of channels (CH2 and CH3), the third of the second subtractors 8043 may calculate a difference between ?(?V) and ?(?V.sub.t3?t4) to determine an average time skew ?(??t.sub.3+?t.sub.4) between the third pair of channels (CH3 and CH4), and the fourth of the second subtractors 804.sub.4 may calculate a difference between ?(?V) and ?(?V.sub.t4?t1) to determine an average time skew ?(??t.sub.4+?t.sub.1) between the fourth pair of channels (CH4 and CH1).
(53) The calculated time skew values ?(??t.sub.1+?t.sub.2), ?(??t.sub.2+?t.sub.3), ?(??t.sub.3+?t.sub.4), and ?(??t.sub.4+?t.sub.1) may be provided as inputs to a calibration loop controller (not shown for simplicity), which may be configured to perform time-skew correction at the sampling stage of the interleaved ADC (e.g., as described above with respect to
(54) In some embodiments, the time-skew extractor circuit 800 may include a divergence control circuit 840 to determine an accuracy of the time skews ?(??t.sub.1+?t.sub.2), ?(??t.sub.2+?t.sub.3), ?(??t.sub.3+?t.sub.4), and ?(??t.sub.4+?t.sub.1). More specifically, the divergence control circuit 840 may detect one or more conditions (such as a presence of spectral interference in an adjacent Nyquist zone) that are likely to cause the average distances ?(?V.sub.t1?t2), ?(?V.sub.t2?t3), ?(?V.sub.t3?t4), and ?(?V.sub.t4?t1) to diverge. For example, the divergence control circuit 840 may receive a copy of each of the average distances ?(?V.sub.t1?t2), ?(?V.sub.t2?t3), ?(?V.sub.t3?t4), and ?(?V.sub.t4?t1) output by the averaging circuits 830.sub.1-830.sub.4, respectively. In some embodiments, the divergence control circuit 840 may monitor trends in the average distances ?(?V.sub.t1?t2), ?(?V.sub.t2?t3), ?(?V.sub.t3?t4), and ?(?V.sub.t4?t1) to determine whether a divergence condition has been detected.
(55) As described above with respect to
(56) Thus, in some embodiments, the divergence control circuit 840 may determine an expected polarity of change in the average distances ?(?V.sub.t1?t2), ?(?V.sub.t2?t3), ?(?V.sub.t3?t4), and ?(?V.sub.t4?t1) given the Nyquist zone associated with the input signal. In some aspects, the Nyquist zone associated with the input signal may be provided (e.g., as an NZ_Select signal) by a user of the time-skew extraction circuit 800. For example, if the expected polarity of change is negative (?), the divergence control circuit 840 may expect to see a reduction in one or more of the average distances ?(?V.sub.t1?t2), ?(?V.sub.t2?t3), ?(?V.sub.t3?t4), and/or ?(?V.sub.t4?t1) in response to a time-skew adjustment ?t. On the other hand, if the expected polarity of change is positive (+), the divergence control circuit 840 may expect to see an increase in one or more of the average distances ?(?V.sub.t1?t2), ?(?V.sub.t2?t3), ?(?V.sub.t3?t4), and/or ?(?V.sub.t4?t1) in response to the same time-skew adjustment ?t.
(57) In some embodiments, the divergence control circuit 840 may further receive a time-skew adjustment (TS_ADJ) signal from a calibration loop controller. For example, the time-skew adjustment signal may be used to apply a delay or timing offset to one or more channels of the interleaved ADC (such as described with respect to the TS_ADJ signal 203 of
(58) In a particular example, an input signal may be associated with an odd Nyquist zone. Based on the time-skews ?(??t.sub.1+?t.sub.2), ?(??t.sub.2+?t.sub.3), ?(??t.sub.3+?t.sub.4), and ?(??t.sub.4+?t.sub.1) calculated by the time-skew extraction circuit 800, a calibration loop controller may apply a time-skew adjustment ?t to the second channel of the interleaved ADC. As a result of this time-skew adjustment ?t, the divergence control circuit 840 may expect to detect a decrease in the average distance ?(?V.sub.t2?t3) between the second and third channels of the interleaved ADC (e.g., because the input signal is in an odd Nyquist zone). Thus, if the divergence control circuit 840 detects that the average distance ?(?V.sub.t2?t3) decreases after applying the time-skew adjustment ?t, the divergence control circuit 840 may take no further action (e.g., the time-skew detection operation is working properly). However, if the divergence control circuit 840 detects that the average distance ?(?V.sub.t2?t3) increases as a result of the time-skew adjustment ?t, the divergence control circuit 840 may generate a control (CTRL) signal to take corrective action (e.g., a divergence condition is detected).
(59) In some embodiments, the CTRL signal may be used to pause or suspend an operation of the time-skew extraction circuit 800. As described above, the divergence condition may be triggered when the presence of blockers in the ADC causes an incorrect change in polarity of one or more of the average distances ?(?V.sub.t1?t2), ?(?V.sub.t2?t3), ?(?V.sub.t3?t4), and/or ?(?V.sub.t4?t1), thus causing the average distances to diverge. Thus, it may be desirable to prevent further divergence by pausing one or more components of the time-skew extraction circuit 800 (e.g., and thereby pausing the time-skew adjustments to the interleaved ADC). It is noted that the presence of blockers (and/or other interference) may be temporary. Thus, in some aspects, the time-skew extraction circuit 800 may re-enable the operation of the time-skew extraction circuit 800 when the blockers are no longer detected in the adjacent Nyquist zone.
(60) In some other embodiments, the CTRL signal may be used to pause or suspend an operation of the interleaved ADC. As described above, the divergence condition may be triggered when a time-skew adjustment ?t pushes the sampling time of a particular channel of the interleaved ADC further in the wrong direction (e.g., as shown in
(61) Still further, in some embodiments, the divergence control circuit 840 may be used to determine the Nyquist zone associated with the input signal. For example, if the divergence control circuit 840 has no a priori knowledge of which Nyquist zone the input signal is located in, the divergence control circuit 840 may determine the associated Nyquist zone based on the detected polarity of change in one or more of the average distances ?(?V.sub.t1?t2), ?(?V.sub.t2?t3), ?(?V.sub.t3?t4), and/or ?(?V.sub.t4?t1). More specifically, the divergence control circuit 840 may determine the Nyquist zone associated with the input signal by monitoring how the interleaved ADC responds to a time-skew adjustment ?t. For example, the divergence control circuit 840 may determine whether the input signal is located in an odd or even Nyquist zone based on the polarity of change in the average distance between consecutive samples from a particular pair of channels in response to a given time-skew adjustment ?t.
(62) In the example above, if the divergence control circuit 840 detects a reduction in the average distance ?(?V.sub.t2?t3) after applying a time-skew adjustment ?t to the second channel of the interleaved ADC, then the divergence control circuit 840 may determine that the input signal is located in an odd Nyquist zone (e.g., assuming there are no high-power blockers in an adjacent Nyquist zone). On the other hand, if the divergence control circuit 840 detects an increase in the average distance ?(?V.sub.t2?t3) after applying the time-skew adjustment ?t to the second channel of the interleaved ADC, then the divergence control circuit 840 may determine that the input signal is located in an even Nyquist zone (e.g., assuming there are no high-power blockers in an adjacent Nyquist zone).
(63) It is noted that, when determining the Nyquist zone associated with the input signal, the divergence control circuit 840 may assume that there are no high-power blockers (e.g., in an adjacent Nyquist zone) being sampled by the ADC. In some embodiments, the divergence control circuit 840 may initially assume that the input signal is located in a particular Nyquist zone (e.g., for purposes of executing the time-skew extraction operation), and may correct the initial assumption after detecting how the interleaved ADC responds to a time-skew adjustment ?t.
(64)
(65) The divergence control circuit 900 includes a subtractor 902, a flip-flop 803, a first comparator 904, a second comparator 906, and an expected polarity detector 910. The subtractor 902 and flip-flop 903 may be coupled to receive a series of average distances ?(?V.sub.tn?t(n+1)) between consecutive samples taken by a pair of adjacent channels of an interleaved ADC (such as the outputs of one or more of the averaging circuits 830 of
(66) The flip-flop 903 may output a derivative of each average distance ?(?V.sub.tn?t(n+1)) (e.g., the average distance between subsequent samples, captured after at least some of the samples used to determine the current average distance). The subtractor 902 may perform signal differentiation to determine a change in average distance ?? over time. The change in average distance ?? may be provided as a first input to the first comparator 904. More specifically, the first comparator 904 may compare the change in average distance ?? with a reference value (e.g., 0) to determine the polarity P(??) of the change in average distance. For example, the first comparator 904 may output a 0 or a 1 depending on whether the change in average distance ?? is greater than, or less than, the reference value (e.g., P(??)=0 if ??<0; and P(??)=1 if ??>0). Thus, if the average distance ?(?V.sub.tn?t(n+1)) decreases over time, the first comparator 904 may output a first value to indicate a negative polarity of change (e.g., P(??)=0). On the other hand, if the average distance ?(?V.sub.tn?t(n+1)) increases over time, the first comparator 904 may output a second value to indicate a positive polarity of change (e.g., P(??)=1).
(67) In some embodiments, the expected polarity detector 910 may determine an expected polarity P.sub.E(??) of change in the average distance given the Nyquist zone associated with the input signal. For example, the expected polarity detector 910 may output a 0 or a 1 depending on the Nyquist zone associated with the input signal. In some aspects, the Nyquist zone associated with the input signal may be provided (e.g., as an NZ_Select signal) by a user of the divergence control circuit 900. In some other aspects, the divergence control circuit 900 may initially assume a Nyquist zone for the input signal. As described above, the polarity of change associated with an odd Nyquist zone may be opposite the polarity of change associated with an even Nyquist zone (e.g., as shown in
(68) The second comparator 906 may be coupled to receive the outputs of the first comparator 904 and the expected polarity detector 910. More specifically, the second comparator 906 may compare the expected polarity of change P.sub.E(??) with the actual polarity of change P(??) to determine the accuracy of the time-skews measured by the time-skew extraction circuit (e.g., whether a divergence condition is present in the interleaved ADC). In some embodiments, the second comparator 906 may selectively output a control (CTRL) signal based at least in part on the comparison. For example, the second comparator 906 may output a 0 or a 1 depending on whether the expected polarity of change P.sub.E(??) is the same as the actual polarity of change P.sub.E(??). In some embodiments, the divergence control circuit 900 may be configured to take no further action if the polarity P(??) of the change in average distance is the same as the expected polarity of change P.sub.E(??). Thus, the second comparator 906 may deassert the CTRL signal (e.g., CTRL=0) if the expected polarity of change is the same as the actual polarity of change (e.g., P.sub.E(??)=P(??))
(69) In some other embodiments, the divergence control circuit 900 may be configured to take corrective action (e.g., using the CTRL signal) if the polarity P(??) of the change in average distance is different than the expected polarity of change P.sub.E(??). Thus, the second comparator 906 may assert the CTRL signal (e.g., CTRL=1) if the expected polarity of change is not the same as the expected polarity of change (e.g., P.sub.E(??)?P(??)). In some aspects, the asserted CTRL signal may be used to pause or suspend an operation of the time-skew extraction circuit (such as the time-skew extraction circuit 800 of
(70)
(71) The time-skew extraction circuit 800 receives a series of samples of an input signal from a plurality of channels of an interleaved ADC (1010). For example, the received samples V(t) may correspond to digital representations of an input signal captured at a plurality of discrete instances of time t. In some implementations, the received samples may be offset/gain calibrated digital samples (such as output by the offset/gain calibration circuit 220 of
(72) The time-skew extraction circuit 800 may calculate distances between consecutive samples in the received series of samples (1020). For example, the flip-flop 803 may output a derivative V(t+1) of each sample V(t), and may forward the derivative V(t+1) to a first subtractor 802. The first subtractor 802 may then perform signal differentiation to obtain the distances ?V between each consecutive pair of samples (e.g., ?V=V(t)?V(t+1)). In some embodiments, the distances ?V may be forwarded to a bit manipulator 810, which is configured to manipulate the bits of ?V to produce the absolute values of the distances |?V| (e.g., by flipping a bit representing whether the distance has a positive or negative value).
(73) The time-skew extraction circuit 800 may further calculate a plurality of first average distances, wherein each of the first average distances corresponds to an average of the distance between consecutive samples from a respective pair of channels of the interleaved ADC (1030). For example, the demultiplexer 820 may separate the distances |?V| according to their respective channel pairings. The outputs |?V.sub.t1?t2|, |?V.sub.t2?t3|, |?V.sub.t3?t4|, and |?V.sub.t4?t1| of the demultiplexer 820 may then be provided as inputs to the averaging circuits 830.sub.1-830.sub.4, respectively. Each of the averaging circuits 830.sub.1-830.sub.4 may calculate an average distance between consecutive samples from a corresponding pair of channels.
(74) The time-skew extraction circuit 800 may then calculate respective time skews between each of the pairs of channels by comparing each of the first average distances with an average of the distances between consecutive samples from the plurality of channels (1040). For example, the first averaging circuit 830.sub.0 may calculate an average ?(?V) of all of the distances |?V| output by the bit manipulator 810. More specifically, the average ?(?V) output by the first averaging circuit 830.sub.0 may represent an average of the distances between consecutive samples taken across all of the channels of the interleaved ADC. Each of the second subtractors 804 may be coupled to receive the output of the first averaging circuit 830.sub.0 and the output of a respective one of the remaining averaging circuits 830.sub.1-830.sub.4. More specifically, each of the second subtractor 804 may calculate a difference between the average ?(?V) of the distances between consecutive samples, as measured across all of the channels of the interleaved ADC, and the average distance between consecutive samples from a corresponding pair of channels. The difference computed by each of the second subtractors 804 is proportional to an average time skew ?(?t) between the corresponding pair channels.
(75) Finally, the time-skew extractor circuit 800 may determine an accuracy of the time skews based at least in part on the first average distances and a Nyquist zone associated with the input signal (1050). For example, the divergence control circuit 840 may detect one or more conditions (such as a presence of spectral interference in an adjacent Nyquist zone) that are likely to cause the average distances ?(?V.sub.t1?t2), ?(?V.sub.t2?t3), ?(?V.sub.t3?t4), and ?(?V.sub.t4?t1) to diverge. In some embodiments, the divergence control circuit 840 may monitor trends in the average distances ?(?V.sub.t1?t2), ?(?V.sub.t2?t3), ?(?V.sub.t3?t4), and ?(?V.sub.t4?t1) to determine whether a divergence condition has been detected. In some aspects, the divergence control circuit 840 may determine an expected polarity of change in the average distances ?(?V.sub.t1?t2), ?(?V.sub.t2?t3), ?(?V.sub.t3?t4), and ?(?V.sub.t4?t1) given the Nyquist zone associated with the input signal. The divergence control circuit 840 may then monitor the average distances ?(?V.sub.t1?t2), ?(?V.sub.t2?t3), ?(?V.sub.t3?t4), and ?(?V.sub.t4?t1) to ensure that the resulting change in average distance associated with a time-skew adjustment ?t has the same polarity as the expected polarity for the selected Nyquist zone.
(76) In some embodiments, if the divergence control circuit 840 detects that the average distance ?(?V) between consecutive samples from a particular pair of channels is the same as the expected polarity of change after applying the time-skew adjustment ?t, the divergence control circuit 840 may take no further action (e.g., the time-skew detection operation is working properly). However, if the divergence control circuit 840 detects that the average distance ?(?V) between consecutive samples from a particular pair of channels is different than the expected polarity of change as a result of the time-skew adjustment ?t, the divergence control circuit 840 may generate a control (CTRL) signal to take corrective action (e.g., a divergence condition is detected). In some aspects, the CTRL signal may be used to pause or suspend an operation of the time-skew extraction circuit 800. In some other aspects, the CTRL signal may be used to pause or suspend an operation of the interleaved ADC.
(77)
(78) The divergence control circuit 900 may first select a Nyquist zone associated with the input signal (1110). In some embodiments, the selected Nyquist zone may be provided by a user of the divergence control circuit 900 (or the interleaved ADC). In some other embodiments, the selected Nyquist zone may be based on an initial assumption by the divergence control circuit 900 (e.g., assuming no a priori knowledge of the actual Nyquist zone associated with the input signal by the divergence control circuit 900).
(79) The divergence control circuit 900 may then determine an expected polarity (P.sub.E) of change in the average distance between consecutive samples of the input signal based on the selected Nyquist zone (1120). As described above, the polarity of change associated with an odd Nyquist zone may be opposite the polarity of change associated with an even Nyquist zone (e.g., as shown in
(80) The divergence control circuit 900 may also detect the actual polarity (P) of the change in the average distance between consecutive samples of the input signal taken from a pair of adjacent channels (1130). For example, the subtractor 902 and flip-flop 903 may be coupled to receive a series of average distances ?(?V.sub.tn?t(n+1)) between consecutive samples taken by a pair of adjacent channels of an interleaved ADC. The flip-flop 903 may output a derivative of each average distance ?(?V.sub.tn?t(n+1)) (e.g., the average distance between subsequent samples, captured after at least some of the samples used to determine the current average distance). The subtractor 902 may perform signal differentiation to determine a change in average distance ?? over time. The first comparator 904 may then compare the change in average distance ?? with a reference value (e.g., 0) to determine the polarity P of the change in average distance. For example, the first comparator 904 may output a 0 or a 1 depending on whether the change in average distance ?? is greater than, or less than, the reference value (e.g., P=0 if ??<0; and P=1 if ??>0).
(81) The divergence control circuit 900 may then compare the expected polarity P.sub.E with the actual polarity P of the change in average distance between consecutive samples from a pair of adjacent channels (1140). For example, the second comparator 906 may compare the expected polarity of change P.sub.E with the actual polarity of change P to determine the accuracy of the time-skews measured by the time-skew extraction circuit (e.g., whether a divergence condition is present in the interleaved ADC). If the actual polarity of change P is the same as the expected polarity of change P.sub.E (as tested at 1140), the divergence control circuit 900 may continue to monitor the polarity P of change in the average distance between consecutive samples from adjacent channels (1130) and/or take no further action. In some embodiments, the second comparator 906 may deassert a CTRL signal (e.g., CTRL=0) if the expected polarity of change is the same as the actual polarity of change (e.g., P=P.sub.E).
(82) If the actual polarity of change P is different than the expected polarity of change P.sub.E (as tested at 1140), the divergence control circuit 900 may respond by outputting a divergence control signal (1150). For example, the divergence control circuit 900 may be configured to take corrective action when a divergence condition is detected. In some embodiments, the second comparator 906 may assert the CTRL signal (e.g., CTRL=1) if the expected polarity of change is not the same as the actual polarity of change (e.g., P?P.sub.E). In some aspects, the asserted CTRL signal may be used to pause or suspend an operation of the time-skew extraction circuit (such as the time-skew extraction circuit 800 of
(83) Those of skill in the art will appreciate that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
(84) Further, those of skill in the art will appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the aspects disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the disclosure.
(85) The methods, sequences or algorithms described in connection with the aspects disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM latch, flash latch, ROM latch, EPROM latch, EEPROM latch, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An example storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor.
(86) In the foregoing specification, the example embodiments have been described with reference to specific example embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader scope of the disclosure as set forth in the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense.