I'm working on a problem where a batch of products using the AD9883 are showing a wider than expected difference in conversion results, across different cards. The first question is how to calculate the maximum variation between parts based on the datasheet specs. Then I can decide if this difference is normal, and how it should be reduced.

The specific part we use is AD9883ABST110 or 140. The 110, 140 refers to the max conversion rate but the 140 is also slighlty less accurate, so the specs for that one, across the full temp range, will be used.

The DC accuracy has "differential nonlinearity" of +1.45/-1.0 LSB and "integral nonlinearity" of +2.3/-2.3 LSB.

The analog input also has "input full-scale matching" of 8% full-scale. The data sheet isn't specific but I expect this is matching between the three channels.

For a specific input level (such as a video grayscale test pattern, using the step which is about 80% of max brightness), and where the offset in each channel of the 9883 has been adjusted so the conversion output at a black level input is the same, what is the range of conversion values for that 80% level that could be seen from many different AD9883 parts?

DNL: each part could have between +1.45 or -1.0 LSB variance.

INL: each part could have between +2.3 or -2.3 LSB variance

Input full scale matching: each channel could have +8% to -8% variance. (The gain of each channel can be adjusted individually but our driver sets them all to the same value, so this particular difference could be minimized, but is not.)

In the unlikely worst case, all these are cumulative and add up in opposite directions on two parts. So a channel in one part might have +1.45 + 2.3 +8%. At an input level of 80% (output code 204), this would be 224. On a channel in the other opposite worst-case part, it would be -1 -2.3 -8% and with input of 80%, the output would be 185.

If we adjusted the gain per channel to minimize the full scale matching error, the difference would be +1.45 +2.3 on one part, and -1.0 -2.3 on the other part or 207 vs 200.

Is that calculation of differences correct?

Andy

Hi , this is an old part no longer advised for new designs.

DNL should be included in this calculation since its effect is integrated into the INL numbers. You are also underestimating the INL effect by a factor of 2.

Assuming offset is cancelled on each channel such that blank is at code 0, but gain is not cancelled, and the input level is 80% of the ideal input range: -

(1) The ideal output code is (80% of 256) - 1 = 203.8

Now include the effect of the gain errors: -

(1) With +8% gain error on the channel, this would give (80% of (256 + 8%)) - 1 = 220.2

(2) With -8% gain error on the channel, this would give (80% of (256 - 8%)) - 1 = 187.4

Figure out the worst-case adjustments due to the effect of INL errors: -

(1) If the INL is -2.3LSBs at blank level and +2.3LSBs at 80% level, the code output will be +4.6LSBs from ideal

(2) If the INL is +2.3LSBs at blank level and -2.3LSBs at 80% level, the code output will be -4.6LSBs from ideal

Add together the non-idealities in a worst-case manner: -

(1) Channel has +8% gain error and +4.6LSBs INL error => output code is 220.2 + 4.6 = 224.8 ... round to 225.

(2) Channel has -8% gain error and -4.6LSBs INL error => output code is 187.4 - 4.6 = 182.8 ... round to 183.

So with the gain error, the code range should be between 183 and 225. Without the gain error, the code should be within 4.6LSBs of 203.8, or roughly 199 to 208.