METHOD OF CALIBRATING A SAR A/D CONVERTER AND SAR-A/D CONVERTER IMPLEMENTING SAID METHOD |
|||||||
申请号 | EP15189321.1 | 申请日 | 2015-10-12 | 公开(公告)号 | EP3026818A1 | 公开(公告)日 | 2016-06-01 |
申请人 | STMicroelectronics S.r.l.; | 发明人 | BURGIO, Carmelo; GIACOMINI, Mauro; | ||||
摘要 | The present disclosure relates to a method of self-calibration of a SAR-A/D converter, comprising a N bit -bit digital-to-analog converter (DAC) for outputting a N bit -bit output code, said digital-to-analog converter (DAC) comprising a first subconverter (C MSB ) having a plurality N Th of thermometer elements T j (1) and a second subconverter (C LSB ) having a plurality of binary-weighted elements N Bin , said output code being defined by a thermometer scale S Th having a number of levels equal to 2 NBitTh +1. The method is characterized in that it comprises the steps of: - measuring, for each thermometer element of said plurality N Th of thermometer elements T j , an error value; - determining a mean value (µ) of these values; - dividing said plurality N Th of thermometer elements T j into a first subset (X) and a second subset (Y) each containing an identical number of values (x, y), equal to N Th /2, wherein said 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 worse than the error value of the element farthest from said mean value (µ) of said first subset (X) and said second subset (Y) comprising all the remaining thermometer elements T j ; - generating said thermometer scale, on the assumption that: - each level m i of said thermometer scale S Th , with i ranging from 0 to N Th /2, will be the incremental sum of each value (x) of said first ordered subset X; - each further level m i of said 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 said second subset Y plus the incremental sum of the elements (x) of the subset X in any order; - generating said output code (OUTPUT) according to said thermometer scale S Th . |
||||||
权利要求 | |||||||
说明书全文 | The present disclosure relates to a method of self-calibration of a SAR-A/D converter and a SAR A/D converter implementing said method, as defined in the preamble of claims 1 and 13 respectively. 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. 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 dichotomic search through all possible quantization levels to determination of the final conversion value. Referring to 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. 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 Nbit=NBitBin 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. 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 Nbit=NBitTh 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. 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. 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. 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. The example of
The problematic aspect of such thermometer-code ADC is that, as the latter generates the values of the various voltages Vthermo (Thermo = 0...2NTh) of the thermometer levels as used in the A/D conversion process, these voltage values VThermo 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 VThermo. Thus, assuming that 64 thermometer elements Tj are provided, the ideal voltages Vthermo required during SAR conversion are: In view of the above, the real voltage values Vthermo required during SAR conversion are expressed by the following formula: Thus, the INL error between the ideal and real voltage sequences may be expressed by the following formula: Such INLThermo depends on the order of thermometer-code errors and is inherently equal to zero for minimum and maximum voltage limits Vmin = 0 and Vmax = Vref = V64 (because in this case the number of bits is supposed to be 6). The INLThermo value is affected by the measurements of the imperfection of the thermometer elements. Particularly, the calibration process as disclosed in Patent Application Of course the INLThermo value is invalidated if measurements on thermometer elements are not made with the utmost accuracy. A further problem is the area occupied by the switches that are used to switch the thermometer elements on. 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 as defined in the annexed claims 1 and 13 respectively. 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. 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:
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. Parts that have been described with reference to the prior art will be designated hereinbelow, for simplicity, by the same numerals. In view of minimizing the INLThermo value without using dedicated or additional hardware, the Applicant found that the redundancy in the actuation sequence of the thermometer elements Tj is a key factor for efficient self-calibration of the SAR A/D converter. Particularly, all the actuation sequences are equivalent (because all the elements must be identical, i.e. 64 LSB when NBitBin 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. As mentioned above, the error between the ideal and real voltage sequences may be expressed by the following formula: In order to minimize such INLThermo value a method for calibration of the SAR-A/D converter is provided. Particularly, also referring to In one aspect, the digital-to-analog converter DAC comprises a plurality of thermometer elements Tj, block 1, and a plurality of binary-weighted elements, block 2. 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. Such binary part is used for high-precision measurement of the errors Ej of the thermometer elements Tj, possibly by means of averaging methods. Particularly, relative differences Ej may be measured using a first subconverter CLSB having a few bits, as the measured difference is between numbers that should have been ideally identical, but are actually similar and not coincident. For this purpose, a first subset of thermometer elements Tj 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 Nbin is also designed to be obtained, block 4, such second subset Nbin defining the LSB bits of the output code OUTPUT. In one aspect, the output code OUTPUT is defined by a thermometer scale STh whose number of levels mi is equal to 2NBitTh, 2NBitTh being equal to NTh. Advantageously, the method includes a step 5 of measuring the error value of each thermometer element Tj, which is carried out with methods known to the skilled person and not described herein. 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. When the mean value µ is known, in one aspect of the method a step is provided, block 7, in which the plurality NTh of thermometer elements Tj are divided into a first subset X and a second subset Y, each containing an identical number of values x, y. Particularly, the number of elements x, y in the subsets X and Y is half the number of the thermometer elements Tj. This division is made, for instance, using a software algorithm. This is possible because the following equation is by definition always true, regardless of the measured thermometer element values: As a result of this equality, when the thermometer elements Tj are divided into the above two subsets X and Y, then: 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. Assuming the above, then the first subset X comprises the thermometer elements Tj whose values are closer to said mean value µ as long as the error of the sum of thermometer elements Tj of the first subset X is not worse than the error value of the element farthest from the mean value µ. The second subset Y comprises all the remaining thermometer elements Tj. The allocation of the respective s values to the subset X or the subset Y is performed, for instance, by a software algorithm. The method of the present invention includes a step 8 in which a thermometer scale STh is generated, using for:
The method finally includes the step of generating, block 9, the output code OUTPUT according to such thermometer scale STh. 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 Rth thermometer level may be minimized. Preferably, in the present method, each further level mi of the thermometer scale STh, with i ranging from NTh/2+1 to NTh, 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. In other words, also referring to Namely, assuming that:
then, the output code OUTPUT is defined by the thermometer scale STh having a number of levels mi equal to eight, and by the binary scale SBIN having a number of levels equal to eight. If this is the case, assuming that the measured values of the Nth=8 thermometer elements Tj of the thermometre scale STh are, for instance, equal to T1=0.7, T2=0.9, T3=1.2, T4=1.1, T5=1.3, T6=0.8, T7=0.9 and T8=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. Once the means 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 Nth=8 thermometer elements Tj, 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 Nth=8 thermometer elements Tj, is filled with the values that are farther from the mean value µ. 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. It shall be noted that the values x1,...,4 of the subset X are used individually, whereas the values y1,...,4 of the subset Y are used as a group, i.e. as a single value equal to the sum of the four values y1,...,4. Once the two subsets X and Y have been defined, then a new thermometer scale STh may be generated, such that each level from m1 to m4 of the thermometer scale STh is associated with the incremental sum of the available values x1,...,4 of the first subset X. Particularly, the incremental sum of each value x of the first subset X is equal to Therefore, the term incremental sum of the values x1,...,4 is intended to mean the following:
In other words:
Each further level from m5 to m8 of the thermometer scale STh is associated with the sum of all the values y1,...,4 of the second subset Y plus the incremental sum of the elements x of the subset X in reverse order. Namely:
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. For example, assuming that the measurement of the error value of each thermometer element Tj 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. Ordered DNLs are obtained by ordering, i.e. - 0.1605, -0.0815, -0.0420, -0.0321, 0.0074, 0.0370, 0.0864 e 0.1852. 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 µ, gives elements with values -0.1605, -0.0815, 0.0864 and 0.1852. The sum of GOOD elements is -0.0296, whereas the sum of BAD elements is 0.0296. Therefore, here the DNL at half-scale is -0.0593, which is worse than all the DNLs of the GOOD elements. Thus, an alternative selection of GOOD elements is required, with one Good element being exchanged with a Bad element, e.g. the bad3 being selected instead of the good 4, i.e.:
The same applies for the selection of BAD elements,
The INL at half-scale, which is equal to 0.0395, is found to be better than any DNL of the new GOOD elements. 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). 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 Rth thermometer level may be minimized. In order to minimize the Integral Non-Linearity error value εR INL, in one aspect as disclosed in MI2014A000720 (which is intended to be integrated in the present disclosure), the method comprises the steps of:
In one aspect, the relative mismatch differences Ej may be measured using the following formula: where:
The mathematical proof of the above formulas may be found in Particularly, the figure shows that the formula of the formula for the error value INLR, i.e. the Integral Non Linear error INL of a Rth thermometer level only depends on Ej, i.e. on the relative differences between the plurality of thermometer elements Tj and a reference thermometer element Tref selected from the plurality of thermometer elements Tj of the digital-to-analog converter (DAC) as measured by the formula: The Differential Non Linearity value DNL may be determined (block 5) using the following formula: In one aspect, the errors Ej of the thermometer elements Tj may be possibly measured by also using averaging methods. In one aspect, in order to measure the mismatch Ej of the thermometer elements Tj, if these thermometer elements Tj are implemented as capacitors C (see The above identified error INLR may be minimized by determining the appropriate actuation permutation P of the thermometer elements Tj for more accurate calibration. For this purpose, the above mentioned method step of minimizing the maximum of said Integral Non-Linearity INL error value INLR of the Rth thermometer level, includes the steps of:
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. Therefore the maximum absolute error INLR must be minimized without processing the 64 permutations to actuate the thermometer elements. This may be done, for example, using a metaheuristic algorithm, such as a Simulated Annealing algorithm, a Tabu Search Algorithm or Genetic Algorithms but also, preferably, using a deterministic approach. In view of using a deterministic approach it should be noted that, for a "perfect" DAC converter, each thermometer element Tj must have a "perfect" value, i.e. Tideal. If this is not the case (i.e. if the converter is not perfect), each time that the thermometer element VThermo is added, the INL error should change by τThermo. In fact, each thermometer element is affected by an error defined as DNLThermo which represents, as is also shown from In the light of the above, assuming a Gaussian arrangement of the thermometer elements Tj centered about their mean value (with the mean value being, by definition, Tidieal), which means that many thermometer elements Tj 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". For this purpose, the element with the greatest DNL error must be identified and exactly centered on the ideal INL characteristic or, in an equivalent manner, its DNLworst must be exactly centered at zero. Particularly, in a preferred aspect, the method provides an adequately accurate approximation (from 0 or the end-of-scale value) of ½ of the DNL error (with opposite sign) of the worst thermometer element, using the elements of the thermometer set having the smallest DNL error. It shall be noted that an INL error of ± ½ DNLworst should never be exceeded when constructing the INL characteristic. 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. Particularly, the Differential Non-Linearity DNL error value DNLj should be calculated for each thermometer element Tj, and the thermometer element Tj' with the highest Differential Non-Linearity DNL error value DNLj' should be selected. Once the thermometer element Tj' with the highest error value DNLj' has been determined, such error value DNLj' must be centered with respect to the ideal conversion characteristic of the converter. Once such value DNLj' has been positioned, and in order to reach the value represented by the ideal characteristic, the smallest Differential Non-Linearity DNL error values DNLj of said plurality of thermometer elements are summed until half the value of said thermometer element Tj' is approximated. Then, the step of selecting the thermometer element having the highest Differential Non-Linearity DNL error value from the remaining thermometer elements of said plurality of thermometer elements Tj is repeated. 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 DNLj from the remaining thermometer elements Tj and centering its error value DNLj with respect to said ideal characteristic, starting from the position defined by the last determined element. With the above described method, a value of a kth level of the DAC is given by: This is advantageous because the output code OUTPUT is generated using only 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 only used as denominators. 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 only using the plurality of thermometer elements themselves, and particularly utilizing the binary part for high-accuracy measurement of the errors Ej of the thermometer elements Tj. 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. Referring now to Particularly, Referring now to Advantageously, according to the present disclosure, the number of the thermometer elements of the first subconverter CMSB is 2NBitTh and the number of the binary-weighted elements of the second subconverter CLSB is NBitBin. In other words, in order to implement the above method, the first subconverter CMSB will comprise a number of thermometer elements equal to 2^NbitTh, whereas in the prior art it would have been (2^NbitTh) - 1. 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. The two subconverters CMSB and CLSB, are connected by an appropriate coupling circuit Cblock. 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 CMSB and CLSB. Particularly, the subconverter CMSB includes as many capacitors as there are thermometer elements, in this case 64, whereas the subconverter CLSB includes as many capacitors as there are binary elements, in this case 6. In order to minimize the switch area, the converter is designed to comprise first selector means S1 which are configured to select a first group G1 of said plurality of thermometer elements Tj and second selector means S2 which are configured to select a second group G2 of the plurality NTh of thermometer elements Tj. The first selector means S1 comprise a plurality of selector switches IG1j, each in signal communication with a respective thermometer element Tj 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). The second selector means S2 comprise a single selector switch IG2 in signal communication with the thermometer elements Tj 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). 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. 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). 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. 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. For example, the subset G1' shall comprise eight thermometer elements (G1'=8), in this example 32. Generally, the subset G1' must be equal to the number Nth/2 minus the number of elements of the group G2. 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. 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:
The value of the set G2 is measured by:
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. |