TIME TO DIGITAL CONVERTER (TDC) CIRCUIT WITH SELF-ADAPTIVE TIME GRANULARITY AND RELATED METHODS
20230384738 · 2023-11-30
Inventors
Cpc classification
International classification
Abstract
A time-to-digital converter (TDC) circuit generates a digital output indicating a time, known as a phase difference, from a phase of the generated signal to a corresponding phase of a reference signal. The digital output is used by the digitally controlled oscillator (DCO) to correct for the phase/frequency difference to synchronize the generated signal with the reference signal. In an aspect, an adaptive TDC circuit generates a first digital indication in a coarse mode when the offset time is above a threshold and generates a second digital indication in a fine mode when the offset time is below the threshold. The first digital indication and the second digital indication each comprise a same number of bits, and the first digital indication is normalized to the second digital indication for the digital output of the adaptive TDC circuit. A fractional bit may be employed to compensate for a quantization error.
Claims
1. An adaptive time-to-digital converter (TDC) circuit, comprising: a start input; a stop input; a first TDC circuit configured to, in a coarse mode, generate a first digital indication of a first time period from a start signal received at the start input to a stop signal received at the stop input; and a second TDC circuit configured to, in a fine mode, generate a second digital indication of a second time period, non-overlapping with the first time period, from the start signal received at the start input to the stop signal received at the stop input, wherein: the first digital indication and the second digital indication each comprise a same number of bits; and the first time period for which the first TDC circuit generates the first digital indication comprising a first digital value is longer than the second time period for which the second TDC circuit generates the second digital indication comprising the first digital value.
2. The adaptive TDC circuit of claim 1, further comprising a mode control latch configured to: indicate one of the coarse mode and the fine mode; switch from indicating the coarse mode to indicating the fine mode based on the first time period being less than a threshold.
3. The adaptive TDC circuit of claim 1, further comprising a TDC multiplexer configured to generate a selected value comprising the first digital value in the coarse mode and the second digital value in the fine mode.
4. The adaptive TDC circuit of claim 3, further comprising a digital multiplier circuit configured to: receive the selected value from the TDC multiplexer; in the coarse mode, multiply the selected value by a gain value and generate a normalized digital output comprising a product of the multiplication; in the fine mode, generate the normalized value comprising the selected value.
5. The adaptive TDC circuit of claim 4, further comprising a fractional TDC circuit, configured to, in each cycle of a system clock: in the fine mode: determine a residual time comprising a difference between the second digital indication and the second input time interval; determine an adjusted residual time based on the residual time and a residual time determined in a previous cycle of the system clock; and append a least significant bit to the normalized value generated in the shift circuit to generate an adaptive TDC output, the least significant bit based on the adjusted residual time.
6. The adaptive TDC circuit of claim 1 comprises: a first plurality of (N) delay buffers, each comprising a buffer input and a buffer output, coupled in a first series, wherein the buffer input of a first delay buffer in the first series is coupled to the start input; a first plurality of (N) latches, each comprising: a data input coupled to the buffer output of a corresponding one of the first N delay buffers in the first series; a clock input coupled to the stop input; and a data output; a first decoder circuit coupled to the data outputs of the first N latches, the first decoder circuit configured to generate the first digital indication; a second plurality of (N) delay buffers, each comprising a buffer input and a buffer output, coupled in a second series, wherein the buffer input of a first delay buffer in the second series is coupled to the stop input; a second plurality of (N) latches, each comprising: a data input coupled to the buffer output of a corresponding one of the first N delay buffers; a clock input coupled to the buffer output of a corresponding one of the second N delay buffers; and a data output; and a second decoder circuit coupled to the data outputs of the second N latches, the second decoder circuit configured to generate the second digital indication.
7. The adaptive TDC circuit of claim 6, wherein: each of the first N delay buffers comprises a first propagation delay from the buffer input to the buffer output, the first propagation delay corresponding to a first time granularity of the first digital indication; and each of the second N delay buffers comprises a second propagation delay between the buffer input and the buffer output, a difference between the first propagation delay and the second propagation delay corresponding to a second time granularity of the second digital indication.
8. The adaptive TDC circuit of claim 7, wherein the first propagation delay is N times the difference between the first propagation delay and the second propagation delay.
9. The adaptive TDC circuit of claim 7, further comprising: a TDC multiplexer coupled to the first decoder circuit and the second decoder circuit; a start delay buffer comprising a buffer input coupled to the buffer output of a last delay buffer in the first series; a stop delay buffer comprising a buffer input coupled to the buffer output of a last delay buffer in the second series; and a mode control latch comprising: a data input coupled to the buffer output of the start delay buffer; a clock input coupled to the buffer output of the stop delay buffer; and a data output coupled to a control input of the TDC multiplexer.
10. The adaptive TDC circuit of claim 9, further comprising a bit-shift circuit configured to: receive a selected value from an output of the TDC multiplexer; in the coarse mode, bit-shift the selected value to generate a bit-shifted value and generate a normalized digital output comprising the bit-shifted value; in the fine mode, generate the normalized value comprising the selected value.
11. The adaptive TDC circuit of claim 9, wherein each of the first decoder circuit and the second decoder circuit comprises an enable input coupled to the data output of the mode storage element.
12. The adaptive TDC circuit of claim 10, wherein: the second TDC circuit is further configured to generate the second digital indication based on a first number of the second time granularity in the second time interval; and the second time interval further comprises a residual time.
13. The adaptive TDC circuit of claim 12, wherein the second TDC circuit further comprises: a first multiplexer circuit comprising a plurality of inputs, each coupled to the buffer output of a corresponding one of the first N delay buffers; a second multiplexer circuit comprising a plurality of inputs, each coupled to the buffer output of a corresponding one of the second N delay buffers; a multiplexer control circuit coupled to the data outputs of the second N latches and configured to: determine, based on the second N latches, that the start signal propagated through the first number of the first N delay buffers and the stop signal propagated through the first number of the second N delay buffers; control the first multiplexer circuit to couple the start signal that propagates through the first number of the first N delay buffers to a first multiplexer circuit output; and control the second multiplexer circuit to couple the stop signal that propagates through the first number of the second N delay buffers to a second multiplexer circuit output.
14. The adaptive TDC circuit of claim 13, further comprising a fractional TDC circuit, configured to: receive the start signal from the first multiplexer circuit output; receive the stop signal from the second multiplexer circuit output; determine the residual time based on a difference between the start signal and the stop signal.
15. The adaptive TDC circuit of claim 12, further comprising a fractional TDC circuit, configured to: generate a least significant bit based on the residual time in a first cycle of a system clock and on a quantization error from a previous cycle of the system clock; and append the least significant bit to the normalized value generated in the shift circuit to generate an adaptive TDC output.
16. The adaptive TDC circuit of claim 12, the circuit further comprising an adder circuit configured to: receive an indication of the residual time in the first cycle; receive the quantization error of the previous cycle; and adjust the input time interval based on the quantization error to generate an adjusted time; and set a quantizer latch to indicate whether the adjusted residual time is positive or negative, wherein the fractional bit is based on an output of the quantizer latch.
17. The adaptive TDC circuit of claim 15, the fractional TDC circuit, further comprising: a quantization error circuit configured to generate the quantization error each cycle as a time difference between the second time granularity and the residual time; and a quantization error delay circuit configured to provide the quantization error of the previous cycle to the adder circuit in the first cycle.
18. The adaptive TDC circuit of claim 15, the fractional TDC circuit, further comprising: an initialization circuit configured to selectively provide one of the quantization errors of the previous cycle and an initialization signal to the adder circuit in the first cycle.
19. The adaptive TDC circuit of claim 15, the adder circuit, further comprising a sum hold circuit configured to store the adjusted time provided to the quantizer latch.
20. A phase-locked loop (PLL) circuit comprising: a phase and frequency detection (PFD) circuit configured to generate a start signal and a stop signal separated by a time period based on a difference between a generated signal and a reference signal; an adaptive time-to-digital converter (TDC) circuit, comprising: a start input configured to receive the start signal; a stop input configured to receive the stop signal; a first TDC circuit configured to, in a coarse mode, generate a first digital indication of a first time period from the start signal to the stop signal; and a second TDC circuit configured to, in a fine mode, generate a second digital indication of a second time period, non-overlapping with the first time period, from the start signal to the stop signal, wherein: the first digital indication and the second digital indication each comprise a first number of bits; and the first digital indication comprising a first digital value indicates a longer first time period than the second time period indicated by the second digital indication comprising the first digital value; a loop filter coupled to the adaptive TDC circuit; and a digitally-controlled oscillator (DCO) coupled to the loop filter circuit and configured to modify the generated signal based on the first digital indication in the coarse mode and based on the second digital indication in the fine mode.
21. A method of converting time to a digital value in an adaptive time-to-digital converter (TDC) circuit, the method comprising: receiving a start signal; receiving the stop signal; generating, in a coarse mode, a first digital indication of a first time period from the start signal to the stop signal; and generating, in a fine mode, a second digital indication of a second time period, non-overlapping with the first time period, from the start signal to the stop signal, wherein: the first digital indication and the second digital indication each comprise a first number of bits; and the first digital indication comprising a first digital value indicates a longer first time period than the second time period indicated by the second digital indication comprising the first digital value
Description
BRIEF DESCRIPTION OF THE DRAWING FIGURES
[0007] The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the disclosure and, together with the description, serve to explain the principles of the disclosure.
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
DETAILED DESCRIPTION
[0018] With reference to the drawing figures, several exemplary aspects of the present disclosure are described. The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any aspect described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects.
[0019] Exemplary aspects disclosed herein include a time-to-digital converter (TDC) circuit with self-adaptive time granularity. Related methods of converting time to a digital value are also disclosed. A digitally controlled oscillator (DCO) in a phase-locked loop (PLL) generates periodic signal whose phase and frequency are controlled by digital signals. A TDC circuit generates a digital output indicating a time, known as a phase difference, from a phase of the generated signal to a corresponding phase of a reference signal. The digital output is used by the DCO to correct for the phase difference to synchronize the generated signal with the reference signal. In an aspect, an adaptive TDC circuit generates a first digital indication in a coarse mode when the offset time is above a threshold and generates a second digital indication in a fine mode when the offset time is below the threshold. The first digital indication and the second digital indication each comprise a same number of bits, and the first digital indication is normalized to the second digital indication for the digital output of the adaptive TDC circuit. In some examples, a fractional bit may be employed in the fine mode to modify the digital output of the adaptive TDC circuit to compensate for a quantization error for greater accuracy. In this manner, the adaptive TDC circuit can correct for a large initial phase difference and also provide high accuracy with a reduced amount of circuitry. In some examples, the adaptive TDC circuit switches from the coarse mode to the fine mode in response to the time period being less than the threshold.
[0020] Before describing details and operation of the exemplary adaptive TDC circuits 200 and 400 in
[0021] When the PLL 100 is first turned on or reset, there may be a phase difference of up to nearly a full period of a cycle between the feedback signal SFB and the reference signal SREF, which the TDC circuit 104 needs to handle. On the other hand, once the phase difference has been significantly reduced, the TDC circuit 104 needs to detect small phase differences for high accuracy. However, handling large phase differences and also generating a digital output with a fine granularity can require a large amount of circuitry.
[0022] The exemplary adaptive TDC circuit 200 (“TDC circuit 200”) in
[0023] In response to the adaptive TDC output TDC_OUT_ADP(m+1:0), the phase difference between the feedback signal SFB and the reference signal SREF is reduced such that the time interval TI is within the narrower range, and the second TDC circuit 204 can be employed. In some cases, the control circuit 206 switches from the coarse mode to the fine mode when the time period between the start signal START and the stop signal STOP is below a threshold. This threshold may be a point at which a range of operation of the first TDC circuit 202 overlaps with a range of operation of the second TDC circuit 204 to provide a smooth transition.
[0024] The first TDC circuit 202 operates in a larger range of time periods indicated by a first digital indication OUT_COARSE (m:0). For example, a first digital indication OUT_COARSE (m:0) may have up to 2.sup.4=16 possible values, where m=3. In this example, each value of the first digital indication OUT_COARSE (m:0) can have a granularity of one thirty-second ( 1/32) (i.e., 1/16 of ½) of the entire period of a cycle of the reference signal SREF. Since the smallest time period that can be indicated by the first TDC circuit 202 would be 1/32 of the cycle, the narrower range of the second TDC circuit 204 would need to extend up to or beyond 1/32 of the cycle to overlap with the range of the first TDC circuit 202, for a smooth transition from the coarse mode to the fine mode. Once the time interval TI is reduced to the narrower range, the control circuit 206 may detect that the time interval TI has reached the threshold and switch the TDC circuit 200 from the coarse mode to the fine mode.
[0025] The second TDC circuit 204 operates in a smaller range of time periods that are indicated by a second digital indication OUT_FINE (m:0). Continuing the above example, in which m=3, each of the 2.sup.4=16 possible values of the second digital indication OUT_FINE (m:0) would be 1/16 of the narrower range (e.g., 1/32 of the period of the cycle), which is a granularity of 1/512 of the cycle period. The above-described ranges and value of “m” are only examples, and the disclosed TDC circuit 200 is not intended to be limited in this regard.
[0026] The granularity of the digital indications OUT_COARSE (m:0) and OUT_FINE (m:0) depend on the ranges of time periods in which they are intended to operate and on the value of “m” (i.e., their bit widths). Achieving a finer granularity by increasing “m” increases the amount of circuitry in the TDC circuit 200, which increases product cost and power consumption. On the other hand, a larger granularity causes updates to the digital output of the TDC circuit 200 to be less frequent and greater in magnitude, which produces noise in the adaptive TDC output TDC_OUT_ADP(m+1:0).
[0027] Returning to the TDC circuit 200 in
[0028] The first delay buffers 208(1)-208(N) have buffer inputs 214(1)-214(N) and buffer outputs 216(1)-216(N). The first delay buffers 208(1)-208(N) are coupled in a first series 218 with the buffer outputs 216(1)-216(N−1) of a previous one of the first delay buffers 208(1)-208(N−1) coupled to the buffer inputs 214(2)-214(N) of a next one of the first delay buffers 208(2)-208(N). The buffer input 214(1) of the first one of the first delay buffers 208(1) in the first series 218 is coupled to a start input 220 that receives the start signal START.
[0029] The first latches 210(1)-210(N) include data inputs 222(1)-222(N), clock inputs 224(1)-224(N), and data outputs 226(1)-226(N). The data inputs 222(1)-222(N) are each coupled to one of the buffer outputs 216(1)-216(N) of a corresponding one of the first delay buffers 208(1)-208(N) in the first series 218. The clock inputs 224(1)-224(N) are coupled to a stop input 228 that receives the stop signal STOP.
[0030] Operation of the first TDC circuit 202 is explained by way of an example in which the start signal START transitions from binary “0” (e.g., ground voltage) to binary “1” (e.g., power supply voltage), the “1” propagates through the first series 218. Each of the first delay buffers 208(1)-208(N) has a same delay ti, which is a signal propagation delay from the buffer input 214(1) to the buffer output 216(1), for example. Thus, in response to a transition of the stop signal STOP, the first latches 210(1)-210(N) capture a state of the buffer outputs 216(1)-216(N) the number of first delay buffers 208(1)-208(N) that the start signal START has propagated through during the time interval TI from the start signal START to the stop signal STOP. For example, if a first time interval TI1 from the transition of the start signal START to the transition of the stop signal STOP is more than three (3) times τ1, but less than four (4) times τ1, the “1” level of the start signal START will have propagated through the first delay buffers 208(1)-208(3), but not through the first delay buffer 208(4). In this case, the first latches 210(1)-210(3) will be set to “1,” and the first latches 210(4)-210(N) will be set to “0” in response to the transition of the stop signal STOP. The decoder circuit 212 is coupled to the data outputs 226(1)-226(N) of the first latches 210(1)-210(N) and encodes the states of the first latches 210(1)-210(N) to generate the first digital indication OUT_COARSE(m:0), where (m=log 2(N)−1).
[0031] The second TDC circuit 204 includes a second delay buffer 230(1)-230(N) (“second delay buffers 230(1)-230(N)”) and a second plurality of latches 232(1)-232(N) (“second latches 232(1)-232(N)”). The second TDC circuit 204 also includes a second decoder circuit 234. The second delay buffers 230(1)-230(N) have buffer inputs 236(1)-236(N) and buffer outputs 238(1)-238(N). The second delay buffers 230(1)-230(N) are coupled in a second series 240 with the buffer input 236(1) of the first one of the second delay buffers 230(1) in the second series 240 coupled to the stop input 228 to receive the stop signal STOP.
[0032] The second latches 232(1)-232(N) include data inputs 242(1)-242(N), clock inputs 244(1)-244(N), and data outputs 246(1)-246(N). The data inputs 242(1)-242(N) are each coupled to one of the buffer outputs 216(1)-216(N) of a corresponding one of the first delay buffers 208(1)-208(N) in the first series 218. The clock inputs 244(1)-244(N) are each coupled to a corresponding one of the buffer outputs 238(1)-238(N) of the second delay buffers 230(1)-230(N).
[0033] In the second TDC circuit 204, each of the second delay buffers 230(1)-230(N) has a same delay τ2. The delay τ2 of each of the second delay buffers 230(1)-230(N) is less than the delay τ1 of each of the first delay buffers 208(1)-208(N). Thus, the stop signal STOP propagates through the second delay buffers 230(1)-230(N) more quickly than the start signal START propagates through the first delay buffers 208(1)-208(N). Thus, the second latches 232(1)-232(X) will be set to “1” where the start signal START has propagated through the number “X” of the first delay buffers 208(1)-208(X) before the stop signal STOP has propagated through the same number “X” of the second delay buffers 230(1)-230(X). This point may also be thought of as the point at which the stop signal STOP propagating through the series 240 “catches up” to the start signal START propagating through the series 218. The second latches 232(X+1)-232(N) after this point will be set to “0” because the stop signal STOP continues to propagate more quickly through the second delay buffers 230(X+1)-230(N) than the start signal START propagates through the first delay buffers 208(X+1)-208(N).
[0034] If the phase difference between the start signal START and the stop signal STOP is greater than the fine granularity of the second TDC circuit 204, the stop signal STOP will not catch up to the start signal START at the second latch 232(N). This condition may be detected using a first mode buffer 250, a second mode buffer 252, and a mode control latch 254. If the stop signal STOP propagates through the second mode buffer 252 to a clock input 256 before the start signal START propagates through the first mode buffer 252 to the data input 258, the mode control latch 254 will be reset (e.g., to a low state or 0 volts). If the start signal START reaches the data input 258 before the stop signal STOP reaches the clock input 256, the mode control latch 254 will be set (e.g., to a high state or VDD). A mode control signal MODE_CTL output from the mode control latch 254 indicates whether the TDC circuit 200 is in the fine mode or the coarse mode. Thus, the TDC circuit 200 may automatically switch from the fine mode to the coarse mode or from the coarse mode to the fine mode based on the state of the mode control latch 254.
[0035] Operation of the second TDC circuit 204 may be more easily understood in view of the timing diagram in
[0036] With further reference to
[0037] In the example of the first TDC circuit 202 above, the first latches 210(1)-210(3) were set to “1,” and the first latches 210(4)-210(N) were set to “0” based on the time interval TI1 between the start signal START and the stop signal STOP of more than 3 times the delay τ1 and less than 4 times the delay τ1. Thus, the delay τ1 in this example determines the granularity corresponding to the first digital indication OUT_COARSE(m:0), which is 1/32 of the cycle period of the reference signal SREF.
[0038] In a corresponding example of the second TDC circuit 204, the second latches 232(1)-232(3) being set to “1” and the second latches 232(4)-232(N) set to “0” indicates a time interval TI2 in a range between three (3) and four (4) times the difference between the delay τ1 of the first delay buffers 208(1)-208(N) and the delay τ2 of the second delay buffers 230(1)-230(N). Stated simply, the time interval TI2 is in a range of 3(τ1−τ2) to 4(τ1−τ2).
[0039] The first digital indication OUT_COARSE(m:0) for the first time interval TI1 and the second digital indication OUT_FINE(m:0) for the second time interval TI2 in the above examples would have a same digital value but would indicate different time intervals TI1 and TI2. Thus, the selected digital output TDC_OUT(m:0) generated by the TDC multiplexer 248 would have a same digital value for the time interval TI1 in the coarse mode and the time interval TI2 in the fine mode.
[0040] To resolve this difference, the TDC circuit 200 also includes a digital multiplier circuit 260 that receives the selected digital output TDC_OUT(m:0) from the TDC multiplexer 248 and generates a normalized digital output TDC_NML_OUT(m:0). In the coarse mode, the selected digital output TDC_OUT(m:0) is the first digital output OUT_COARSE(m:0). In the fine mode, the selected digital output TDC_OUT(m:0) is the second digital output OUT_FINE(m:0). The DCO 102 is configured to receive the normalized digital output TDC_NML_OUT(m:0), having the finer granularity of the second digital output OUT_FINE(m:0). Thus, in the coarse mode, the first digital output OUT_COARSE(m:0) is multiplied by a gain value, and a normalized digital output TDC_NML_OUT(m:0) is generated comprising a product of the multiplication. The gain value is selected so that each bit in the normalized digital output TDC_NML_OUT(m:0) has a same significance in the DCO 102 in the coarse mode and the fine mode. In the example described above, the first TDC circuit 202 has a range that is 16 times the range of the second TDC circuit 204. Accordingly, the digital multiplier circuit 260 multiplies the first digital output OUT_COARSE(m:0) by a gain value of 16 and generates the normalized digital output TDC_NML_OUT(m:0) from the product of the multiplication. Digital multiplication may include bit-shifting the first digital output OUT_COARSE(m:0) and adding leading with 0s (e.g., 4 bits) in the lower bits. In the fine mode, the second digital output OUT_FINE(m:0) is passed without modification to produce the normalized digital output TDC_NML_OUT(m:0). As an alternative to providing the digital multiplier circuit 260, the DCO 102 could be notified that the TDC circuit 200 is in the fine mode or the coarse mode.
[0041]
[0042] The operation of the fractional TDC circuit 406 is explained with reference to the example above, in which the time interval TI2 is between 3 times and 4 times the difference between τ1 and τ2. Due to the fine granularity of the second TDC circuit 204, there is a residual time T.sub.RES between a time indicated by the second digital indication OUT_FINE(m:0) (e.g., 3(τ1−τ2)) and the actual length of the second time interval TI2. Since the second digital indication OUT_FINE(m:0) will not increment from an indication of “3” to an indication of “4” unless the time interval TI2 actually reaches 4(τ1−τ2), the residual time T.sub.RES may be any amount less than (τ1−τ2). The residual time T.sub.RES is an amount that may not be measured by the second TDC circuit 404 due to the finite granularity of the second digital indication OUT_FINE(m:0). The residual time T.sub.RES can be referred to as a quantization error. Because the residual time T.sub.RES is discarded, the second digital indication OUT_FINE(m:0) consistently indicates less time than the actual time interval TI2 from the start signal START to the stop signal STOP. Stated differently, the second digital indication OUT_FINE(m:0) is, on average, consistently offset from the actual time interval TI2, which creates a persistent inaccuracy in the TDC circuit 404. The fractional TDC circuit 406 determines the residual time T.sub.RES as a difference between the second digital indication OUT_FINE(m:0) and the second time interval TI2.
[0043] The quantization error of a previous cycle can be used in a next cycle to improve the accuracy of the TDC circuit 400 by the 1st-order delta-sigma fashion. Compensating for the quantization error of a previous cycle may include appending a least-significant bit or fractional bit 408 to the normalized digital output TDC_NML_OUT(m:0) to generate the adaptive TDC output TDC_OUT_ADP(m+1:0).
[0044] The fractional bit 408 is set to “0” in the coarse mode, leaving the adaptive TDC output TDC_OUT_ADP(m+1:0) unchanged. The fractional bit 408 may also be set to “0” during the fine mode at times when the fractional TDC circuit 406 is disabled. However, when the fractional TDC circuit 406 is enabled, in the first mode, the fractional bit 408 is set to either a “0” or a “1” in a first cycle depending on the residual time T.sub.RES in the first cycle and a quantization error of the previous cycle. As a result, the adaptive TDC output TDC_OUT_ADP(m+1:0) will indicate, in some cases, a time that is slightly less than the actual time interval TI2 and, in some cases, will indicate a time that is slightly greater than the time interval TI2. Thus, on average, the phase difference between the feedback signal SFB and the reference signal SREF is reduced with the fractional TDC circuit 406 being active compared to the fractional TDC circuit 406 being inactive.
[0045] Referring again to
[0046] The TDC circuit 400 also includes a multiplexer control circuit 426 coupled to the data outputs 246(1)-246(N) of the second latches 232(1)-232(N) to detect the point at which the stop signal STOP has propagated through a number “X” of the second delay buffers 230(0)-230(N) and the start signal START has propagated through a same number “X” of the first delay buffers 208(1)-208(N). The multiplexer control circuit 426 controls the first multiplexer circuit 410 to couple the buffer output 216(X) of the first delay buffer 208(X) to a first multiplexer circuit output 428 and controls the second multiplexer circuit 418 to coupled the buffer output 216 of the second delay buffer 230(X) to a second multiplexer circuit output 430. The first multiplexer circuit output 428 and the second multiplexer circuit output 430 are coupled to the fractional TDC circuit 406, which receives the start signal START from the first multiplexer circuit output 428 and receives the stop signal STOP from the second multiplexer circuit output 430. The fractional TDC circuit 406 determines the residual time T.sub.RES between the start signal START and the stop signal STOP.
[0047] The TDC circuit 400 also includes a mode control latch 432 comprising a data input 434, a clock input 436, and a data output 438. The data input 434 is coupled to a buffer output 440 of the start delay buffer 414. The clock input 436 is coupled to a buffer output 442 of the stop delay buffer 422, and the data output 438 is coupled to a control input 444 of the TDC multiplexer 248. The data output 438 of the mode control latch 432 is set to a “0” if a time interval TI3 from the start signal START to the stop signal STOP is less than a threshold. The data output 438 of the mode control latch 432 is set to a “1” if a time interval TI3 from the start signal START to the stop signal STOP is more than the threshold. The data output 438 of the mode control latch 432 indicates whether the TDC circuit 400 is in coarse mode or fine mode. Providing a “0” to the control input 444 of the TDC multiplexer 248 may switch the TDC circuit 400 into the fine mode.
[0048]
[0049] Each of
[0050]
[0051]
[0052]
[0053]
[0054] The multiplexer control circuit 426 in the example shown in
[0055]
[0056] The fractional TDC circuit 700 includes an adder circuit 702 to receive the indication of the residual time T.sub.RES in a first cycle and receive a quantization error QERR of the previous cycle. The quantization error QERR is indicated to the adder circuit 702 as a time between transitions of a feedback start signal START_FB and a feedback stop signal STOP_FB. The adder circuit 702 adds the quantization error QERR to the residual time T.sub.RES to generate an adjusted time SUM. In some cases, the quantization error QERR may be negative, so the residual time T.sub.RES is reduced by the quantization error QERR. The adder circuit 702 indicates the adjusted time SUM as a time between a transition of a positive sum SUM_POS and a transition of a negative sum SUM_NEG.
[0057] The fractional TDC circuit 700 also includes a sum hold circuit 704, including hold latches 706P and 706N that are clocked by the positive sum SUM_POS and the negative sum SUM_NEG, respectively. The order of the transitions of the hold latches 706P and 706N determines whether a quantizer latch 708 in a quantization error circuit 710 is set to a first value, indicating the adjusted sum SUM is positive, or to a second value indicating the adjusted sum SUM is negative. The quantization error circuit 710 generates the quantization error QERR, which includes determining a difference between the granularity (τ1−τ2) and the adjusted time SUM. Specifically, the quantization error circuit 710 delays the output of the hold latch 706P by each of the delays τ1 and τ2 and also delays the output of the hold latch 706N by each of the delays τ1 and τ2. Depending on whether the quantizer latch 708 indicates the adjusted sum SUM is positive or negative, multiplexer 712P selects the hold latch 706P delayed by one of the delays τ1 and τ2 and the multiplexer 710N selects the hold latch 706N delayed by the other one of the delays τ1 and τ2. By this method, the quantization error circuit 710 subtracts the adjusted sum SUM from the granularity (τ1−τ2). The multiplexers 712P and 712N provide the quantization error QERR to an error delay circuit 714 as positive error ERR_POS and negative error ERR_NEG so the quantization error QERR can be held for use in the adder circuit 702 in the next cycle. In the next cycle, the error delay circuit 714 provides the quantization error QERR to an initialization circuit 716. The initialization circuit 716 selects one of the residual time T.sub.RES of the first cycle and the quantization error QERR of the previous cycle, based on an initialization signal INITIAL to be provided as the feedback start signal START_FB and the feedback stop signal STOP_FB to the adder circuit 702.
[0058] The adder circuit 702 adjusts the residual time T.sub.RES in a first cycle based on the quantization error QERR generated in the previous cycle to generate the adjusted time SUM. The quantizer latch 708 provides the fractional bit 408 in
[0059]
[0060] The adder circuit 800 includes a first capacitor 804(A) and a second capacitor 804(B). The adder circuit 800 indicates the adjusted sum SUM as a difference in voltage between a positive charge node NET_POS indicating a voltage of the first capacitor 804(A) and a negative charge node NET_NEG indicating a voltage of the second capacitor 804(B).
[0061] The first capacitor 804(A) and the second capacitor 804(B) are both charged to a supply voltage VDD while the delayed start signal START_DS is in a “low state” (e.g., 0 volts, VSS). With the delayed start signal START_DS in the low state, supply switches 808(A) and 808(B) couple the first capacitor 804(A) and the second capacitor 804(B) to a supply voltage rail 810.
[0062] The indication of the residual time T.sub.RES is received first as a time from the delayed start signal START_DS transitioning from the low state to a high state (e.g., VDD) to the delayed stop signal STOP_DS transitioning from the low state to the high state. The residual time T.sub.RES is shown as The quantization error QERR indication is received, after the indication of the residual time T.sub.RES, as a time between respective transitions of the feedback start signal START_FB and the feedback stop signal STOP_FB from the low state to the high state. The order of the transitions of the feedback start signal START_FB and the feedback stop signal STOP_FB indicates whether the quantization error is negative or positive.
[0063] The first capacitor 804(A) and the second capacitor 804(B) stop charging when the delayed start signal START_DS transitions from the low state to the high state (“low to high”). The second capacitor 804(B) discharges when the delayed start signal START_DS transitions from low to high and continues discharging until the feedback stop signal STOP_FB transitions from low to high. Prior to the feedback start signal START_FB transitioning from low to high, the first capacitor 804(A) begins discharging in response to the delayed stop signal STOP_DS transitioning from low to high. The first capacitor 804(A) stops discharging when the feedback start signal START_FB transitions from high to low (e.g., from a high state to a low state). Discharging the first capacitor 804(A) and the second capacitor 804(B) in this manner sets the voltage differential to indicate the adjusted sum SUM. That is, the voltage differential between the positive charge node NET_POS and the negative charge node NET_NEG corresponds to the adjusted sum SUM.
[0064] As shown in the first example 812 in
[0065] As previously noted, the voltage differential between the positive charge node NET_POS and the negative charge node NET_NEG corresponds to the adjusted sum SUM, which is provided as an output of the adder circuit 800 as the time from a transition of the positive sum SUM_POS to a transition of the negative sum SUM_NEG. The adjusted sum SUM is generated in response to the feedback start signal START_FB and the feedback stop signal STOP_FB transitioning from high to low while the delayed start signal START_DS and the delayed stop signal STOP_DS remain in the high state. As the first capacitor 804(A) discharges, the positive charge node NET_POS drops below a threshold voltage V.sub.THRESH1, which in turn triggers the positive sum SUM_POS to transition from low to high. As the second capacitor 804(B) discharges, the negative charge indication NET_NEG drops below the threshold voltage V.sub.THRESH1, which triggers the negative sum SUM_NEG to transition from low to high. The positive sum SUM_POS and the negative sum SUM_NEG are coupled to the sum hold circuit 704 in
[0066]
[0067] At the end of the cycle, the reset signal RST_DLY rises from low to high, which triggers the first capacitor 902(A) and the second capacitor 902(B) to discharge at the same rate. The quantization error QERR is indicated as a time between the positive node NODE_POS dropping to a threshold value V.sub.THRESH2 and the negative node NODE_NEG dropping to the threshold value V.sub.THRESH2 The quantization error QERR is provided to the initialization circuit 710 of
[0068]
[0069] The processor 1002 and the main memory 1008 are coupled to the system bus 1010 and can intercouple peripheral devices included in the processor-based system 1000. As is well known, the processor 1002 communicates with these other devices by exchanging address, control, and data information over the system bus 1010. For example, the processor 1002 can communicate bus transaction requests to a memory controller 1014 in the main memory 1008 as an example of a slave device. Although not illustrated in
[0070] Other devices can be connected to the system bus 1010. As illustrated in
[0071] The processor-based system 1000 in
[0072] Any of the circuits in the processor-based system 1000, and in particular the modem 1022 and the output devices 1020, may include a TDC circuit 200, as shown in
[0073] While the computer-readable medium 1032 is shown in an exemplary embodiment to be a single medium, the term “computer-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database and/or associated caches and servers) that store the one or more sets of instructions. The term “computer-readable medium” shall also be taken to include any medium that is capable of storing, encoding, or carrying a set of instructions for execution by the processing device and that causes the processing device to perform any one or more of the methodologies of the embodiments disclosed herein. The term “computer-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical medium, and magnetic medium.
[0074] The embodiments disclosed herein include various steps. The steps of the embodiments disclosed herein may be formed by hardware components or may be embodied in machine-executable instructions, which may be used to cause a general-purpose or special-purpose processor programmed with the instructions to perform the steps. Alternatively, the steps may be performed by a combination of hardware and software.
[0075] The embodiments disclosed herein may be provided as a computer program product or software that may include a machine-readable medium (or computer-readable medium) having stored thereon instructions, which may be used to program a computer system (or other electronic devices) to perform a process according to the embodiments disclosed herein. A machine-readable medium includes any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer). For example, a machine-readable medium includes a machine-readable storage medium (e.g., ROM, random access memory (“RAM”), a magnetic disk storage medium, an optical storage medium, flash memory devices, etc.); and the like.
[0076] Unless specifically stated otherwise and as apparent from the previous discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing,” “computing,” “determining,” “displaying,” or the like refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data and memories represented as physical (electronic) quantities within the computer system's registers into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission, or display devices.
[0077] The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatuses to perform the required method steps. The required structure for a variety of these systems will appear from the description above. In addition, the embodiments described herein are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the embodiments as described herein.
[0078] Those of skill in the art will further appreciate that the various illustrative logical blocks, modules, circuits, and algorithms described in connection with the embodiments disclosed herein may be implemented as electronic hardware, instructions stored in memory or in another computer-readable medium and executed by a processor or other processing device, or combinations of both. The components of the distributed antenna systems described herein may be employed in any circuit, hardware component, integrated circuit (IC), or IC chip, for example. Memory disclosed herein may be any type and size of memory and may be configured to store any type of information desired. To clearly illustrate this interchangeability, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. How such functionality is implemented depends on the particular application, design choices, and/or 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 present embodiments.
[0079] The various illustrative logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), or other programmable logic device, a discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. Furthermore, a controller may be a processor. A processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices (e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration).
[0080] The embodiments disclosed herein may be embodied in hardware and in instructions that are stored in hardware and may reside, for example, in RAM, flash memory, ROM, Electrically Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), registers, a hard disk, a removable disk, a CD-ROM, or any other form of computer-readable medium known in the art. An exemplary 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. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a remote station. In the alternative, the processor and the storage medium may reside as discrete components in a remote station, base station, or server.
[0081] It is also noted that the operational steps described in any of the exemplary embodiments herein are described to provide examples and discussion. The operations described may be performed in numerous different sequences other than the illustrated sequences. Furthermore, operations described in a single operational step may actually be performed in a number of different steps. Additionally, one or more operational steps discussed in the exemplary embodiments may be combined. Those of skill in the art will also understand that information and signals may be represented using any of a variety of 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, optical fields or particles, or any combination thereof.
[0082] Unless otherwise expressly stated, it is in no way intended that any method set forth herein be construed as requiring that its steps be performed in a specific order. Accordingly, where a method claim does not actually recite an order to be followed by its steps, or it is not otherwise specifically stated in the claims or descriptions that the steps are to be limited to a specific order, it is in no way intended that any particular order be inferred.
[0083] It will be apparent to those skilled in the art that various modifications and variations can be made without departing from the spirit or scope of the invention. Since modifications, combinations, sub-combinations, and variations of the disclosed embodiments incorporating the spirit and substance of the invention may occur to persons skilled in the art, the invention should be construed to include everything within the scope of the appended claims and their equivalents.