USPatent applicationPatented

Coarse-fine quantization architecture for multiphase VCO-based ADCs

Granted 23 Apr 2019 · 1 office action

Application· this page
16/011,272
filed 18 Jun 2018
Publication
Not published
not published
Patent
US 10,270,460
granted 23 Apr 2019

Life of the application

8 dated events
⤢ drag to zoom20182020202220242026202820302032203420362038ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

An analog-to-digital converter includes a ring oscillator having an input for receiving an analog signal, a coarse Gray code counter having a first input coupled to a first output of the ring oscillator and a second input for receiving a clock signal, a fine counter having first inputs coupled to secondary outputs of the ring oscillator and a second input for receiving the clock signal, a first difference generator having an input coupled to the output of the coarse counter, a second difference generator having an input coupled to the output of the fine counter, and an adder having a first input coupled to the output of the first difference generator, a second input coupled to the output of the second difference generator, and an output for providing a digital signal corresponding to the analog signal.

Description

7 parts
›TECHNICAL FIELD

The present invention relates generally to a coarse-fine quantization architecture for multiphase voltage controlled oscillator (“VCO”) based analog-to-digital converters (“ADC”), and, in particular embodiments, to a system and method for.

›BACKGROUND

Low cost digital microphones include a biasing circuit followed by an analog-to-digital converter. The competitiveness of a microphone is mainly given by its performance (power consumption, dynamic range, resolution, as well as other performance features) and its cost (silicon area, package size vs. sensitivity, as well as other cost drivers). Sigma Delta ADCs currently available have been pushed to technology limits and market trends require innovative solutions. VCO-based ADCs are promising alternatives to the conventional voltage encoding-based circuits. For a VCO-ADC built with a multiphase Ring Oscillator (“RO”), the area and power consumption of the quantization circuitry can be reduced with a coarse-fine quantization architecture, using a counter for the integer phase progression (multiples of 2π), and a fine quantization for the fractional part of the phase progression. However, errors resulting from the desynchronization between the coarse and the fine phase estimations, and those caused by direct sampling of the phases, may compromise the ADC performance.

›SUMMARY

In accordance with an embodiment of the present invention, an analog-to-digital converter comprises a ring oscillator having an input for receiving an analog signal, and a plurality of outputs; a main Gray code counter having a first input coupled to a first output of the plurality of outputs of the ring oscillator, a second input for receiving a clock signal, and an output; a fine counter having a plurality of first inputs coupled to a plurality of secondary outputs of the plurality of outputs of the ring oscillator, a second input for receiving the clock signal, and an output; a first difference generator having an input coupled to the output of the coarse counter, and an output; a second difference generator having an input coupled to the output of the fine counter, and an output; and an adder having a first input coupled to the output of the first difference generator, a second input coupled to the output of the second difference generator, and an output for providing a digital signal corresponding to the analog signal.

›BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:

FIG. 1 is a block diagram of a microphone coupled to an ADC according to an embodiment;

FIG. 2A is a more detailed block diagram of the ADC of FIG. 1 ;

FIG. 2B is the block diagram of FIG. 2A including specific values used in an embodiment;

FIG. 3 is an example of a binary code and Gray code used in the ADC of FIGS. 2A and 2B ;

FIG. 4 is a more detailed block diagram of the difference generators used in the ADC of FIGS. 2A and 2B ;

FIG. 5 is a timing diagram of the ADC of FIGS. 2A and 2B ;

FIG. 6 is a flow chart of an analog to digital conversion method according to an embodiment;

FIG. 7 is a flow chart of a “fine counter registers the edges of the other phase” step associated with the flow chart of FIG. 6 ; and

FIG. 8 is another timing diagram associated with an embodiment ADC.

›DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS · 1 of 3

FIG. 1 is a block diagram 100 of a microphone coupled to an ADC according to an embodiment. The microphone includes a variable capacitor 104 coupled to biasing and amplification circuitry 106 for receiving audio signals 102 and for generating an analog voltage, V IN . The ADC converter includes a Ring Oscillator 108 having an input for receiving the analog voltage, VIN, and a plurality of outputs for generating a plurality of phase signals. A main or primary phase signal is designated ϕ 0 and a plurality of secondary phase signals are designated ϕ 1 through ϕ K . In an embodiment, the phase shift between the output phase signals ϕ 0 through ϕ K is evenly spaced in increments of 2π divided by the number of Ring Oscillator 108 outputs used. A coarse counter no has a first input for receiving the main phase signal ϕ 0 and a second input for receiving a system clock (CLK) signal. The coarse counter no also has a bus output for providing multiple digital bits of an output count value. A fine counter no has a plurality of first inputs for receiving the secondary phase signals ϕ 1 through ϕ K and a second input for receiving the system clock (CLK) signal. The fine counter 112 also has a bus output for providing multiple digital bits of an output count value. A difference generator 114 is used to calculate the difference between the current value of the coarse counter no output and a previous value of the coarse counter no output. Similarly, a difference generator 116 is used to calculate the difference between the current value of the fine counter 112 output and a previous value of the fine counter 112 output. Difference generators 114 and 116 can also be called “first difference generators” to denote that the difference being calculated is between immediately adjacent samples of the corresponding counters. A gain stage 118 receives the output of the coarse counter. The outputs of the gain stage 118 and the difference generator 116 are added together by adder 120 . The output of adder 120 is the output 122 of the ADC, which is a digital bus having a digital word representing the corresponding analog input signal V IN , according to an embodiment.

FIG. 2A is a more detailed block diagram 200 of the ADC of FIG. 1 . The major blocks shown in FIG. 2A are the multiphase RO 108 , the coarse counter 110 , fine counter 112 , and first-difference generator and adder 202 . Each of these main blocks are explained in further detail below with reference to sub-blocks. The microphone 104 , 106 is not shown in FIG. 2A for sake of clarity. The analog input signal V IN can actually be provided by any input source as is desired for a particular application.

The multiphase RO 108 has been previously described.

The coarse counter no includes an “n” bit Gray code synchronous counter 204 having an “n” bit output bus. An example of a Gray code count 304 is shown in FIG. 3 . Returning to FIG. 2A , the Gray code synchronous counter 204 performs the coarse phase accumulation for multiples of 2π. Counter 204 is a rising edge sensitive counter in an embodiment, which is connected to one of the main output phases of the RO 108 (phi< 0 > in the FIG. 2A ). The Gray encoded characteristic mitigates partial sampling errors when the sampling clock matches with the counter update. Using the Gray code type of codification means that adjacent codes differ by a Hamming distance of one, and therefore the resultant errors under this condition are limited to one LSB. The number of bits “n” are properly selected in accordance with the ratio between the maximum oscillation frequency of the RO 108 and the system clock frequency CLK. The output of the Gray code counter 204 is an output bus of “n” bits having the Gray code count 304 shown in FIG. 3 .

A first register 212 has a first input coupled to the output of the Gray code counter 204 . The first register 212 has an additional input for receiving the CLK signal. The first register 212 is used for sampling the Gray code counter 204 output using the system CLK signal and is described in further detail below.

A Gray code-to-binary code converter 206 has an input coupled to an output of the first register 212 . The output of the converter 206 is “n” bits wide. An example of binary code 302 to Gray code 304 conversion is shown in the logic table 300 of FIG. 3 . The binary code count b[3:0] 302 ranges from a count of 0000 to 1111 and has a least significant bit (“LSB”) that alternates between a logic zero and a logic one for successive counts. In contrast, the Gray code count g[3:0] 304 ranges from a count of 0000 to 1000 and has an LSB that alternates between a logic zero and a logic one for every two successive counts.

The fine counter 112 includes a phase sampler 208 having a plurality of inputs for receiving the secondary phase signals from the RO 108 shown as phi< 1 > through phi<k> in FIG. 2A . Another input of phase sampler 208 receives the LSB from a Gray code-to-Binary code converter 210 . Converter 210 receives all “n” bits from the output of Gray code counter 204 , previously described. The phase sampler 208 includes a plurality of outputs corresponding to the plurality of inputs. In an embodiment, phase sampler 208 comprises a plurality of D flip-flops wherein the rising edge sensitive CLK inputs of the D flip-flops are configured to respectively receive the plurality of secondary phase signals, and the D inputs are coupled together to receive the LSB signal from the Gray code-to-binary code converter 210 , labeled lsb_ref. The Q outputs of the D flip-flops provide the plurality of outputs of the phase sampler 208 . The outputs of phase sampler 208 are coupled to additional inputs of the first register 212 .

In operation, the phase sampler 208 performs the fine phase accumulation. Note that lsb_ref signal is equivalent to the RO phi< 0 > signal with its frequency divided by a factor of two.

The first register 212 samples the output of counter 204 (in Gray code) and the phase sampler 208 output with the system CLK clock signal. After this point, sampled data of the Gray code counter 204 are converted to a binary code of “n” bits as is described in further detail below. With an array of k XNOR gates, also described below, and using the LSB of this converted value (lsb_bin), the sampled data of the phase sampler 208 outputs take the zero value at every rising edge of phi< 0 > (rising and falling edges of lsb_ref) and the one value with the corresponding rising edge in the phases phi< 1 :k>, as is shown in FIG. 5 . Therefore, the number of logic one values represent the rising edges in the output phases of the RO 108 (phi< 1 :k>) and the sum of these logic one values are used for the fine phase estimations. The operational details are described below with respect to the timing diagram of FIG. 5 .

›DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS · 2 of 3

