This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DAC1220: How to understand DAC1220E Drift specs

Part Number: DAC1220

Tool/software:

The drift specs take up several lines on the data sheet, and I don't understand how the terms are used to specify what the output voltage drift might be. screenshot below:

PARAMETER Conditions DAC1220E  
min typ max unit
ACCURACY          
Monotonicity   16     bits
Monotonicity 20 bit mode 20     bits
Linearity error        ±15(1)  ppm of FSR
Unipolar offset error and gain error(2)       ±60   ppm of FSR
Unipolar offset error drift(3)      1    ppm/°C
Bipolar zero offset error(2)  VOUT = VREF   ±15    ppm of FSR
Bipolar zero offset drift(3)      1    ppm/°C
Gain error(2)        ±150  ppm of FSR
Gain error drift(3) 2     2    ppm/°C

We are using this DAC in 20 bit mode and it is a drift sensitive application.

1. My first question is do the drift specs apply in 20-bit mode, even though they are only stated in 16-bit mode? 

2. If not, what are the drift specs in 20-bit mode?

3. How are the unipolar offset error drift, bipolar offset drift, and gain error drift meant to be used together to calculate total output drift?

  • Hugh,


    The drift specs are independent of the resolution of the DAC (either 16 bits or 20 bits). Offset and gain error and their drifts are given in units of ppm of FSR, which shouldn't be affected by the resolution. I'll give a couple examples which may help explain what I mean.

    Let's say the full scale range is 5V. This would be 2x the reference of 2.5V. The listed offset is ±60ppm of FSR, so if the offset is +10ppm of FSR, the offset would be 5V*10/1000000 = 50uV of offset. Then, the drift is 1ppm/°C typical. If the temperature rises from 25°C to 35°C. That's 10°C of change in temperature. With 1ppm/°C of drift, you might expect another 10ppm change in the offset, which would double the 50uV value to 100uV.

    Gain error is calculated in a similar way, but as a scale factor. The gain error is listed as ±150ppm of FSR maximum. Here, lets assume that the gain error is +30ppm. That means that you might expect a gain error that is equivalent to 1.000030. So if you're sending 2V from the output you might expect that the output would be 2.00006V (assuming that you've calibrated your reference to exactly 2.500000V). This error is multiplied, and you'd see the maximum absolute error at the maximum output signal. Note that a reference error and gain error are equivalent errors.

    The gain error drift is also multiplied. In this device, the typical gain error drift is 2ppm/°C. If the temperature rises from 25°C to 30°C again, then the drift would be 20ppm, and then the gain error would have another 1.000020 multiplied by the existing gain error.

    Offset is calculated as an additive error independent of signal value, while gain error is multiplicative, depending on the signal value.

    Let me know if this helps. I threw some of these numbers together quickly, so I might have made a mistake, but you can reply back if you have questions.


    Joseph Wu

  • I am not sure I understood all of that. The DS defines Offset Error as the difference between the expected and actual value when the output is zero. Does “output is zero” there mean zero volts with respect to analog ground, or in offset binary mode, does it refer to when the programmed output is zero, so that would correspond to half scale, that is, 2.5V above analog ground?

     Also where is the baseline for the gain error and gain error drift? Is that from half scale (output at V=Vref = ½ of Full scale), or at zero volts with respect to AGND?

    Does either of these depend on whether the DAC is in 2's complement mode or straight binary mode?

  • Hugh,


    I took another look at the DAC1220, and had forgotten that this device is specified a little differently than most of the other DACs that we have. I can see that's why you were expecting a different answer. The way that's it's described in the data sheet is a bit confusing, so I had to look into it a bit more.

    In the data sheet, we specify the device in unipolar or bipolar specifications. In unipolar mode, you would start at 0x00000 as your zero code, and go to 0xFFFFF as the full-scale code. Here, the output starts at basically 0V (with a zero code error associated with the inability of the output buffer to drive directly to 0V) and then up to +5V (presumably with the same error).

    With the DAC reference at 2.5V and the supply at 5V, practical measurements of the output of the DAC may not reach the 0V or hit 5V because the output buffer may not reach all the way to either rail. Typically, we would use a code close to either end to make the calculation for gain error and offset. I would guess that we'd use a DAC code of 0x01000 and 0xFEFFF to span the range.

    For unipolar mode, you would use an endpoint calculation for the gain error. Any drift you would see is calculated based on the changes in the endpoint measurement at different temperatures.

    In bipolar mode, the zero code of 0x00000 gives an output of 2.5V which is used as the offset point and start of the gain error. Looking at Figure 4 of the data sheet, the DAC does have a non-linearity error that seems to be largest at the central point. Because of that, the offset and gain error may have larger changes based on the starting point of the measurement.

    For offset in the bipolar mode, you would just use the 0x00000 code output of 2.5V, This would be offset against the error in the reference value.

    For the gain error in the bipolar mode, I'm not sure how it's done in our final test program, but I would guess that it takes the gain error from the 0x00000 code to the 0x7FFFF code and also the gain error from the 0x80000 to the 0x00000. Then take the largest value of the two and use that as the gain error.


    Joseph Wu