Some 16 bit ADC's specifications has "No missing code: 14 bits min", like ADI's AD7656. I want to know where the 14 bits locate in the 16 bits. Does it mean the high 14 bits?

According to the definition of 'No missing code', the missed code can be one or more of the possible 2^n binary code. Assume a 16 bit ADC with 1 bit missing code, no matter where the missed code locate, i can safely use it as a 15 bit ADC, right?

And i want to know the relation of DNL and 'No missing code', i think if a 16 bit ADC specified with DNL = +/-4 LSB, i can assume the no missing code is 14 bit, right ?


Since the high bits are the only ones that can be contiguous over the entire input range, this specification must refer to the high bits.


No missing codes is about the error a conversion can make compared to other conversions around the same point.
These errors are small, so yes these errors are always about the LSB and therefor the 'No missing codes' about the MSB bits. DNL (Differential Non-Linearity) is about the maximum deviation between 2 adjacent steps, so basically the same as 'no missing codes'.
Another important factor is INL (Integral Non-Linearity), which is the error compared to a straight line of conversion. So if the error is 10bit on a certain point (due to offset / deviation of reference or adjustment) you will know all values will be within 10bit+/-4bit.

Depending of the purpose of your design you have to either look at DNL or INL.
If it is about absolute values you have to look at INL since it can not be adjusted. So the best the converter will do for you is 16bit minus INL (if offset and absolute error is calibrated). If it is only about difference you can mostly ignore INL and just look at DNL/'No missing codes'.

  • \$\begingroup\$ While a missing code will contribute to increasing the DNL, even with no missing codes you still have DNL, even in an ideal ADC. DNL is not "basically" equal to 'no missing codes' \$\endgroup\$ – placeholder Oct 27 '14 at 14:28
  • \$\begingroup\$ A DNL is an absolute count, so DNL is more precise and 1bit DNL will not be reflected in missing codes. But else I would be interested in what fundamental difference you see? \$\endgroup\$ – Requist Oct 27 '14 at 14:38
  • 1
    \$\begingroup\$ No, DNL is not an absolute count. With a ADC without missing codes, the DNL is usually a measure of differences in step size (Voltage wise) from one count value to another. Perhaps from varying thresholds or switch points. In data-sheets the DNL value is the average value over all values, i.e a 1 sigma estimate of it's probability density. DNL plots with voltage sweep are usually very complex but will always manifest the sawtooth residual error. \$\endgroup\$ – placeholder Oct 27 '14 at 14:43
  • \$\begingroup\$ With absolute count I meant the bitcount representing the voltage error. I would say it is not possible for a 16 bit converter with 16bit 'no missing codes' to have an DNL of 2 (or the voltage representing 2LSB)? What's new for me is the average error part,are you sure about this? Like the errors on the positive side would be able to compensate for the errors on the negative side?! \$\endgroup\$ – Requist Oct 27 '14 at 17:58
  • \$\begingroup\$ 110% sure, a DNL plot is very complex, the DNL specification in the data-sheet is a measure of the whole DNL plot expressed in one number. You can't expect the DNL to be constant for every output value. \$\endgroup\$ – placeholder Oct 27 '14 at 18:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.