Returning to FIG. 2A , a decoder 214 has a plurality of first inputs coupled to the secondary outputs of the first register 212 , and a second input for receiving the LSB signal, lsb_bin, from the Gray code-to-binary code converter 206 . As previously described, decoder 214 comprises a plurality of XNOR gates wherein one of the inputs of the XNOR gates are used to form the plurality of first inputs. Another of the inputs of the XNOR gates are coupled together to receive the LSB signal, lsb_bin. The inverted outputs of the XNOR gates respectively provide the plurality of outputs of the decoder 214 .

A thermometer code-to-binary code converter 216 is used to convert the outputs of the decoder 214 into a binary code having a width of “m” bits. Converter 216 performs the counting of the number of logic ones for the fine phase estimations. The number of output bits is given by the equation “m”=ceiling (log 2 k). Thus, in FIG. 2A the output of the coarse counter 110 is shown to be “n” bits wide, whereas the output of the fine counter 112 is shown to be “m” bits wide. More generally, the converter 216 provides a “ones counting function” if a different ordering of the phase signals is used and need not be limited to the thermometer code implementation in embodiments.

The remaining block shown in FIG. 2A is the first-difference and adder block 202 , which comprises a second register 218 , adder 220 , adder 222 , gain stage 224 , and adder 226 . Block 202 includes inputs for receiving the “n” bit data from the coarse counter 110 , the “m” bit data from the fine counter 112 , and an output 122 for providing a digital signal having a width of “n+m” bits, which is a digital signal corresponding to the analog input signal, V IN . The second register 218 includes a first input coupled to the output of the coarse counter 110 , and a second input coupled to the output of the fine counter 112 . The second register 218 samples the previous outputs of the counters. A coarse counter difference (coarse phase difference) is generated by adder 220 and a fine counter difference (fine phase difference) is generated by adder 222 . The coarse phase difference is multiplied by the total number of output phase of the RO 108 (k+1) by gain stage 224 , and the fine phase difference is added to obtain the final digital output data signal having a width of n+m bits at output node 122 .

FIG. 2B shows an embodiment of the ADC 200 wherein k=6, n=5, m=3, and n+m=8. Other values for these constants can be used in other embodiments.

The coarse counter first-difference 114 and the fine counter first difference are shown in further detail in the schematic 400 of FIG. 4 . FIG. 4 includes a portion of the ADC comprising the second register 218 , the coarse counter first-difference generator 114 , the fine counter first-difference generator 116 , gain stage 224 , and adder 226 . It is noted at 402 that the output of gain stage 224 includes the total number of oscillations that have occurred during one sampling period in all of the phases, assuming that all of the phases (k+1) are similar. It is further noted at 406 that the output of the fine counter first-difference generator 116 is a correction relative to the coarse counter that is based on the fine counter. Finally, it is noted at 404 that the output node 122 includes the correct number of oscillations occurred during one sampling period in all of the phases. It is further noted that the digital output signal at node 122 is substantially without synchronization errors as will be apparent from a description of the timing diagram of FIG. 5 given below.

FIG. 5 is a timing diagram 500 of the ADC of FIGS. 2A and 2B . A first set of signals 502 are the phase signals phi< 0 > through phi<k> at the input of the coarse counter no and at the inputs of the fine counter 112 . A second set of signals 504 show the lsb_ref signal and the phase sampler 208 output signals phi< 1 > sampl through phi<k> sampl. A third second set 506 of signals show the lsb_bin signal and the first register 212 output signals phi<i> sampl through phi<k> sampl. Finally, a fourth set 508 of signals show the output signals of the decoder 214 designated phi< 1 > xnor through phi<k> xnor. Also shown in FIG. 5 are occurrences of the system clock at CLK 1 , CLK 2 , CLK 3 , CLK 4 , and CLK 5 .

Signals 508 are only for purposes of illustration. Signals 508 show the operation of the XNOR-based decoder 214 , where for every rising edge of the secondary phases of the RO phase signals (phi< 1 :k>) there is an equivalent logic “one” at the decoder 214 outputs. Signals 508 change their values according to the expressions shown in blocks 510 and 512 of FIG. 5 , at the CLK rate. The phi< 1 : 6 > xnor signals are also shown in the timing diagram of FIG. 8 .

The rising edges of the phi< 0 > phase signal shown in signal set 502 are used to perform the coarse phase accumulation that is ultimately used to generate the “n” bit digital output signal.

