Patent Description:
Single slope analog-to-digital converters (ADC) are widely used in a variety of different electronic systems because of their simplicity. The accuracy of the conversion may be improved by compensation and calibration. Such compensation may use multiple accurate reference voltages with the single slope ADC.

German patent application, publication number <CIT> discloses a measuring device for redundant detection of an input voltage, comprising a reference voltage generator for generating a time varying reference voltage, a first voltage comparator four outputting a start signal if said reference voltage exceeds a start reference voltage; a second voltage comparator for outputting a redundancy signal if said reference voltage exceeds a comparison reference voltage; <NUM>/<NUM> voltage comparator for outputting of measurement signal if the reference voltage exceeds the input voltage; ¼ voltage comparator outputting an end the signal if said reference voltage exceeds the end reference voltage; and a calculation unit for detecting a first value of the input votlage based on the start signal, the measurement signal and the signal and for detecting a second value of the input voltage based on the start signal, the measurement signal and the redundancy signal.

Two states patent application, publication number <CIT>, discloses a single slope AD converter circuit includes a comparator that compares a ramp voltage varying with a predetermined slope as time elapses with an analog input voltage, a counter that counts a predetermined clock in parallel with the comparing process of the comparator, and a controller that outputs a clock count value corresponding to elapsed time when the ramp voltage is smaller than the analog input voltage, as an AD converted first digital value. The comparator compares the ramp voltage with a predetermined first reference voltage, the counter counts the clock in parallel with the comparing process, and the controller outputs the clock count value corresponding to the elapsed time as an AD converted second digital value.

Japanese patent application, publication number <CIT> discloses D/A converter including a counter, a digital comparator, a ramp generating circuit, an analog comparator and a T-V converting circuit, wherein the counter counts a clock pulse, outputs its count value to the digital comparator and also controls the ramp generating circuit by using its count value. The output of the ramp generating circuit is connected to a non-inverting input terminal of the analog comparator, an inverting input terminal of the analog comparator is connected to the output of the T-V converting circuit, the output of the analog comparator and the output of the digital comparator are inputted to the T-V converting circuit so that the converter is constituted with the analog comparator and the T-V converting circuit in place of a sample-and-hold circuit requiring a high through-rate.

A summary of various exemplary embodiments is presented below. Some simplifications and omissions may be made in the following summary, which is intended to highlight and introduce some aspects of the various exemplary embodiments, but not to limit the scope of the invention. Detailed descriptions of an exemplary embodiment adequate to allow those of ordinary skill in the art to make and use the inventive concepts will follow in later sections.

To facilitate understanding, identical reference numerals have been used to designate elements having substantially the same or similar structure and/or substantially the same or similar function.

The description and drawings illustrate the principles of the invention. It will thus be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described or shown herein, embody the principles of the invention and are included within its scope. Furthermore, all examples recited herein are principally intended expressly to be for pedagogical purposes to aid the reader in understanding the principles of the invention and the concepts contributed by the inventor(s) to furthering the art and are to be construed as being without limitation to such specifically recited examples and conditions. Additionally, the term, "or," as used herein, refers to a non-exclusive or (i.e., and/or), unless otherwise indicated (e.g., "or else" or "or in the alternative").

ADCs may be implemented using a voltage slope. <FIG> illustrates a basic single slope ADC <NUM>. A voltage slope is created with current source <NUM> producing a current Islope and capacitor Cslope <NUM>. The dv/dt of the voltage slope is Islope/Cslope. The voltage slope is started by opening slope switch <NUM>. As soon as the voltage slope starts, a counter <NUM>, producing a count Count, is also started by removing a Reset signal input into the counter <NUM>. The counter also receives a clock signal Clk that cause the counter to increment with each clock cycle.

For calibration, a reference voltage Vref (as selected by a switch <NUM>) and the slope voltage are connected to an analog comparator <NUM>. When the slope voltage reaches the reference voltage Vref, the comparator <NUM> trips causing the current counter value to be stored in first register (Reg1) <NUM>. This count is indicative of the analog voltage value Vref and provides a calibration basis.

To convert an analog voltage, Vx, to a digital value, the analog voltage Vx is connected to the analog comparator <NUM>. Switch <NUM> is used to connect either the reference voltage Vref or the analog voltage Vx to the comparator <NUM>. As soon as the voltage slope starts, a counter <NUM>, producing a count Count1, is also started by removing a Reset signal input into the counter <NUM>. Again, when the voltage slope reaches the analog voltage Vx, the comparator <NUM> trips and the counter value is stored in a second register (Reg2) <NUM> indicative of the analog voltage value Vx.

If the offset and the delay of the comparator is neglected, Reg <NUM><NUM> and Reg2 <NUM> will store the values: <MAT> <MAT> Fclk is the clock frequency used for the counter and dvdt is the voltage slope Islope/Cslope.

The value of Vx can then be calculated as: <MAT>.

By using the reference voltage, the value of the clock frequency and the slope value is not needed for the analog to digital conversion.

To compensate for the offset and delay in the comparator <NUM>, two accurate reference voltages may be used. The digital value for an input voltage Vx may then be found using simple arithmetic operations.

<FIG> illustrates a current art single slope ADC using two reference voltages. <FIG> adds various elements to the ADC of <FIG>. The ADC <NUM> adds a voltage reference Vref <NUM>, resistors R1 <NUM> and R2 <NUM>, switch <NUM>, and register (Reg3) <NUM>. The voltage reference Vref <NUM> is connected to R2 <NUM> and the switch <NUM>. The series resistors R1 <NUM> and R2 <NUM> form a voltage divider producing a voltage of (R1/(R1+R2)*Vref which is also connected to the switch <NUM>. The switch <NUM> now allows for two different reference voltages to be used, i.e., Vref and (R1/(R1+R2)*Vref. The registers Reg1 <NUM> and Reg2 <NUM> store the same values as before. The new register Reg3 stores a count related to (R1/(R1+R2)*Vref. More specifically the registers will store: <MAT> <MAT> and (<NUM>) <MAT> From (<NUM>), (<NUM>) and (<NUM>) Vx may be derived: <MAT>.

The delay td, the clock frequency Fclk and the slope dvdt are not in equation (<NUM>), but R1 and R2 need to have an accurate ratio: i.e., R1/(R1+R2) needs to be accurate. Although resistor matching may be good in integrated circuits, matching better than <NUM>% can be challenging especially when a small chip area is required.

Although zero volts and Vref may be used as references, this is not a practical. The slope would need to start from a negative voltage. For single supply voltage applications, this does not offer a practical solution.

<FIG> illustrates an embodiment of a single slope ADC that compensates for the comparator delay. The ADC <NUM> uses three reference voltages to help compensate for the compensator delay. Compared to the ADC <NUM> of <FIG>, the ADC <NUM> adds a voltage reference Vref <NUM>, resistors R1 <NUM> and R2 <NUM>, switchers <NUM>, <NUM>, and <NUM>, and registers <NUM> and <NUM>. The voltage reference Vref <NUM> is connected to switches <NUM>, <NUM>, and <NUM>. The resistor R1 <NUM> is connected between switch <NUM> and switch <NUM>. The resistor R2 <NUM> is connected between switch <NUM> and switch <NUM>. The configuration of the Vref <NUM>, switches <NUM>, <NUM>, and <NUM>, and resistors R1 <NUM> and R2 <NUM> allow three different reference voltages to be applied to the comparator <NUM>, based upon the configuration of the switches <NUM>, <NUM>, and <NUM>. The three reference voltages produced are: <MAT> <MAT> <MAT> Reference voltage Vref2 and Vref3 are created with two resistors R1 and R2. The resistors are connected to each other on one side. Vref2 is created by connecting the other side of R1 to Vref and the other side of R2 to ground. Vref3 is created by connecting the other side of R2 to Vref and the other side of R1 to ground.

By switching switches <NUM>, <NUM>, <NUM>, and <NUM> the analog comparator <NUM> is connected to the three different reference voltages or the input voltage Vx to be converted. When the comparator <NUM> trips, the corresponding register stores the counter value. Registers Reg1 <NUM>, Reg3 <NUM>, and Reg4 <NUM> store counts related to the three different reference voltages. Register Reg <NUM><NUM> stores the count related to the input voltage Vx to be converted. Specifically, the registers will store the values: <MAT> <MAT> <MAT> <MAT> Again td is the delay of the analog comparator <NUM>.

This delay td may be calculated by adding Reg3 and Reg4 and subtracting Reg1: <MAT> This calculation simplifies to: <MAT> So by dividing Reg3+Reg4-Reg1 by Fclk, the delay td is found.

From (<NUM>) it may be derived: <MAT> From (<NUM>) Vx may be derived: <MAT> From (<NUM>), (<NUM>) and (<NUM>) Vx may be further derived as: <MAT> This simplifies to: <MAT>.

From (<NUM>) it can be seen that Vx is not dependent on the value of R1, R2, the comparator delay td, or the clock frequency Fclk. Only a single accurate voltage Vref is needed for the analog to digital conversion. This holds for all values of R1 and R2 because the following is always true: <MAT>.

An output circuit <NUM> is then used to implement the calculation of (<NUM>) to produce the digital value for Vx.

The delay of the analog comparator is typically the same for every level crossing because the voltage slope is the same for every level. In an integrated circuit typically, the delay is dependent on the bias current setting, the temperature, and the parasitics of the chip layout. By regularly performing a calibration cycle, changes in the delay due to for example temperature variations of the chip, are accounted for.

<FIG> illustrates the use of two slope cycles to calibrate the ADC and to convert a voltage Vx. <FIG> includes a slope plot (slope) <NUM>, comparator output (cmp) plot <NUM>, auto zero comparator plot <NUM>, reset signal plot <NUM>, control signal for switch (S1) <NUM>, counter plot (counter) <NUM>, and plots <NUM>, <NUM>, <NUM>, <NUM> of the control signal for the registers <NUM>, <NUM>, <NUM>, <NUM> respectively. For a practical implementation, the resistance value of R2 may be chosen twice the value of R1. Then Vref2=<NUM>/<NUM>*Vref and Vref3=<NUM>/<NUM>*Vref, but other values may be chosen as well. The values for Reg1, Reg3 and Reg4 can then be found in a single slope conversion as shown in <FIG>.

First the comparator <NUM> input is set to Vref2=<NUM>/<NUM>*Vref using switches <NUM><NUM>, and <NUM>. As soon as the slope voltage reaches this value and Reg3 is filled with the counter value, the comparator input is switched to Vref3=<NUM>/<NUM>*Vref using switches <NUM>, <NUM>, and <NUM>. The slope voltage will then continue to rise to this value and Reg4 is filled with the counter value. After this the comparator input is switched to Vref1=Vref using switch <NUM>. As soon as the slope voltage reaches Vref, Reg1 is filled with the counter value again.

The exact value or ratio of R1 and R2 is not relevant except in the timing of changing the configuration of the switches <NUM>, <NUM>, <NUM>, and <NUM>. Also, if the value of R1 or R2 changes due to the processing in an integrated circuit or due to temperature variations, no error is made (assuming the R1 and R2 value do not change significantly in one calibration cycle which would not be a typical occurrence).

The offset of the analog comparator is not considered in the above calculations. An offset will result in an error. However, in integrated circuits auto-zeroing it is a known technique and for a single slope ADC the auto-zero can be executed just before the slope starts as shown in plot <NUM>.

In <FIG> two slope cycles are drawn. In the first slope cycle the calibration is done and the delay is derived from the Reg1, Reg3 and Reg4 values. In the second slope cycle the analog voltage Vx is converted. Vx may be calculated with equation (<NUM>). Before every cycle, an auto-zero signal <NUM> is applied to the analog comparator to compensate for offsets. The calibration shown in the first slope may be performed before every Vx slope or periodically every N cycles.

In integrated circuits the delay of analog comparators typically match well if the chip layout is the same. This property can be used to do several analog to digital conversions in parallel. <FIG> illustrates an ADC that can convert three input voltages in parallel. In <FIG> two additional analog comparators <NUM> and <NUM> are illustrated with input signals Vy and Vz. While convert three input signals is show, more or fewer signals may also be converted in parallel. If the delay of these comparators is the same as for the reference comparator <NUM>, the analog to digital conversion of Vy and Vz may be done without additional calibration of these two comparators. These comparators will also need auto-zeroing for offset compensation, but as the layout of all comparators needs to be the same for delay matching, this auto-zeroing circuit will also be present. The outputs of the comparators <NUM> and <NUM> trigger registers <NUM> and <NUM> respectively which will include the counts used to calculate the digital values of input voltages Vy and Vz.

Note that the magnitude of the delay of the comparators is not critical. Although a smaller delay typically has better absolute delay matching, a longer delay does not influence the accuracy. The comparators may therefore be biased with low currents which is beneficial for low power applications that require multiple simultaneous analog to digital conversions. All analog to digital conversions may be done in one slope cycle.

As the delay is not critical, the comparator output can be connected to a synchronizer to prevent metastability in the digital circuit. The synchronization delay (of one or more clocks), is then included in the value td (i.e., td equals the sum of the comparator delay and the synchronization delay).

In addition to the ADC functionality, a digital to analog conversion (DAC) may also be done using a single slope resulting in a ADC/DAC. <FIG> illustrates an embodiment of the ADC/DAC <NUM>. The ADC portion is the same as the ADC shown in <FIG>. The ADC/DAC <NUM> adds a DAC <NUM>. The DAC <NUM> includes a buffer <NUM>, a sample and hold switch <NUM>, a capacitor Cdac <NUM>, a pulse circuit <NUM>, and a digital comparator <NUM>. The sample and hold switch <NUM> is closed momentarily when the counter reaches the digital value to be converted. The digital comparator <NUM> and pulse circuit <NUM> create a pulse to drive the sample and hold switch <NUM>. <FIG> illustrates the timing diagram for the DAC <NUM>. The plot <NUM> shows the slope signal. When the counter <NUM> reaches the desired digital value a pulse is generated as shown in plot <NUM>. At that point, the sample and hold switch <NUM> closes briefly to sample the current analog voltage value which is then the converted analog voltage corresponding the input digital value. The buffer <NUM> is used to prevent the sampling of the slope voltage from affecting the slope voltage.

In order to compensate for offsets of the voltage buffer <NUM> and the error in the sample and hold circuit (sample and hold switch <NUM> and capacitor Cdac <NUM>), the DAC <NUM> output voltage, Vdac, may be fed back into the ADC as illustrated. As the ADC compensates for its own errors, the measured value Reg2=Fclk*(Vdac/dvdt+td) may be used to compensate for the DAC error. This may be done by producing an adjusted digital value, dig_value_adj, using an add_subtract circuit <NUM>. The adjusted digital value dig_value_adj is based upon the input digital value dig_value, the value Reg2 in the register <NUM>, and the td value calculated by the ADC. In the next slope cycle the Vdac value is updated with the error compensated value. This next Vdac cycle will produce an accurate analog voltage. Further digital to analog cycles may use the calculated error to compensate the next conversions. For every further digital to analog conversion, an analog to digital conversion may be done also in the next cycle to continuously update the error value or it may be done every N digital to analog conversion cycles.

Claim 1:
A single slope analog to digital converter, ADC, comprising:
a voltage slope generator (<NUM>, <NUM>, <NUM>);
a reference voltage generator (<NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>) configured to generate a first reference voltage, a second reference voltage, and a third reference voltage, where the first reference voltage equals the sum of the second reference voltage and the third reference voltage;
wherein the second reference voltage and the third reference voltage are derived from the first reference voltage;
a first comparator (<NUM>) configured to compare a voltage to a voltage output from the voltage slope generator;
a first register (<NUM>), Reg1, configured to store a first count based upon the first reference voltage being input into the first comparator;
a fourth register (<NUM>), Reg4, configured to store a second count based upon the second reference voltage being input into the first comparator;
a third register (<NUM>), Reg3, configured to store a third count based upon the third reference voltage being input into the first comparator;
a second register (<NUM>), Reg2, configured to store a fourth count based upon a first input voltage being input into the first comparator, wherein the first input voltage is the voltage to be converted to a digital value by the ADC; and
an output circuit (<NUM>) configured to calculate a digital value for the first input voltage based upon the first, second, third, and fourth counts, wherein the digital value, Vx, for the first input voltage is calculated as: <MAT>
where Vref is the first voltage reference, Reg1 is the first count stored in the first register, Reg2 is the second count stored in the second register, Reg3 is the third count stored in the third register, and Reg4 is the fourth count stored in the fourth register.