Next Patent: Analog-digital converter and method for converting data of the same
Next Patent: Analog-digital converter and method for converting data of the same
[0001] 1. Field of Invention
[0002] This invention relates to improvements in digital-to-analog converters and methods for constructing and operating same, and more particularity to digital-to-analog converters having improved linearity and methods for constructing and operating same.
[0003] 2. Background Information
[0004] Digital-to-analog converters (DACs) are circuits used to convert digital codewords into analog signals. Each codeword that is applied to the digital input of the DAC represents a quantized value that is converted by the DAC into a corresponding analog value at its output according to the transfer function of the DAC. Typically, but not necessarily, each bit of the digital input codeword is weighted as a function of the position of the respective bits within the codeword. When the position weights of each of the bits in a codeword are summed, they produce a value to be represented by the magnitude, typically the voltage magnitude, of the analog output signal.
[0005] However, offset, gain, and integral linearity (INL) of ordinary DAC circuits are imperfect, and often result in the analog output values having an error component from that desired. (INL error is the maximum deviation of an actual transfer function of a DAC from the ideal transfer function of the DAC, after the effects of offset and gain errors are mathematically removed from the actual transfer function of the DAC.)
[0006] What is needed, therefore, is a circuit and method for improving or reducing the error or deviation of the main DAC circuit in converting a digital data input to analog output values, so that the output is produced more closely following a desired transfer function. The circuit and method are needed to replace expensive laser-trimming techniques that are widely used in the industry.
[0007] In light of the above, therefore, it is an object of the invention to provide an improved digital-to-analog converter that has improved linearity and methods for constructing and operating same.
[0008] It is another object of the invention to provide an improved digital-to-analog converter of the type described that can be calibrated in a one-pass test flow.
[0009] The present invention presents a digital-to-analog converter (DAC) with digital calibration to improve the overall integral nonlinearity (INL) performance. In one embodiment, the architecture includes of a 10 bit resistor string that decodes the 10 most significant bits (MSBs) and a 6 bit interpolating amplifier, which is used to decode the 6 least significant bits (LSBs). The DAC has digital calibration to improve INL characteristics. The resistor string architecture alone has good differential nonlinearity (DNL) characteristics, but suffers from high INL errors. Thus, transfer function errors of the DAC are computed during final test at specific points. The errors at these points are coded into permanent on-chip memory as control points.
[0010] These control points then drive digital circuits that implement the math for piece-wise linear calibration waveform generation. A calibration DAC then sums the inverse of the error voltage to correct for the offset gain and linearity errors.
[0011] One calibration approach of the invention is to digitally calibrate the DAC based on the performance results obtained from a tester. At the time of final testing, the INL is evaluated using the standard linearity test methods. The INL values at certain specific codes are stored in registers. This can be achieved, for example, by blowing certain fuses based on the values read from the tester. The calibration module then uses the values stored by fuse blowing, and the DAC calibrates itself by subtracting an approximation to its INL curve. The approach of the invention does not actually modify the architecture of the DAC, but digitally calibrates its performance. This is achieved by calculating the INL from the tester and then adding or subtracting a desired amount of signal to or from the output of the main DAC before the signal is outputted from the device. In a preferred embodiment, this requires an additional calibration DAC along with the main DAC.
[0012] According to a broad aspect of the invention, a method is presented for constructing a calibrated digital-to-analog converter (DAC). The method includes developing predetermined functions between adjacent pairs of selected digital input code values approximating deviations of actual analog output values of a main DAC from desired analog output values of the main DAC and configuring a programmable circuit to provide piecewise linear digital correction input values to a calibration DAC according to the piecewise linear functions. The calibration DAC provides analog correction values for subtraction from an analog output of the main DAC to provide calibrated analog output values. Preferably, the predetermined functions are piecewise linear functions.
[0013] According to another broad aspect of the invention, a method is presented for constructing a calibrated digital-to-analog converter (DAC). The method includes providing an uncalibrated main DAC having a digital input and an analog output. When digital input signal values are applied to the digital input, corresponding analog output values are produced on the analog output. A deviation of an actual analog output value from a desired analog output value is measured for each of a number of digital input code values, and sets of linearly varying values are developed between adjacent pairs of selected digital input code values. The sets approximate the measured nonlinearity values. A programmable circuit is configured to provide digital correction input values to a calibration DAC according to the linearly varying values. When a digital input code value is applied to the digital input of the main DAC, an analog output of the calibration DAC is subtracted from the analog output of the main DAC to provide a calibrated output value.
[0014] According to yet another broad aspect of the invention, a method is presented for constructing a digital-to-analog converter (DAC). The method includes constructing an uncalibrated DAC that includes a circuit for producing an analog output signal having a magnitude that corresponds to a digital input according to a predetermined digital input signal code. A predetermined sequence of digital input signal codes produces corresponding analog output values according to an actual transfer function, a memory, and digital circuits configured to modify the digital input signal codes according to states contained in the memory. For each of predetermined digital input code values, a corresponding error value is determined representing a deviation of an actual value of the analog output produced by the actual transfer function from a desired analog output value according to a desired transfer function. States representing the corresponding error values are coded into the memory, and the digital circuits are operated to modify the predetermined digital input codes according to the states in the memory to produce the desired analog output values.
[0015] According to yet another broad aspect of the invention, a calibrated digital-to-analog converter (DAC) is presented. The DAC includes a main DAC having a digital input and an analog output. When digital input signal values are applied to the digital input, corresponding analog output values are produced on the analog output. A memory contains sets of linearly varying values between adjacent pairs of selected digital input code values. The sets approximate deviations of actual analog output values from desired analog output values. A calibration DAC has an analog output connected to be subtracted from the analog output of the main DAC, and a control circuit selects values from the sets of linearly varying values corresponding to input digital values to the main DAC and apply the selected values to the calibration DAC.
[0016] According to still yet another broad aspect of the invention, a calibrated digital-to-analog converter (DAC) is presented. The calibrated DAC includes a main DAC having a digital input and an analog output. When digital input signal values are applied to the digital input, corresponding actual analog output values are produced on the analog output. During final testing, integral linearity error (INL) is measured by the tester, and a subset of INL values called “control points” are written to on-chip memory. Each control point datum in the memory has a first component that represents the digital input code at which a specific INL error occurs, and a second component that represents the value of the actual INL error at that specific digital input code. Each control point is spaced from an adjacent control point to contain a predetermined range of actual analog output values. Circuitry for generating linearly varying deviation values between two adjacent control points is provided to drive calibration DAC, which has an analog output connected to be subtracted from the actual analog output value of the main DAC. A control circuit selects a pair of control points, and the deviation values of the calibration DAC is obtained by interpolating the second components of adjacent control points when the digital input of the main DAC falls between the first components of these two adjacent control points.
[0017] The invention is described with reference to the accompanying drawing, in which:
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024] And
[0025] In the various figures of the drawing, like reference numerals are used to denote like or similar parts.
[0026] According to a preferred embodiment of the invention, a calibration method is presented to calibrate a DAC, constructed according to a preferred embodiment of the invention. Briefly, the method is to digitally calibrate the DAC based on performance results obtained from a tester using a series of piecewise linear INL approximations, as shown in
[0027] The approach suggested does not actually modify the architecture of the circuit, but digitally calibrates its performance. This is achieved by subtracting a piece-wise linear approximation of the INL error from the output of the main DAC before outputting the signal. This requires an additional calibration DAC along with the main DAC.
[0028] One embodiment of calibration circuit architecture
[0029] The embodiment of the calibration circuit
[0030] Thus, as shown, the output of the main DAC
[0031] With reference now back to
[0032] As shown in
[0033] After the error values are coded into the memory, when a code value is applied to the input of the DAC, a determination is made as to between which two adjacent control points the code value lies, and a piecewise linear function is established between the two control points
[0034] Still more particularly, to determine the control points to use let C
[0035] Once the approximate value of the INL is obtained at the input code, a calibration DAC is used to convert this digital code to an analog value, which is then subtracted from the output of the main DAC
[0036] Thus, to operate the circuit
[0037] In the design of the circuit
[0038] By careful selection of the control points
[0039] It should be noted that as an option, either the difference in the control point values may be stored in the fuses, or, alternatively, the actual control point value may be stored. Storing the difference in control point values requires eight fuses for each control point (since the difference can range from 128 to 128 LSBs) amounting to a total of 72 fuses. This eliminates the need for a subtraction circuit. However, as can be seen from Equation 1 above, the actual value of each control point is required to evaluate the final expression. Thus, it may be desirable in some cases to store the actual control points rather than the difference.
[0040] In operation, to determine to identify which is the correct pair of control points between which the arbitrary input code lies, the first few MSBs of the input code and the control points may be compared. The arithmetic blocks
[0041] Thus, the function accomplished by the Func
[0042] In the example above, the INL can be shown to be ±64 LSBs. This is equivalent to nine-bit accuracy (±0.5 LSB at nine bits). Since the main DAC
[0043] It should be noted that it may be necessary to establish the full-scale range
[0044] Assuming also that the calibration DAC
[0045] This full-scale error of the calibration DAC
[0046] First, the tester
[0047] Second the tester
[0048] Finally, fuses are blown according to the readjusted trim coefficients. At this point, “all codes” INL may be evaluated to assure specification compliance. Thus, the calibration cycle includes two partial INL evaluations, at only control points, and one final evaluation, at all codes. The first partial INL evaluation gives information about the inaccuracies of the main DAC
[0049] To preserve the monotonicity of the circuit, it is important to ensure that the calibration step does not improve INL at the cost of DNL. Therefore, the DNL budget for calibration may be set at not more than ±0.25 LSBs at 16 bits in order to maintain monotonicity. If the range of the calibration DAC
[0050] Furthermore, if the main DAC
[0051] Monotonicity should not only be guaranteed by the architecture of the calibration DAC
[0052] Re-writing the Equation
[0053] It should be noted that since each segment is of length 8192, and since the last two LSBs of 16 bits have been ignored, the division is an arithmetic right shift by 13−2=11 bits. The equation is left aligned. The subscript XMSBs means that X most significant digits are used in the arithmetic.
[0054] Thus, the calibration DAC
[0055] Since the signal at the output of the calibration DAC
[0056] Once the control points have been established and the fuses blown, the tester is removed from the circuit, and the control functions are operated by a controller circuit
[0057] As mentioned, the specific implementation described above has eight piecewise linear segments requiring 9 control points, each control point has eight bits representing the Y-axis INL values. The x-axis locations of these control points may be fixed, as described above (although, of course, they do not necessarily have to be fixed) at DAC input codes, 0, 8192, 2×8192, 3×8192, . . . 7×8192, 8×8192. The flowchart implemented b the control circuit
[0058] Finally, it should be noted that the calibration DAC
[0059] The actual design of the circuit functions herein described can be constructed or realized through the use of software tools for integrated circuit design. Such software tools are often referred to as high-level description language (HDL) or Very High Speed Integrated Circuit Hardware Description Language (VHSIC HDL or VHDL) design tools. Such software tools can transform circuit definitions, specifications, and functions into integrated circuit hardware, without a need to specify any particular hardware implementation, layout, or design. Examples of such software tools are the design compiler available from Synopsys, Inc. of Mountain View, Calif., the Behavior to Structure Translator (BEST) synthesis tool developed by Unisys Corporation, the DesignBook Synthesis tool from Escalade, and the Synergy synthesis tool available from Cadence Design Systems, Inc. A VHDL code by which one embodiment of the DAC circuit of the invention can be constructed is set forth in Appendix A, preceding the claims herein.
[0060] Although the invention has been described and illustrated with a certain degree of particularity, it is understood that the present disclosure has been made only by way of example, and that numerous changes in the combination and arrangement of parts can be resorted to by those skilled in the art without departing from the spirit and scope of the invention, as hereinafter claimed.