Assuming k=6, FIG. 5 thus shows the output phases of an arbitrary RO, the generated lsb_ref signal and the signal at the output of the D flip-flops (phi< 1 > sampl through phi< 6 > sampl). Here, with the rising edges of phi< 1 : 6 >, lsb_ref is sampled in the respective D flip-flop of the phase sampler 208 . With subsequently handling, these sampled data can be used for the fine phase estimations. FIG. 5 thus shows the operation of the phase sampler for a 7-stage ring oscillator. Each rising edge in the main phase signal (phi< 0 >) toggles the lsb_ref signal, which, in an embodiment, is used as reference for the phase sampler 208 . When the lsb_ref signal equals a logic one, each rising edge in the phi< 6 : 1 > signals produces a corresponding rising edge in the phi< 6 : 1 > sampl signals, whereas if lsb_ref equals a logic zero, rising edges in the phi< 6 : 1 > signals generate falling edges in the phi< 6 : 1 > sampl signals.

With an array of k XNOR gates of decoder 214 and using the LSB of the converted value (lsb_bin), the sampled data of the phase sampler 208 outputs take the logic zero value at every rising edge of phi< 0 > (rising and falling edges of lsb_ref) and logic one with the corresponding rising edge in the phases phi< 1 :k>, as is also shown in FIG. 5 . Therefore, the number of logic ones represents the rising edges in the output phases of the RO (phi< 1 :k>) and the sum of these logic ones are used for the fine phase estimations. FIG. 5 thus shows the operation of the XNOR-based phase decoder 214 , which inverts the value of the phi< 6 : 1 > sampl signals when lsb_bin=equals a logic zero to transform the falling edges in phi< 6 : 1 > sampl into rising edges. In this way, the inversion introduced when the lsb_ref signal equals a logic zero is reverted to the original polarity.

›DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS · 3 of 3

The above description is reproduced in equation form in FIG. 5 at blocks 510 and 512 .

FIG. 6 is a flow chart 600 of an analog to digital conversion method according to an embodiment. The coarse counter 110 registers the edges of the main phase signal phi<O> at step 602 . A first-difference of the coarse counter 110 output is then applied to calculate the number of edges in one sampling period at step 604 . The coarse output is then estimated using gain stage 224 assuming that all of the phases are similar to the main phase at step 606 . In parallel, the fine counter 112 registers the edges of the other phases phi< 1 > through phi<k> at step 608 . A first-difference of the fine counter is then applied to calculate the number of edges in one sampling period at step 610 . The correction with respect to the “n” bit coarse output is then calculated based on the “m” bit correction data of the fine counter 112 at step 612 . The ADC output is generated by combining the coarse output and the fine counter correction data at step 614 .

FIG. 7 is a flow chart 700 of the “fine counter registers the edges of the other phase” step 608 associated with the flow chart 600 of FIG. 6 . A rising edge in a VCO phase signal (phi<k: 1 >) produces an edge in the output of the phase sampler 208 (phi<k: 1 > sampl) at step 702 . The edge in the phi<k: 1 > sampl signal rises or falls depending on the LSB of the main phase counter no in binary code (“1”=> rising, “0”=> falling). The phi<k: 1 > sampl signals are static close to the edges in the main phase signal, which prevents synchronization problems at step 704 . An XNOR-based decoder inverts the phi<k: 1 > sampl signals only when the LSB of the coarse phase counter 110 (in binary code) is zero. In this way, falling edges in the phi<k: 1 > sampl signals are transformed into rising edges in the phi<k: 1 > xnor signals at step 706 . Finally, the output of the decoder 214 is converted from thermometric code to binary code at step 708 (or ones are counted if a different order of the phase signals is used).

FIG. 8 is an additional ADC embodiment timing diagram showing the CLK signal, a slowly varying VIN analog input signal, various internal circuit node signals previously shown and described, and the final ADC output signal in a decimal representation. Thus, the progression of the ADC circuit signals from the input analog signal to the final digital output signal can be seen. The internal circuit signals shown include phase signals phi< 0 > through phi< 6 >, the Gray counter output in a decimal representation, the lsb_ref signal, and phase signals phi< 1 > sampl through phi< 6 > sample, phase signals phi< 1 > xnor through phi< 6 > xnor.

While this invention has been described with reference to illustrative embodiments, this description is not intended to be construed in a limiting sense. Various modifications and combinations of the illustrative embodiments, as well as other embodiments of the invention, will be apparent to persons skilled in the art upon reference to the description. It is therefore intended that the appended claims encompass any such modifications or embodiments.

Claims as granted

21 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

4 codes
IPC · International Patent Classification
Section H — Electricity
  • H03M1/14
  • H03M1/46
  • H03M1/12
  • H03M1/00

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomJul 2018Oct 2018Jan 2019Apr 2019USPTOApplicantNon-final rejectionResponse after non-finalNotice of allowance
USPTOApplicanthover for detail · click to open
Pendency
0.8 y
309 days filing → grant
Office actions
1
non-final + final
Responses
1
no RCE
Examiner
Brian K Young
art unit 2845 · TC 2800
Citations: 8 back · 4 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

⤢ drag to zoom20182020202220242026202820302032203420362038Owner 1
Titlehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock