Maker Pro
Maker Pro

24 bit ADC testing

S

sagar

Jan 1, 1970
0
Hi,
I need to check the performance of a 24 bit analog to digital
converter.
as in its main properties such as Integral Non Linearity,Differential
Non Linearity etc without using an expensive setup.

With
regards,
Sagar
 
J

John Larkin

Jan 1, 1970
0
Hi,
I need to check the performance of a 24 bit analog to digital
converter.
as in its main properties such as Integral Non Linearity,Differential
Non Linearity etc without using an expensive setup.

With
regards,
Sagar

Sounds impossible to me.

John
 
C

CFoley1064

Jan 1, 1970
0
Subject: 24 bit ADC testing
From: [email protected] (sagar)
Date: 7/14/2004 8:48 AM Central Daylight Time
Message-id: <[email protected]>

Hi,
I need to check the performance of a 24 bit analog to digital
converter.
as in its main properties such as Integral Non Linearity,Differential
Non Linearity etc without using an expensive setup.

With
regards,

O.K. What do you consider to be a reasonable amount to spend?

Good luck
Chris
 
B

Bob Masta

Jan 1, 1970
0
Hi,
I need to check the performance of a 24 bit analog to digital
converter.
as in its main properties such as Integral Non Linearity,Differential
Non Linearity etc without using an expensive setup.

With
regards,
Sagar

If the converter is part of a circuit that can send
data to a computer, you might be able to do this
by driving it with a very pure sine wave, taking
a large FFT (to get a low noise floor) and then
inferring the specs from the distortion spectrum.
I don't know off-hand how to convert a spectrum
into a discrete spec, but you can certainly use
this setup to grade parts or otherwise compare
units.

Note that at this high bit-resolution, the surrounding
circuits, power supply, clocks, and what you ate for
breakfast are probably going to affect the results.

Good luck with this, and please write back and let
us know how things work out!


Bob Masta
dqatechATdaqartaDOTcom

D A Q A R T A
Data AcQuisition And Real-Time Analysis
www.daqarta.com
 
C

colin

Jan 1, 1970
0
Bob Masta said:
If the converter is part of a circuit that can send
data to a computer, you might be able to do this
by driving it with a very pure sine wave, taking
a large FFT (to get a low noise floor) and then
inferring the specs from the distortion spectrum.
I don't know off-hand how to convert a spectrum
into a discrete spec, but you can certainly use
this setup to grade parts or otherwise compare
units.

Note that at this high bit-resolution, the surrounding
circuits, power supply, clocks, and what you ate for
breakfast are probably going to affect the results.

Good luck with this, and please write back and let
us know how things work out!


Bob Masta
dqatechATdaqartaDOTcom

D A Q A R T A
Data AcQuisition And Real-Time Analysis
www.daqarta.com


depends how predictable the driving signal is, id probably try and use a
ramp generator as id probably be more sure of being able to design and build
a linear ramp generator easier than i wld a precise sinewave genarator.

it wld just depend on how good a current source u cld make and how low
curent leakage into the buffer, and of course how linear capacitor is. duno
if theres anything else ive mised.
but yes id be watch what youd had for breakfast too as 1 part in 2^24 is
rather small. (wonders how many bits you would need to theoreticaly detect a
single electrons)

Colin =^.^=
 
F

Fred Bartoli

Jan 1, 1970
0
colin said:
depends how predictable the driving signal is, id probably try and use a
ramp generator as id probably be more sure of being able to design and build
a linear ramp generator easier than i wld a precise sinewave genarator.

it wld just depend on how good a current source u cld make and how low
curent leakage into the buffer, and of course how linear capacitor is. duno
if theres anything else ive mised.

Yep, don't forget that those 24 bits converters are slow : you've missed DA
which will be a very big factor at 24 bits accuracy : even a _low_ 0.001% DA
makes for 16.6 bits accuracy.

Thanks,
Fred.
 
J

John Larkin

Jan 1, 1970
0
depends how predictable the driving signal is, id probably try and use a
ramp generator as id probably be more sure of being able to design and build
a linear ramp generator easier than i wld a precise sinewave genarator.

It would be hard to build a ramp generator that's linear to 14 bits,
much less 24. Capacitors have dielectric absorption, c-vs-v effects,
and temperature drifts, and every semiconductor you use is full of
nonlinear capacitances. At 24 bits, every solder joint on the board is
a thermocouple, and every drift of air flails everything.

A ramp could give you some useful data on dnl, but delta-sigma ADCs
have inherently good dnl. Integral linearity is the test killer.

You can do some fun things by flipping over resistive voltage
dividers.

John
 
C

colin

Jan 1, 1970
0
John Larkin said:
It would be hard to build a ramp generator that's linear to 14 bits,
much less 24. Capacitors have dielectric absorption, c-vs-v effects,
and temperature drifts, and every semiconductor you use is full of
nonlinear capacitances. At 24 bits, every solder joint on the board is
a thermocouple, and every drift of air flails everything.

A ramp could give you some useful data on dnl, but delta-sigma ADCs
have inherently good dnl. Integral linearity is the test killer.

You can do some fun things by flipping over resistive voltage
dividers.

John

sure there is limits like you mention, but wouldnt the same errors aply just
as much to a sinewave generator too if not more so ?

to push the limits a bit further you could i gues use vaccum dielectric
capacitors to get best linearity and you could bootstrap the transistors to
reduce their voltage dependant capacitance efect, thermal drift would be not
be too much of a problem over one cycle, and over many cycles could be seen
in the output as drift rather than non linearity, or you could even ovenise
it. im sure something else would then get in the way, but theres usualy a
way of getting round them otherwise no one would of built an adc that could
be acurate to 24 bits in the first place.


Colin =^.^=
 
B

Bob Masta

Jan 1, 1970
0
sure there is limits like you mention, but wouldnt the same errors aply just
as much to a sinewave generator too if not more so ?

to push the limits a bit further you could i gues use vaccum dielectric
capacitors to get best linearity and you could bootstrap the transistors to
reduce their voltage dependant capacitance efect, thermal drift would be not
be too much of a problem over one cycle, and over many cycles could be seen
in the output as drift rather than non linearity, or you could even ovenise
it. im sure something else would then get in the way, but theres usualy a
way of getting round them otherwise no one would of built an adc that could
be acurate to 24 bits in the first place.

The virtue of a sinewave is that you can generate a very good one
quite easily using a Wien bridge, or a state-variable approach.
Then you can apply as many stages of filtering as needed to get
the desired purity. The last stage(s) could be purely passive to
remove any residual active distortion products. There is a temptation
to do everything in as few stages as possible with really high-Q
stages, but this can backfire since any component drift will
detune things so your oscialltor and filter stages are no longer
at the same frequency... and once you are off-peak of the
high-Q filter, you don't have much of a filter any more.

For a good starting sine wave, consider a 16-bit sound card
and a signal generator program like my (free) DaqGen.


Bob Masta
dqatechATdaqartaDOTcom

D A Q A R T A
Data AcQuisition And Real-Time Analysis
www.daqarta.com
 
J

John Larkin

Jan 1, 1970
0
sure there is limits like you mention, but wouldnt the same errors aply just
as much to a sinewave generator too if not more so ?

to push the limits a bit further you could i gues use vaccum dielectric
capacitors to get best linearity and you could bootstrap the transistors to
reduce their voltage dependant capacitance efect, thermal drift would be not
be too much of a problem over one cycle, and over many cycles could be seen
in the output as drift rather than non linearity, or you could even ovenise
it. im sure something else would then get in the way, but theres usualy a
way of getting round them otherwise no one would of built an adc that could
be acurate to 24 bits in the first place.


Colin =^.^=

The OP specified "without using an expensive setup." The people who
design and test 24-bit ADCs don't have that restriction.

Actually, I don't think m/any of the 24-bit ADCs actually deliver even
18 bits of integral linearity, so you could test one with a good
Kelvin-Varley voltage divider and/or a good system-level DVM.

John
 
C

colin

Jan 1, 1970
0
Bob Masta said:
On Sat, 17 Jul 2004 20:05:42 GMT, "colin"


The virtue of a sinewave is that you can generate a very good one
quite easily using a Wien bridge, or a state-variable approach.
Then you can apply as many stages of filtering as needed to get
the desired purity. The last stage(s) could be purely passive to
remove any residual active distortion products. There is a temptation
to do everything in as few stages as possible with really high-Q
stages, but this can backfire since any component drift will
detune things so your oscialltor and filter stages are no longer
at the same frequency... and once you are off-peak of the
high-Q filter, you don't have much of a filter any more.

For a good starting sine wave, consider a 16-bit sound card
and a signal generator program like my (free) DaqGen.

yes i did think of using several stages of filter to clean up the sinewave
as you sugest, but as was pointed most dielectrics cuase capacitors to
change value with voltage, not to forget nonlinearity of ferrits in
inductors etc, so these filters wld tend to introduce their own non linear
errors wich would be hard to calculate or compensate for, you could use
pregresivly beter components but ultimatly the quality of the last stage
would have the most effect.

a ramp generator is pretty simple and hence i thought simpler to work out
the overal error and even compensate for, also the results are a doddle to
interpret.

i just worked out 24 bits has just under 60nv per step for 1 volt range., or
0.000006%

wich ever signal you generate you could always set the amplitude to cover
the botom half of the range then the middle bit then the top bit, then any
aparent change in the signal other than the offset is purly down to error in
the ADC and any such error should show up. adding an offset shld be posible
without introducing any error at all, infact the adc probably can do it

Colin =^.^=
 
B

Bob Masta

Jan 1, 1970
0
On Sun, 18 Jul 2004 19:36:47 GMT, "colin"

wich ever signal you generate you could always set the amplitude to cover
the botom half of the range then the middle bit then the top bit, then any
aparent change in the signal other than the offset is purly down to error in
the ADC and any such error should show up. adding an offset shld be posible
without introducing any error at all, infact the adc probably can do it

This seems like an excellent idea! The only problem would
be with ADCs that don't respond down to DC (which I think
includes sigma-delta types) or overall systems like sound cards
that always block DC at the inputs. You may not even need to
measure the DC level all that well if you are mostly looking
for small discontinuities. However, this method may not show
up small nonlinearities. Imagine a response that has a slight
curve instead of being a straight line. In any small portion of it,
it will look pretty straight to the limits you can resolve. It's
only over a long range that you notice how far you have
deviated from a straight line. To do this piecewise with a DC
bias, you would need to know the DC level to the same accuracy
you are trying to resolve. That might be harder than creating
a straight ramp in the first place!



Bob Masta
dqatechATdaqartaDOTcom

D A Q A R T A
Data AcQuisition And Real-Time Analysis
www.daqarta.com
 
C

colin

Jan 1, 1970
0
Bob Masta said:
On Sun, 18 Jul 2004 19:36:47 GMT, "colin"

<snip>

This seems like an excellent idea! The only problem would
be with ADCs that don't respond down to DC (which I think
includes sigma-delta types) or overall systems like sound cards
that always block DC at the inputs. You may not even need to
measure the DC level all that well if you are mostly looking
for small discontinuities. However, this method may not show
up small nonlinearities. Imagine a response that has a slight
curve instead of being a straight line. In any small portion of it,
it will look pretty straight to the limits you can resolve. It's
only over a long range that you notice how far you have
deviated from a straight line. To do this piecewise with a DC
bias, you would need to know the DC level to the same accuracy
you are trying to resolve. That might be harder than creating
a straight ramp in the first place!

yes i asumed it wld manage dc but as you say sound cards etc dont, you could
however super impose it ontop of a sinewave at the lowest frequency, in fact
using this method you just need two signals in fact this is how they measure
intermodulation distortion in audio amplifiers anyway, you dont need
particularly pure signals either as the errors introduced will be diferent
to the distortion products from the signals. just need to do a fourier
anaylsis and look for the signals that are a sum or diference of the two you
start with and ignore any that are just harmonics of the two signals.

ie if there is a slight curve as you say then when the large slow signal is
at its lowest and say the curve is steepest, then the the super imposed
smaler signal will apear larger, than when at the other end of the curve and
hence efectivly modulate it to some degree, and so this will show up as
intermodulation frequencies just as in a frequency mixer where you end up
with products such as fsig1xfsig2, fsig1-fsig2 etc ..

the amplitude of these frequencies wil tell you purly the distortion of the
adc. im sure you can easily find the maths to do this somehere.

i beleive this is just the cheap but acurate setup that was wanted. :)

Colin =^.^=
 
S

sagar

Jan 1, 1970
0
The OP specified "without using an expensive setup." The people who
design and test 24-bit ADCs don't have that restriction.

Actually, I don't think m/any of the 24-bit ADCs actually deliver even
18 bits of integral linearity, so you could test one with a good
Kelvin-Varley voltage divider and/or a good system-level DVM.

John

Thanks for the suggestions.
I used a simple voltage divider and a 5 1/2 digit Tek
multimeter
giving me a resolution of 100uV.However,the divider arrangement was
not
able to provide good resolution of voltage .

my problem is that the codes are not at all steady
showing
a continues flicker of the last 10 bits.The whole testing was
dependent
on the stability of the reference source and the analog and the
digital
supplies.But i am unable to get the high resolution .I would need help
on improving the resolution.

A dynamic test set-up employing either sine wave or ramp
would require too much time ,probably mathematical manipulations and
money.No time
for that.

With
regards
Sagar
 
J

John Larkin

Jan 1, 1970
0
Thanks for the suggestions.
I used a simple voltage divider and a 5 1/2 digit Tek
multimeter
giving me a resolution of 100uV.However,the divider arrangement was
not
able to provide good resolution of voltage .

my problem is that the codes are not at all steady
showing
a continues flicker of the last 10 bits.The whole testing was
dependent
on the stability of the reference source and the analog and the
digital
supplies.But i am unable to get the high resolution .I would need help
on improving the resolution.

A dynamic test set-up employing either sine wave or ramp
would require too much time ,probably mathematical manipulations and
money.No time
for that.

With
regards
Sagar


Try this:

get a thinfilm 8 or 10-resistor network of nominally equal resistors.
Thus will be a few bucks from Digikey maybe, or get a sample from
somebody. Wire all 10 resistors in series and bring out the taps to a
rotary switch. Apply the same reference voltage to the string as you
do to the ADC.

Fire it up and digitize all voltages at all taps, and note the
readings. Now flip the divider over and make a second set of
measurements.

If tap 3 were 0.300001 of the supply, flipped over it should be
0.699999. How well the ADC confirms this is a good indication of
integral linearity.

Of course connection resistances must be small, the flipping has to be
done carefully, and everything has to be seriously isothermal (to
avoid thermocouple effects) and temp stable. Not easy, but I'd guess
that 1 PPM is achievable with a little care.


John
 
Top