# Patent application title: METHOD OF CALIBRATING A SAR A/D CONVERTER AND SAR-A/D CONVERTER IMPLEMENTING SAID METHOD

##
Inventors:
Carmelo Burgio (Bergamo, IT)
Mauro Giacomini (Bergamo (bg), IT)

IPC8 Class: AH03M110FI

USPC Class:
341120

Class name: Coded data generation or conversion converter calibration or testing

Publication date: 2016-05-26

Patent application number: 20160149583

## Abstract:

The present disclosure relates to a method of self-calibration of a
successive approximation register-analog-to-digital converter. The method
includes measuring an error value for each thermometer element of a
plurality of thermometer elements and determining a mean value of
measured error values. The method also includes generating a thermometer
scale where each level of the thermometer scale will be an incremental
sum of each value of a first subset, and each further level of the
thermometer scale will be a sum of all values of a second subset plus the
incremental sum of the elements of the first subset in any order. In
addition, the method includes generating the output code according to the
thermometer scale.## Claims:

**1-15.**(canceled)

**16.**A method of self-calibration of a successive approximation register-analog to digital (SAR-A/D) converter comprising an N-bit digital-to-analog converter for outputting an N-bit output code, the digital-to-analog converter comprising a first subconverter having a plurality (N

_{Th}) of thermometer elements and a second subconverter having a plurality of binary-weighted elements N

_{Bin}, the output code defined by a thermometer scale having a number of levels equal to N

_{Th}, the method comprising: measuring, for each thermometer element of the plurality of thermometer elements, an error value; determining a mean value of the error values; dividing the plurality of thermometer elements into a first subset (X) and a second subset (Y), each containing an identical number of elements (x, y) equal to N

_{Th}/2, wherein the first subset (X) comprises the thermometer elements whose error values are closer to the mean value when a sum of the error values of thermometer elements of the first subset (X) is not more than the error value of the thermometer element farthest from the mean value of the first subset (X), and the second subset (Y) comprises the thermometer elements of the plurality of thermometer elements that are not contained in the first subset (X); generating the thermometer scale, wherein each level m

_{i}of the thermometer scale, with i ranging from 0 to N

_{Th}/2, is an incremental sum of each error value of the first subset (X), each further level m

_{i}of the thermometer scale, with i ranging from (N

_{Th}/2)+1 to N

_{Th}, is the sum of the values of the second subset (Y) plus the incremental sum of the values of the first subset (X); and generating the output code according to the thermometer scale.

**17.**The method according to claim 16, wherein the first subset (X) is ordered to reduce a maximum error value of an integral non-linearity error of an R

^{th}thermometer level.

**18.**The method according to claim 16, wherein each further level m

_{i}of the thermometer scale, with i ranging from (N

_{Th}/2)+1 to N

_{Th}, is equal to a sum of the error values of the second subset (Y) plus the incremental sum of the error values of the first subset (X) in reverse order.

**19.**The method according to claim 16, wherein the incremental sum of each error value of the first subset (X) is equal to 0 J - 1 x k ##EQU00016## with J ranging from 0 to N

_{th}/2 where x

_{k}represents each error value in the first subset (X).

**20.**The method according to claim 16, wherein if the sum of the error values of the first subset (X) is greater than a highest error of each error value of the first subset (X), then at least one value of the second subset (Y) is exchanged with at least one value of the first subset (X) if the sum of the resulting values is smaller than the highest of the error values of a new subset (X) resulting from the exchange.

**21.**The method according to claim 17, further comprising: determining an integral non-linearity error value (INL

_{R}) of an R

^{th}thermometer level of the thermometer elements T

_{j}according to the formula: INL R = j = 0 R - 1 E j - R N Th j = 0 N Th - 1 E j ##EQU00017## where E

_{j}represents relative mismatch differences between the plurality of thermometer elements T

_{j}and a reference thermometer element T

_{ref}selected from the plurality of thermometer elements T

_{j}of the first subconverter.

**22.**The method according to claim 21, wherein the relative mismatch differences E

_{j}of the first subconverter measured according to the formula: E j = T j - T ref T tot , T tot = k = 0 N Th - 1 T k , T ref .di-elect cons. { T 0 T N Th - 1 } ##EQU00018## where: j ranges from 0 to N

_{Th}-1 and represents a number of available thermometer elements; and T

_{tot}is a total value of the plurality of thermometer elements T

_{j}, which total value T

_{tot}is calculated using the following formula: T tot = k = 0 N Th - 1 T k = N Th T ref 1 - j = 0 j = N Th - 1 E j ##EQU00019##

**23.**The method according to claim 21, wherein the SAR-A/D converter comprises a comparator having an input terminal, and the measuring the relative mismatch differences E

_{j}comprises checking an input voltage on the input terminal of the comparator according the formula: Δ V = C th X - C th ref C * ( VrefP - VrefN ) ##EQU00020## where ΣC represents a sum of the thermometer elements, C

_{thref}is a reference thermometer element, C

_{th}X is a thermometer element being measured, V

_{ref}P is a first reference voltage that is found on the reference thermometer element during sampling and on the thermometer element being measured during the checking, V

_{ref}N is a second reference voltage that is found on the thermometer element being measured during sampling and on the reference element during the checking, and on the other thermometer elements throughout the conversion and ΔV is a measurement of the errors E

_{j}.

**24.**The method according to claim 17, wherein the reducing the maximum of the integral non-linearity error value (INL

_{R}) of the R

^{th}thermometer level comprises: identifying a maximum of the error value INL

_{R}for each level R; recalculating the error value INL

_{R}for a number of permutations defined beforehand; and selecting a permutation that reduces the error value INL

_{R}from the number of permutations.

**25.**The method according to claim 24, wherein the determining the error value INL

_{R}for each thermometer level R of the thermometer elements T

_{j}comprises: calculating, for each of the plurality of thermometer elements T

_{j}, the differential non-linearity error value; selecting the thermometer element having a highest differential non-linearity error value from the plurality of thermometer elements T

_{j}; providing an ideal conversion characteristic of a converter; using thermometer elements with a smallest differential non-linearity error values of the plurality of thermometer elements until half the error value of the thermometer element is approximated; and placing the thermometer element having an error value with respect to the ideal conversion characteristic of the converter.

**26.**The method according to claim 25, further comprising: repeating the selection of the thermometer element having the highest differential non-linearity error value from the remaining thermometer elements of the plurality of thermometer elements T

_{j}.

**27.**The method according to claim 26, wherein the repeating the selection of the thermometer element having the highest differential non-linearity error value from the remaining thermometer elements of the plurality of thermometer elements T

_{j}is repeated as many times as there are thermometer elements.

**28.**A method of self-calibration of a successive approximation register-analog to digital converter comprising a digital-to-analog (D/A) converter, the D/A converter comprising a first subconverter having a plurality of thermometer elements, a second subconverter having a plurality of binary-weighted elements, a first selector having a plurality of switches, and a second selector having at least one switch, the method comprising: measuring, for each thermometer element of the plurality of thermometer elements, an error value; determining a mean value of the error values; operating the first selector to select a first group of the plurality of thermometer elements whose error values are closer to the mean value when a sum of the error values of the thermometer elements of the first group is not more than the error value of the thermometer element farthest from the mean value of the first group; and operating the second selector to select a second group of the plurality of thermometer elements that are not contained in the first group.

**29.**The method according to claim 28, wherein the first group comprises a number of thermometer elements that is greater than the number of thermometer elements contained in the second group.

**30.**The method according to claim 28, wherein a number of the thermometer elements of the first subconverter is 2 (number of thermometer bits), and a number of the binary-weighted elements of the second subconverter is equal to a number of binary bits.

**31.**A digital-to-analog (D/A) converter comprising: a first subconverter having a plurality of thermometer elements and configured to determine a mean value of error values of the plurality of thermometer elements; a second subconverter having a plurality of binary-weighted elements; a first selector configured to select a first group of said plurality of thermometer elements whose error values are closer to the mean value when a sum of the error values of the thermometer elements of the first group is not more than the error value of the thermometer element farthest from the mean value of the first group; a second selector configured to select a second group of said plurality of thermometer elements; said first selector comprising a plurality of selector switches each coupled with a respective thermometer element of said first group; and said second selector comprising at least one selector switch coupled with the thermometer elements of said second group.

**32.**The D/A converter according to claim 31, wherein said first group comprises a number of thermometer elements that is greater than the number of thermometer elements contained in said second group.

**33.**The D/A converter according to claim 31, wherein a number of said thermometer elements of said first subconverter is 2 (number of thermometer bits), and a number of the binary-weighted elements of the second subconverter is equal to a number of binary bits.

## Description:

**FIELD**

**[0001]**The present disclosure relates to a method of self-calibration of a successive approximation register-analog-to-digital (SAR-A/D) converter and a SAR-A/D converter implementing the method. Particularly, the present disclosure relates to a method of self-calibration of a mixed thermometer code-binary code SAR-A/D converter and to such mixed thermometer code-binary code SAR-A/D converter. More particularly, the present disclosure relates to a method of self-calibration of the digital-to-analog converter DAC that is part of the thermometer-code SAR-A/D converter to optimize the integral non-linearity of the analog-to-digital converter.

**BACKGROUND**

**[0002]**SAR A/D converters are known in the art to be used for analog-to-digital conversion. In this type of converter, conversion is based on a dichotomic search through all possible quantization levels to the determination of the final conversion value.

**[0003]**Referring to FIG. 1, which shows a block diagram of a classical SAR-A/D converter, such converter comprises a digital-to-analog converter (DAC), a successive approximation register (SAR), a sample-and-hold circuit (S/H), an input voltage Vin and a reference voltage Vref. Particularly, the sample-and-hold circuit, which may also be integrated in the DAC converter, is configured to capture the input voltage Vin, whereas the voltage comparator (Comp) which compares the voltage Vin with the output of the DAC, is configured to transmit the result to the successive approximation register (SAR), which emits an approximate digital code of the Vin to the internal DAC whose output is fed back to the comparator with an analog signal equivalent to the output digital code of the SAR to be compared with the input voltage Vin.

**[0004]**Particularly, binary-weighted physical elements are usually employed in the internal DAC to carry out the conversion process. For example, these binary-weighted physical elements consist of resistors, capacitors, current generators and the like.

**[0005]**In order to convert a voltage corresponding to the binary code `101001` (i.e. the code representing the number 41) using a binary converter having a number N

_{bit}=N.sub.BitBin of bits equal to six, six physical elements are available. In the binary code `101001` the physical elements corresponding to the indices 0, 3 and 5 (i.e. the ones of the binary code `101001`) are intended to be somehow selected and the corresponding converted voltage is 41/64 Vref, where Vref represents the reference voltage to be used for the conversion process.

**[0006]**However, if a thermometer-code SAR A/D converter is used, all the physical elements are nominally equal to one another. Therefore, during the conversion process, if the voltage corresponding to the binary code `101001` (41) has to be converted using a thermometer-code converter having a number N

_{bit}=N.sub.BitTh of bits equal to six, all the physical elements, equal to 64 (because 2 6=64), corresponding to the indices from 0 to 40 are selected (whereas the physical elements corresponding to the indices from 41 to 63 are not selected) and the corresponding converted voltage is always equal to 41/64 Vref.

**[0007]**Conversely, in a converter having a mixed thermometer-code and binary design, the plurality of physical elements that form the converter are divided into two subsets, i.e. one subset formed by thermometer elements and the other subset formed by binary-weighted elements.

**[0008]**Namely, the binary-weighted elements define the LSB bits of the output code generated by the converter, whereas the thermometer elements define the MSB bits of such output code.

**[0009]**It shall be noted that the accuracy of the converter with the thermometer-code and binary design is set by the smallest physical element implemented in the binary elements and corresponds to 1 LSB, i.e. the bit corresponding to the zero index of LSB bits.

**[0010]**The example of FIG. 2 is a converter with a thermometer-code and binary design having twelve bits, with an output code organized as follows:

**[0011]**binary physical elements are used for indices from 0 to 5, which represent the LSB bits of the output code, which means that the 0 index is given by a binary element, the 1 index is given by a binary element having twice the value (of the binary element for the 0 index), the 2 index is given by a binary element having four times the value (of the binary element for the 0 index) and so on; and

**[0012]**thermometer elements are used for indexes from 6 to 11, which represent the MSB bits of the output code, such that each index involves the addition of as many thermometer elements as required by the binary coding of the index weight minus 6 (2.sup.(bit index-6)).

**[0013]**The problematic aspect of such thermometer-code ADC is that, as the latter generates the values of the various voltages V

_{thermo}(Thermo=0 . . . 2

^{N}

_{Th}) of the thermometer levels as used in the A/D conversion process, these voltage values V

_{Thermo}are affected by the problem that the thermometer elements are not identical, as they should ideally be but actually exhibit non-idealities, which introduce an error in such voltage values V

_{Thermo}.

**[0014]**Thus, assuming that 64 thermometer elements T

_{j}are provided, the ideal voltages V

_{Thermo}required during SAR conversion are:

**V Thermo**= V ref T tot j = 0 Thermo - 1 T j ##EQU00001##

**[0015]**where T

_{tot}is the total value of the thermometer elements, Thermo belongs to the set from 0 to 64 and T

_{j}belongs to the set T

_{0}, . . . , T

_{Thermo}-1, because voltage levels are one more than the elements. Nevertheless, since all thermometer elements T

_{j}are imperfect, each having its own error τ

_{j}, then each thermometer element may be rewritten according to the formula:

**T**

_{j}=T

_{ideal}+τ

_{j}

**[0016]**In view of the above, the real voltage values Vthermo required during SAR conversion are expressed by the following formula:

**V Thermo**= V ref T tot j = 0 Thermo - 1 ( T ideal + τ j ) ##EQU00002##

**[0017]**Thus, the INL error between the ideal and real voltage sequences may be expressed by the following formula:

**INL Thermo**= V ref T tot j = 0 Thermo - 1 τ j ##EQU00003##

**[0018]**where INL

_{Thermo}represents the error for the Thermo

^{th}level of the DAC converter.

**[0019]**Such INL

_{Thermo}depends on the order of thermometer-code errors and is inherently equal to zero for minimum and maximum voltage limits V

_{min}=0 and V

_{max}=V

_{ref}=V

_{6}4 (because in this case the number of bits is supposed to be 6).

**[0020]**The INL

_{Thermo}value is affected by the measurements of the imperfection of the thermometer elements. Particularly, the calibration process as disclosed in Patent Application MI2014A000720 (which is intended to be integrated in the present disclosure), was found to be able to approximate the ideal characteristic INL with an accuracy of half the DNL error of the worst measured thermometer element.

**[0021]**Of course, the INL

_{Thermo}value is invalidated if measurements on thermometer elements are not made with the utmost accuracy.

**[0022]**A further problem is the area occupied by the switches that are used to switch the thermometer elements on.

**SUMMARY**

**[0023]**The object of the present invention is to provide a method and a converter for self-calibration of a hybrid thermometer-binary code SAR A/D converter.

**[0024]**One embodiment provides a more efficient method of self-calibration of a thermometer-code SAR A/D converter that does not require the introduction of dedicated hardware.

**BRIEF DESCRIPTION OF THE DRAWINGS**

**[0025]**The characteristics and advantages of the present disclosure will appear from the following detailed description of a possible practical embodiment, illustrated as a non-limiting example in the set of drawings, in which:

**[0026]**FIG. 1 shows a block diagram of a SAR A/D converter of the prior art;

**[0027]**FIG. 2 shows a graphical representation of the composition of the elements of a SAR A/D converter of the prior art;

**[0028]**FIG. 2A shows the mathematical calculations required to check the correctness of the calibration method;

**[0029]**FIG. 3 is a flow chart of the method of calibrating a SAR A/D converter of the present invention;

**[0030]**FIG. 4 shows an example of the method of FIG. 3 in graphical and numerical form;

**[0031]**FIGS. 5, 6 and 7 show the result of simulations when a deterministic method is used to solve the method as shown in FIG. 3; and

**[0032]**FIG. 8 shows a block diagram of the wiring circuits of thermometer elements and binary-weighted elements as capacitors of the SAR A/D converter of the present invention.

**DETAILED DESCRIPTION**

**[0033]**Even when this is not expressly stated, the individual features as described with reference to the particular embodiments shall be intended as auxiliary to and/or interchangeable with other features described with reference to other exemplary embodiments.

**[0034]**Parts that have been described with reference to the prior art will be designated hereinbelow, for simplicity, by the same numerals.

**[0035]**In view of minimizing the INL

_{Thermo}value without using dedicated or additional hardware, the redundancy in the actuation sequence of the thermometer elements T

_{j}is a key factor for efficient self-calibration of the SAR A/D converter.

**[0036]**Particularly, all the actuation sequences are equivalent (because all the elements must be identical, i.e. 64 LSB when N.sub.BitBin bit is equal to 6), but they are slightly different in practice, whereby any change in the actuation sequence of the elements involves a change in the output code of the ADC.

**[0037]**As mentioned above, the error between the ideal and real voltage sequences may be expressed by the following formula:

**INL Thermo**= V ref T tot j = 0 Thermo - 1 τ j ##EQU00004##

**[0038]**In order to minimize such INL

_{Thermo}value a method for calibration of the SAR-A/D converter is provided.

**[0039]**Particularly, also referring to FIG. 3, the SAR-A/D converter comprises an N

_{bit}-bit digital-to-analog converter DAC to generate an N

_{bit}-bit output code OUTPUT 9.

**[0040]**In one aspect, the digital-to-analog converter DAC comprises a plurality of thermometer elements T

_{j}, block 1, and a plurality of binary-weighted elements, block 2.

**[0041]**It shall be noted that, in the definition of the present calibration method, the binary part of the physical elements is assumed to be perfect, i.e. error-free and designed in optimized fashion with the available hardware technologies.

**[0042]**Such binary part is used for high-precision measurement of the errors E

_{j}of the thermometer elements T

_{j}, possibly by means of averaging methods.

**[0043]**Particularly, relative differences E

_{j}may be measured using a first subconverter C

_{LSB}having a few bits, as the measured difference is between numbers that should have been ideally identical, but are actually similar and not coincident.

**[0044]**For this purpose, a first subset of thermometer elements T

_{j}is designed to be obtained, block 3, from the plurality of physical elements of the converter, such first subset defining the MSB bits of the output code OUTPUT and a second subset of binary weighted elements N

_{bin}is also designed to be obtained, block 4, such second subset N

_{bin}defining the LSB bits of the output code OUTPUT.

**[0045]**In one aspect, the output code OUTPUT is defined by a thermometer scale S

_{Th}whose number of levels m

_{i}, is equal to 2

^{N}BitTh, 2

^{N}BitTh being equal to N

_{Th}.

**[0046]**Advantageously, the method includes a step 5 of measuring the error value of each thermometer element T

_{j}, which is carried out with methods known to the skilled person and not described herein.

**[0047]**Once the error value of each thermometer element is measured, in one aspect of the method, a step is provided, block 6, for determining a mean value μ of these measured values.

**[0048]**When the mean value μ is known, in one aspect of the method, at block 7 the plurality N

_{Th}of thermometer elements T

_{j}are divided into a first subset X and a second subset Y, each containing an identical number of values x, y.

**[0049]**Particularly, the number of elements x, y in the subsets X and Y is half the number of the thermometer elements T

_{j}. This division is made, for instance, using a software algorithm.

**[0050]**This is possible because the following equation is by definition always true, regardless of the measured thermometer element values:

**all DNL j**= 0 ##EQU00005##

**[0051]**As a result of this equality, when the thermometer elements T

_{j}are divided into the above two subsets X and Y, then:

**X DNL j**+ Y DNL j = 0 ##EQU00006##

**i**.e.:

**X DNL j**= - Y DNL j ##EQU00007##

**[0052]**This means that the sum of the thermometer elements x of the subset X (i.e. the INL of the subset X) is equal to the opposite of the sum of the thermometer elements y of the subset Y (i.e. the INL of the subset Y), regardless of the type of partition.

**[0053]**Assuming the above, then the first subset X comprises the thermometer elements T

_{j}whose values are closer to said mean value μ as long as the error of the sum of thermometer elements T

_{j}of the first subset X is not more than the error value of the element farthest from the mean value μ. The second subset Y comprises all the remaining thermometer elements T

_{j}.

**[0054]**The allocation of the respective s values to the subset X or the subset Y is performed, for instance, by a software algorithm.

**[0055]**The method of the present invention includes, at step 8, generating a thermometer scale S

_{Th}, using for:

**[0056]**each level m

_{i}of said thermometer scale S

_{Th}, with i ranging from 0 to N

_{Th}/2, the incremental sum of each value x of said first ordered subset X; and

**[0057]**each further level m

_{i}of said thermometer scale S

_{Th}, with i ranging from N

_{Th}/2+1 to N

_{Th}, the sum of all the values y of said second subset Y plus the incremental sum of the elements x of the subset X in any order.

**[0058]**The method also includes generating, at block 9, the output code OUTPUT according to such thermometer scale S

_{Th}.

**[0059]**In a preferred aspect of the method, the first subset X is ordered such that the maximum error value ε

_{R}of the integral non-linearity error INL of a R

^{th}thermometer level may be reduced and minimized.

**[0060]**Preferably, in the present method, each further level m

_{i}of the thermometer scale S

_{Th}, with i ranging from N

_{Th}/2+1 to N

_{Th}, will be the sum of all the values y of the second subset Y plus the incremental sum of the elements x of the subset X in reverse order.

**[0061]**In other words, also referring to FIG. 4, which shows a numerical example of the method of the present disclosure, it shall be noted that levels m

_{5}to m

_{e}of the scale S

_{Th}are constructed as the sum of all the values y of said second subset Y plus the incremental sum of the elements x of the subset X in reverse order.

**[0062]**Namely, assuming that:

**[0063]**the number of thermometer bits N.sub.BitTh is equal to three, then the number N

_{th}of thermometer elements T

_{j}is equal to eight (2

^{3}being equal to 8) such that the number of levels m

_{i}of the thermometer scale S

_{Th}is also equal to eight,

**[0064]**the number of binary bits N.sub.BitBin is equal to three, then the number N

_{Bin}of binary elements is equal to three such that the number of levels of the binary scale S

_{Bin}is also equal to eight,

**[0065]**then, the output code OUTPUT is defined by the thermometer scale S

_{Th}having a number of levels m

_{i}equal to eight, and by the binary scale S

_{BIN}having a number of levels equal to eight.

**[0066]**If this is the case, assuming that the measured values of the N

_{th}=8 thermometer elements T

_{j}of the thermometer scale S

_{Th}are, for instance, equal to T

_{1}=0.7, T

_{2}=0.9, T

_{3}=1.2, T4=1.1, T

_{5}=1.3, T

_{6}=0.8, T

_{7}=0.9 and T

_{8}=1.4, then the step of calculating the mean value μ provides a value of 1.0375, although the ideal value should have been 1.0.

**[0067]**Once the mean value μ is known, the subset X, after the above mentioned division step, comprises a number s of values equal to four, i.e. half the N

_{th}=8 thermometer elements T

_{j}, such values being the ones closer to the mean value μ, whereas the subset Y, which also comprises a number s of values equal to four, i.e. half the N

_{th}=8 thermometer elements T

_{j}, is filled with the values that are farther from the mean value μ.

**[0068]**In other words, the subset X comprises four elements x1, x2, x3, x4, and the subset Y also comprises four elements y1, y2, y3, y4, each identifying its own value Tj.

**[0069]**It shall be noted that the values x

_{1}, . . . , 4 of the subset X are used individually, whereas the values y

_{1}, . . . , 4 of the subset Y are used as a group, i.e. as a single value equal to the sum of the four values y

_{1}, . . . , 4.

**[0070]**Once the two subsets X and Y have been defined, then a new thermometer scale S

_{Th}may be generated, such that each level from m

_{1}to m

_{4}of the thermometer scale S

_{Th}is associated with the incremental sum of the available values x

_{1}, . . . , 4 of the first subset X.

**[0071]**Particularly, the incremental sum of each value x of the first subset X is equal to

**m k**= 1 k x j , ##EQU00008##

**where k ranges from**0 to N

_{th}/2 and x

_{j}represents each value stored in such first subset X.

**[0072]**Therefore, the term incremental sum of the values x

_{1}, . . . , 4 is intended to mean the following:

**[0073]**position m

_{0}of S

_{TH}=0;

**[0074]**position m

_{1}of S

_{TH}=value x1;

**[0075]**position m

_{2}of S

_{TH}=value x1+value x2;

**[0076]**position m

_{3}of S

_{TH}=value x1+value x2+value x3;

**[0077]**position m

_{4}of S

_{TH}=value x1+value x2+value x3+value x4.

**[0078]**In other words:

**[0079]**for the first level m

_{1}of the thermometer scale S

_{Th}there is a single value of the subset X, particularly the one stored in the first position x

_{1},

**[0080]**for the second level m

_{2}of the thermometer scale S

_{Th}there is the sum of the values stored in the first position x

_{1}and the second position x

_{2}of the subset X, and

**[0081]**for the third level m

_{3}of the thermometer scale S

_{Th}there is the sum of the values stored in the first position x

_{1}, the second position x

_{2}and the third position x

_{3}of the subset X.

**[0082]**Each further level from m

_{5}to m

_{8}of the thermometer scale S

_{Th}is associated with the sum of all the values y

_{1}, . . . , 4 of the second subset Y plus the incremental sum of the elements x of the subset X in reverse order.

**[0083]**Namely:

**[0084]**the level m

_{5}of the thermometer scale S

_{Th}is equal to the sum of all the values y

_{1}, . . . , 4 of the second subset Y plus the value of the level x

_{4}of the first subset X,

**[0085]**the level m

_{6}of the thermometer scale S

_{Th}is equal to the sum of all the values y

_{1}, . . . , 4 of the second subset Y plus the value of the levels x

_{4}and x

_{3}of the first subset X,

**[0086]**the level m

_{7}of the thermometer scale S

_{Th}is equal to the sum of all the values y

_{1}, . . . , 4 of the second subset Y plus the value of the levels x

_{4}, x

_{3}and x

_{2}of the first subset X, and

**[0087]**the level m

_{8}of the thermometer scale S

_{Th}is equal to the sum of all the values y

_{1}, . . . , 4 of the second subset Y plus the value of the levels x

_{4}, x

_{3}, x

_{2}and x

_{1}of the first subset X.

**[0088]**According to a preferred embodiment of the present method, if the sum of the errors of the elements x of the first subset X is greater than the highest error of the individual elements x, then a step is provided of exchanging at least one value y of said second subset Y with an appropriate element x of said first subset X if the sum of the resulting elements is smaller than the worst of the elements of the new subset X resulting from the exchange.

**[0089]**For example, assuming that the measurement of the error value of each thermometer element T

_{j}has provided the following values 0.97 0.93 0.85 0.98 1.1 1.2 1.02 1.05 and that the mean value, i.e. the ideal element, is 1.0125, then the DNL of each element is -0.0420, -0.0815, -0.1605, -0.0321, 0.0864, 0.1852, 0.0074 and 0.0370.

**[0090]**Ordered DNLs are obtained by ordering, i.e. -0.1605, -0.0815, -0.0420, -0.0321, 0.0074, 0.0370, 0.0864 and 0.1852.

**[0091]**The selection of GOOD elements, i.e. those whose values are closer to the mean value μ gives elements with values -0.0420, -0.0321, 0.0074 and 0.0370 whereas the selection of BAD elements, i.e. those whose values are farther from the mean value i, gives elements with values -0.1605, -0.0815, 0.0864 and 0.1852.

**[0092]**The sum of GOOD elements is -0.0296, whereas the sum of BAD elements is 0.0296.

**[0093]**Therefore, here the DNL at half-scale is -0.0593, which is worse than all the DNLs of the GOOD elements.

**[0094]**Thus, an alternative selection of GOOD elements is required, with one GOOD element being exchanged with a BAD element, e.g. the third BAD element being selected instead of the fourth GOOD element, i.e.:

**[0095]**-0.0420 -0.0321 0.0074 0.0864

**[0096]**The same applies for the selection of BAD elements,

**[0097]**-0.1605 -0.0815 0.1852 0.0370

**[0098]**The INL at half-scale, which is equal to 0.0395, is found to be better than any DNL of the new GOOD elements.

**[0099]**This exchange provides advantages, such as making the sum of the so-called GOOD elements as close as possible to that of the so-called BAD elements, without causing the GOOD (or BAD) elements to include an element that is too far from the mean value. In fact, since the two sums are opposite to each other, it would be ideally desirable (although not achievable in practice) that both sums should be zero (i.e. that the INL characteristic at half-scale should be perfect).

**[0100]**In one aspect of the present disclosure, the first subset X is ordered such that the maximum error value ε

_{R}of the integral non-linearity error (INL) of a R

^{th}thermometer level may be minimized.

**[0101]**In order to minimize the integral non-linearity error value (ε

_{R}INL), in one aspect as disclosed in MI2014A000720, which is intended to be incorporated in the present disclosure, the method includes:

**[0102]**determining the error value ε

_{R}, (block 5), using the following formula:

**INL R**= j = 0 R - 1 E j - R N Th j = 0 N Th - 1 E j ##EQU00009##

**[0103]**where E

_{j}represents the relative mismatch differences between the plurality of thermometer elements T

_{j}and a reference thermometer element T

_{ref}selected from said plurality of thermometer elements T

_{j}and R ranges from 0 to N

_{Th}and represents the number of available thermometer levels.

**[0104]**In one aspect, the relative mismatch differences E

_{j}may be measured using the following formula:

**E j**= T j - T ref T tot , T tot = k = 0 N Th - 1 T k , T ref .di-elect cons. { T 0 T N Th - 1 } ##EQU00010##

**[0105]**where:

**[0106]**N

_{Th}represents the number of thermometer elements 2

^{N}.sub.BitTh; and

**[0107]**T

_{tot}is the total value of said plurality of thermometer elements T

_{j}, which total value T

_{tot}may be calculated using the following formula:

**T tot**= k = 0 N Th - 1 T k = N Th T ref 1 - j = 0 j = N Th - 1 E j ##EQU00011##

**[0108]**The mathematical proof of the above formulas may be found in FIG. 2A, which shows the most important steps to the definition of the error value INL

_{R}.

**[0109]**Particularly, the FIG. 2A shows that the formula for the error value INL

_{R}, i.e. the integral non linear error (INL) of a R

^{th}thermometer level may depend on E

_{j}, i.e. on the relative differences between the plurality of thermometer elements T

_{j}and a reference thermometer element T

_{ref}selected from the plurality of thermometer elements T

_{j}of the digital-to-analog converter (DAC) as measured by the formula:

**E j**= T j - T ref T tot ##EQU00012##

**[0110]**The differential non linearity value (DNL) may be determined (block 5) using the following formula:

**DNL k**= E k - 1 N Th j = 0 N Th - 1 E j ##EQU00013##

**[0111]**In one aspect, the errors E

_{j}of the thermometer elements T

_{j}may be possibly measured by also using averaging methods.

**[0112]**In one aspect, in order to measure the mismatch E

_{j}of the thermometer elements T

_{j}, if these thermometer elements T

_{j}are implemented as capacitors C (see FIG. 8), then there will be a step of checking an input voltage (VINC) on said input terminal of said comparator (Comp) using the following formula:

**Δ V = C th X - C th ref C * ( VrefP - VrefN ) ##EQU00014##**

**[0113]**where ΣC represents the sum of the thermometer elements, C

_{thref}is a reference thermometer element, C

_{th}X is the thermometer element being measured, V

_{ref}P is a first reference voltage that is found on the reference thermometer element during sampling and on the element being measured during the step of checking, V

_{ref}N is a second reference voltage that is found on the thermometer element being measured during sampling and on the reference element during the step of checking, and on all the other thermometer elements throughout the conversion and ΔV is the measurement of the errors E

_{j}.

**[0114]**The above identified error INL

_{R}may be minimized by determining the appropriate actuation permutation P of the thermometer elements T

_{j}for more accurate calibration.

**[0115]**For this purpose, the above mentioned method step of minimizing or reducing the maximum of said integral non-linearity INL error value INL

_{R}of the Rth thermometer level, includes:

**[0116]**identifying the maximum of said error value INL

_{R}for each level R;

**[0117]**recalculating the integral non-linearity error value INL

_{R}for a number of permutations P defined beforehand; and

**[0118]**selecting the permutation that reduces or minimizes said error value INL

_{R}from said number P of permutations.

**[0119]**Nevertheless, although this minimization step is effective, there still exist an excessively high number of permutations to be processed by the method, i.e., theoretically corresponding to the factorial of the number of thermometer elements, e.g. 64 in the case of a 6-bit thermometer-code converter.

**[0120]**Therefore the maximum absolute error INL

_{R}must be minimized without processing the 64 permutations to actuate the thermometer elements.

**[0121]**This may be done, for example, using a metaheuristic algorithm, such as a simulated annealing algorithm, a tabu search algorithm or genetic algorithm but also, preferably, using a deterministic approach.

**[0122]**In view of using a deterministic approach it should be noted that, for a "perfect" DAC converter, each thermometer element T

_{j}must have a "perfect" value, i.e. T

_{ideal}.

**[0123]**If this is not the case (i.e. if the converter is not perfect), each time that the thermometer element T

_{Thermo}is added, the INL error should change by τ

_{Thermo}.

**[0124]**In fact, each thermometer element is affected by an error defined as DNL

_{Thermo}which represents, as is also shown from FIG. 2A, the differential non-linearity, i.e. the difference between the ideal analog-to-digital conversion step and the actual analog-to-digital conversion step.

**[0125]**In the light of the above, assuming a Gaussian arrangement of the thermometer elements T

_{j}centered about their mean value (with the mean value being, by definition, T

_{ideal}) which means that many thermometer elements T

_{j}should be close to the mean value, to have a small DNL error, and with the start and end points of the INL characteristic error being zero, a thermometer-code sequence very close to the optimal sequence may be "constructed".

**[0126]**For this purpose, the element with the greatest DNL error must be identified and centered on the ideal INL characteristic or, in an equivalent manner, its DNL

_{worst}must be centered at zero.

**[0127]**Particularly, in a preferred aspect, the method provides an adequately accurate approximation (from 0 or the end-of-scale value) of 1/2 of the DNL error (with opposite sign) of the worst thermometer element, using the elements of the thermometer set having the smallest DNL error.

**[0128]**It shall be noted that an INL error of ±1/2 DNL

_{worst}should never be exceeded when constructing the INL characteristic.

**[0129]**Once the worst thermometer element is determined and centered with respect to the Integral Non-Linearity INL characteristic, the second worst element is determined by repeating the procedure, but not starting from 0 (or the end-of-scale value), but from the position defined by the last determined element (the worst element). This will provide the best possible INL performances for this particular DAC.

**[0130]**Particularly, the differential non-linearity DNL error value DNL

_{j}should be calculated for each thermometer element T

_{j}, and the thermometer element T

_{j}' with the highest differential non-linearity DNL error value DNL

_{j}' should be selected.

**[0131]**Once the thermometer element T

_{j}' with the highest error value DNL

_{j}' has been determined, such error value DNL

_{j}' is centered with respect to the ideal conversion characteristic of the converter.

**[0132]**Once such value DNL

_{j}' has been positioned, and in order to reach the value represented by the ideal characteristic, the smallest Differential Non-Linearity DNL error values DNL

_{j}of said plurality of thermometer elements are summed until half the value of said thermometer element T

_{j}' is approximated.

**[0133]**Then, selecting the thermometer element having the highest differential non-linearity DNL error value from the remaining thermometer elements of said plurality of thermometer elements T

_{j}is repeated.

**[0134]**These steps are iterated as many times as there are thermometer elements left, by repeating the selection of the element with the highest differential non-linearity DNL error value DNL

_{j}from the remaining thermometer elements T

_{j}and centering its error value DNL

_{j}with respect to said ideal characteristic, starting from the position defined by the last determined element.

**[0135]**With the above described method, a value of a k

^{th}level of the DAC is given by:

**L K**= j = 0 j = K - 1 T j T Tot ##EQU00015##

**[0136]**This is advantageous because the output code OUTPUT is generated using the thermometer elements that are closer to the mean value μ, i.e. those of the subset X, as numerators, whereas the thermometer elements that are farther from the mean value are used as denominators.

**[0137]**The above method advantageously provides a process for self-calibration of the SAR-A/D converter which does not require the use of external hardware or other circuit implementations (i.e. on elements that are part of the converter itself), but using the plurality of thermometer elements themselves, and particularly utilizing the binary part for high-accuracy measurement of the errors E

_{j}of the thermometer elements T

_{j}.

**[0138]**It should be particularly noted that the binary part of the converter has a small dynamic range but is inherently accurate due to the hardware implementation of binary elements.

**[0139]**Referring now to FIGS. 5, 6 and 7, there is shown the result of simulations using the above described method.

**[0140]**Particularly, FIG. 5 shows the effect of calibration on 1024 devices, whereas FIG. 6 shows the distribution of the maximum INL error before (natural) and after (calibrated) the calibration method and finally FIG. 7 shows the effect of calibration on a single converter device.

**[0141]**Referring now to FIG. 8, which shows a block diagram of the circuit of thermometer elements and binary-weighted elements as capacitors, it shall be noted that the conversion matrix required to carry out the above described method comprises a first subconverter C

_{MSB}comprising a plurality of thermometer elements and a second subconverter C

_{LSB}comprising a plurality of binary-weighted elements.

**[0142]**Advantageously, according to the present disclosure, the number of the thermometer elements of the first subconverter C

_{MSB}is 2

^{N}.sub.BitTh and the number of the binary-weighted elements of the second subconverter C

_{LSB}is N.sub.BitBin.

**[0143]**In other words, in order to implement the above method, the first subconverter C

_{MSB}will comprise a number of thermometer elements equal to 2 N

_{bit}Th, whereas in the prior art it would have been (2 N

_{bit}Th)-1.

**[0144]**Therefore, if there are six thermometer-code bits, the number of thermometer elements that would be used in the prior art would equal to 63 physical elements, whereas in this invention it equals 64 physical elements.

**[0145]**The two subconverters C

_{MSB}and C

_{LSB}, are coupled by an appropriate coupling circuit Cblock.

**[0146]**The coupling circuit Cblock consists, for instance, in a simple wire or a bridge associated with an attenuator capacitor, although a more complex implementation may be also envisaged, and is required to provide the proper scale relationship between the voltages generated by the two subconverters made of capacitors C

_{MSB}and C

_{LSB}.

**[0147]**Particularly, the subconverter C

_{MSB}includes as many capacitors as there are thermometer elements, in this case 64, whereas the subconverter C

_{LSB}includes as many capacitors as there are binary elements, in this case 6.

**[0148]**In order to minimize the switch area, the converter is designed to comprise first selector S1 which is configured to select a first group G1 of said plurality of thermometer elements T

_{j}and second selector S2 which is configured to select a second group G2 of the plurality N

_{Th}of thermometer elements T

_{j}.

**[0149]**The first selector S1 comprises a plurality of selector switches IG1

_{j}, each in signal communication with a respective thermometer element T

_{j}of the first group G1, which means that each thermometer element may be controlled by a respective switch to a voltage VrefN and VrefP, where VrefP is the positive reference (typically VDD) and VrefN is the negative reference (typically the ground or GND).

**[0150]**The second selector S2 comprises a single selector switch IG2 in signal communication with the thermometer elements T

_{j}of the second group G2 to control all of them at the same time or as a single block. Therefore, this second group G2 of thermometer element can be controlled by the switch IG2 to a voltage VrefN and VrefP, where VrefP is the positive reference (typically VDD) and VrefN is the negative reference (typically the ground or GND).

**[0151]**Preferably, the group G1 comprises a number of thermometer elements that is greater than half the total thermometer elements, whereas the second group G2 comprises the remaining thermometer elements.

**[0152]**For example, assuming a number of 64 thermometer elements (and hence a 6-bit DAC for the thermometer code part), the group G1 comprises 40 thermometer elements (40 being greater than 64/2) and the group G2 comprises 24 elements (because 64 minus 40 is 24).

**[0153]**Particularly, the 40 thermometer elements of the group G1 are controlled individually, whereas the 24 thermometer elements of the group G2 are controlled together or as a single block, whereby 23 switches will be eliminated and the switch area will be reduced.

**[0154]**Assuming the above, a new set of thermometer elements G3 shall be identified, which is composed by the combination of the group G2 and a subset G1' of the group G1, which is identified by a program stored in a memory.

**[0155]**For example, the subset G1' shall comprise eight thermometer elements (G1'=8), in this example 32.

**[0156]**Generally, the subset G1' is equal to the number Nth/2 minus the number of elements of the group G2.

**[0157]**The remaining unit elements G1'' of the group G1, i.e. the thermometer elements of G1 minus those of the subset G1' will represent the subset X.

**[0158]**With the above numbers, the remaining thermometer elements G1'' which represent the subset X are thirty-two (i.e. Nth/2). The unit thermometer elements of the subset G1', that are included in the subset G3 (G2+G1') have been selected according to the following rules:

**[0159]**removing the worst thermometer elements of the set G1, i.e. the thermometer elements whose values are farthest from the mean value; and

**[0160]**minimizing the difference between the set G1'' and the set G3.

**[0161]**The value of the set G2 is measured by:

**[0162]**measuring all the unit elements; and

**[0163]**measuring the value of the set G2 with respect to any set of unit elements, said set of unit elements having the same nominal total size as G2 and a known error. This measurement may be used to readily assess the value of the large element G2 by comparison with a known set of elements.

**[0164]**Those skilled in the art will obviously appreciate that a number of changes and variants may be made to the method of self-calibration of a SAR-A/D converter as described above to fulfill particular requirements, without departure from the scope of the invention, as defined in the following claims.

User Contributions:

Comment about this patent or add new information about this topic: