Author Topic: ads1251 non-linearity test. [SOLVED]  (Read 4293 times)

0 Members and 1 Guest are viewing this topic.

Offline MasterTTopic starter

  • Frequent Contributor
  • **
  • Posts: 785
  • Country: ca
ads1251 non-linearity test. [SOLVED]
« on: March 03, 2018, 04:22:19 pm »
I played with TI ads1251, and running simple linearity test I observed huge deviation. To double check that my primitive test set-up is correct, I install second ADC - mcp3550-60 in parallel, below is the result. As you can see, microchip (blue line) is doing pretty well, shows only some intentionally introduced  FS offset. But TI ads1251 (red line) is wildly non-linear. I verify my data  a few times with different sample rate, w/o any luck.
 Both adc have "-" input connected to reference voltage, interface is processed by arduino.
The question is, what possibly could be wrong with TI ADC?
« Last Edit: March 04, 2018, 03:16:15 am by MasterT »
 

Offline ogden

  • Super Contributor
  • ***
  • Posts: 3731
  • Country: lv
Re: ads1251 non-linearity test.
« Reply #1 on: March 03, 2018, 05:11:42 pm »
The question is, what possibly could be wrong with TI ADC?

Please tell what is shown in your graph. There's no legend of X & Y axis.
Most likely there's nothing wrong with TI ADC, in case it is genuine.

There are zillion ways to trash your ADC readings.

0) read datasheets, check "typical application circuit". make sure you know how particular ADC is supposed to be used.
1) don't connect *inputs* of two ADCs together.
2) implement input buffering or at least individual antialiasing RC filter for each ADC
3) reference buffering/filtering. some ADCs are fine with just capacitor, other needs low impedance opamp buffer
4) noiseless power supply and it's decoupling - so noise from digital parts of your circuit does not leak into analog part of ADC
« Last Edit: March 03, 2018, 05:53:01 pm by ogden »
 

Offline MasterTTopic starter

  • Frequent Contributor
  • **
  • Posts: 785
  • Country: ca
Re: ads1251 non-linearity test.
« Reply #2 on: March 03, 2018, 06:53:09 pm »
The question is, what possibly could be wrong with TI ADC?

Please tell what is shown in your graph. There's no legend of X & Y axis.
Most likely there's nothing wrong with TI ADC, in case it is genuine.

There are zillion ways to trash your ADC readings.

0) read datasheets, check "typical application circuit". make sure you know how particular ADC is supposed to be used.
1) don't connect *inputs* of two ADCs together.
2) implement input buffering or at least individual antialiasing RC filter for each ADC
3) reference buffering/filtering. some ADCs are fine with just capacitor, other needs low impedance opamp buffer
4) noiseless power supply and it's decoupling - so noise from digital parts of your circuit does not leak into analog part of ADC
I attached pdf, data on the picture in mV. 
 Part is genuine, bought from reputable US mo(user)nster, arrived in air-tight humidity controlled bag.
0). No argument, would re-read again.
1). Second ADC was brought in the circuit after non-linearity was discovered, so it couldn't be the cause.
2). It is connected to low impedance source, voltage stability verified with multi-meter 4 & 5 digits down to 10-th microvolts.
3). Reference is stable MCP1501 - 20mA current capacity.
4). Linear - double regulated PS, absolutely sure that power supply is very good.
  What left is digital to analog leakage, since mcp3550 has an internal oscillator  - no interference on analog side.  Ads1251 does require external clock, and I'm feeding it  out from arduino pwm pin, 50% duty 200k - 8 MHz, may be an issue there. What bother me , its a magnitude, adc outputs 10-bits !!! code, worse than arduino uno could using internal SAR.
I was hoping someone has a positive experience with ads1251 and could say "did a project, get 19-21 bits using same part".
 

Offline ogden

  • Super Contributor
  • ***
  • Posts: 3731
  • Country: lv
Re: ads1251 non-linearity test.
« Reply #3 on: March 03, 2018, 07:24:08 pm »
I attached pdf, data on the picture in mV. 

Oh, I missed that. We used to check ADC performance in ADC counts and PPM as well, not abstract mV w/o information about full-scale voltage. Please tell me how could I know - your 4040 mV is full-range or just 1/4 of whole range?

Quote
2). It is connected to low impedance source, voltage stability verified with multi-meter 4 & 5 digits down to 10-th microvolts.

Good to know. You shall be very confident here, otherwise results are trash.

Quote
3). Reference is stable MCP1501 - 20mA current capacity.

What components between reference and ADC? Any capacitor there as well? You must put low ESR capacitors close to every voltage input of ADC, including reference.

Quote
What left is digital to analog leakage, since mcp3550 has an internal oscillator  - no interference on analog side.  Ads1251 does require external clock, and I'm feeding it  out from arduino pwm pin, 50% duty 200k - 8 MHz, may be an issue there.

Yes, May be. Put 100 .. 330 ohm series resistors on all digital (clock/data) lines between ADC and MCU. Maybe before that try slower data transfers and see - it changes results or not.

Reading: http://www.analog.com/media/en/training-seminars/tutorials/MT-031.pdf

Quote
What bother me , its a magnitude, adc outputs 10-bits !!! code, worse than arduino uno could using internal SAR.

Something is wrong. Can't be. Double-check everything including software.

Quote
I was hoping someone has a positive experience with ads1251 and could say "did a project, get 19-21 bits using same part".

Rest assured that those chips can deliver specified performance. TI is not that kind of company that could fail with chips specs so miserably. In case you have option to consult TI field application engineer or just support - do it. Most likely there's something about your circuit like... dunno... ground loop or software error or something else. You just have to go through everything and double-check everything.
 

Offline ogden

  • Super Contributor
  • ***
  • Posts: 3731
  • Country: lv
Re: ads1251 non-linearity test.
« Reply #4 on: March 03, 2018, 07:35:57 pm »
To clear your doubts about performance of the chips and get some kind of sanity check, it is always good idea to buy original reference design board, in this case like: http://www.ti.com/tool/ads1232ref

Always remember to check - additional (comms) board is needed or not. Particular board have USB on-board, so most likely nothing else is needed to get it running.
« Last Edit: March 03, 2018, 07:39:02 pm by ogden »
 

Offline MasterTTopic starter

  • Frequent Contributor
  • **
  • Posts: 785
  • Country: ca
Re: ads1251 non-linearity test. [SOLVED]
« Reply #5 on: March 03, 2018, 11:01:50 pm »
1. We used to check ADC performance in ADC counts and PPM as well, not abstract mV w/o information about full-scale voltage. Please tell me how could I know - your 4040 mV is full-range or just 1/4 of whole range?

2. What components between reference and ADC? Any capacitor there as well? You must put low ESR capacitors close to every voltage input of ADC, including reference.

3. Put 100 .. 330 ohm series resistors on all digital (clock/data) lines between ADC and MCU. Maybe before that try slower data transfers and see - it changes results or not.

4. Something is wrong. Can't be. Double-check everything including software.

5. TI is not that kind of company that could fail with chips specs so miserably. In case you have option to consult TI field application engineer or just support - do it. Most likely there's something about your circuit like... dunno... ground loop or software error or something else. You just have to go through everything and double-check everything.

1. Scale is not relevant for linearity testing. I mention that "-" negative input connected to Ref. voltage, and MCP1501 is 4.096V.
2. 100pF capacitor to ground. DS for MCP1501 states, that IC doesn't require output decoupling capacitor at all.
3. Test results getting much worse with single 1k on clock line, see last column on second page in the attachment.
    It's not reflected on image, to prevent re-scaling.
4. It's not my first adc on test bench. Same software has no issue with ads1232, nau7802, mcp34xx/35xx/
5. I agree here, could be fault on my  part.  ADC is on a beadboard, and something can easily goes wrong.  At this point, I could only say, that ADC is not hobby friendly Any decent audio codec (wm8731, pcm1803 - tested in same breadboard condition) works much better, and I2S clock-data bus is no way less noisy.   

Updates.
Hell, unbelievable. Ringing on both inputs line 50-100 mV,  I just can't imagine that sigma-delta 24-bits adc could be so noisy. It's not some kind of RF 400 MHz sampling adc. So I put 47 OHm on both inputs, 0.1 uF ceramic in between, plus 0.1 uF on reference and non-linearity almost gone. At least down to 15- bits - enough for breadboard.
Thanks for advising, it was under number 2 in your list.  :-[
« Last Edit: March 04, 2018, 03:10:43 am by MasterT »
 

Offline ogden

  • Super Contributor
  • ***
  • Posts: 3731
  • Country: lv
Re: ads1251 non-linearity test. [SOLVED]
« Reply #6 on: March 04, 2018, 07:04:46 am »
3. Test results getting much worse with single 1k on clock line

Indeed! 1k is way too much. Even 330ohm can be danger territory for fast clocks, especially on breadboard. Try 100 ohms. Always check slew rate of digital signals using scope, especially if you slow them down with series resistors.

Quote
I just can't imagine that sigma-delta 24-bits adc could be so noisy.

No. They are not noisy. I just can't imagine you did run ADC w/o filter/antialiasing capacitor on it's input :D Every ADC, especially those w/o input buffer *requires* proper low impedance signal source, antialiasing RC filter on it's inputs. This is clearly written in ADC documentation as well.

You shall check how "noisy" is buffer-less SAR ADC input then :D

Glad you did find what's wrong.
« Last Edit: March 04, 2018, 07:25:00 am by ogden »
 

Offline MasterTTopic starter

  • Frequent Contributor
  • **
  • Posts: 785
  • Country: ca
Re: ads1251 non-linearity test. [SOLVED]
« Reply #7 on: March 04, 2018, 01:14:35 pm »
No. They are not noisy. I just can't imagine you did run ADC w/o filter/antialiasing capacitor on it's input :D Every ADC, especially those w/o input buffer *requires* proper low impedance signal source, antialiasing RC filter on it's inputs. This is clearly written in ADC documentation as well.

You shall check how "noisy" is buffer-less SAR ADC input then :D

Glad you did find what's wrong.
Right, sigma delta adc usually are not noisy. Because they have PGA, differential S/H - two capacitors anti-phase charging, or at least small 1-3 pF S/H capacitor.
It's not the case for ads1251. I was able to locate old Burr-Brown data sheet, that shows 20 pF in single ended architecture. BTW, new ads1250-/51/52/53  Data Sheets (downloadable from TI) doesn't include this diagram. Now I know why the picture was withdrawn. Because of poor design, we have 20 kHz ADC (audio range, not RF !, this is why I bought it in the first place) that demands robust RF buffering on its front end, same way as SAR.  And it 's not big deal to buffer common 1-2 MHZ sampling rate SAR, arduino DUE (ARM-7) for example have one,  but don't forget 24-bits. It's  make huge difference. DS for ads1251 shows OPA4350 as a recommended buffer. I don't think, that 38 MHz /0.2 usec settling time OPA gonna to be a good choice. I'd think, 200 MHz /20-30 nanosec at least, and it'st for audio range sigma-delta  :-//

N.B.
 I'm worry about Chinese hackers, that may get hands on manufacturing documentation of this adc. It would de-rail Chine capability of producing good quality ADC for a century. As they say, don't steal, and you are not going out of the business.
It's a pity, too late to give such advise to  Burr-Brown.
« Last Edit: March 04, 2018, 03:04:49 pm by MasterT »
 

Offline ogden

  • Super Contributor
  • ***
  • Posts: 3731
  • Country: lv
Re: ads1251 non-linearity test. [SOLVED]
« Reply #8 on: March 04, 2018, 05:38:21 pm »
don't forget 24-bits. It's  make huge difference.

Please tell why you think so - that ADC resolution have anything to do with buffer opamp GBW.

Quote
DS for ads1251 shows OPA4350 as a recommended buffer. I don't think, that 38 MHz /0.2 usec settling time OPA gonna to be a good choice. I'd think, 200 MHz /20-30 nanosec at least, and it'st for audio range sigma-delta  :-//

It's not GBW that's important in particular OPAMP choice but it's low noise and quite good PSRR specs. ADS1251 is 20kSps ADC. You don't need 38MHz, nor 200MHz GBW opamp to buffer 10KHz signal (per Nyquist).
 

Offline MasterTTopic starter

  • Frequent Contributor
  • **
  • Posts: 785
  • Country: ca
Re: ads1251 non-linearity test. [SOLVED]
« Reply #9 on: March 04, 2018, 06:39:11 pm »
It's not GBW that's important in particular OPAMP choice but it's low noise and quite good PSRR specs. ADS1251 is 20kSps ADC. You don't need 38MHz, nor 200MHz GBW opamp to buffer 10KHz signal (per Nyquist).
GBW is very important in this case. ADS1251 is switching 20 pF capacitor with 8 MHz clock, so  OPA must keep up with this aggressive switching-capacitive load and settle to within 0.0001 %  in 125 /2 = 62.5 nanoseconds. Plus OPA must be high linearity (0.000025 % ) & low offset (1 uV)   When you realize, that such OPA doesn't exist, than you understand that ether ADC isn't 24-bits or it's not 20 ksps.  You've been fooled. Bought a things that can't be interfaced.
 

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 14180
  • Country: de
Re: ads1251 non-linearity test. [SOLVED]
« Reply #10 on: March 04, 2018, 08:53:43 pm »
The OPA needs to be fast to get the required low driving impedance. However the requirements are not as strict as one might think: even if the OP shows ringing and needs more time for settling, this ringing is to a large part linear. So the ADC will see a small difference, but mainly in time and not in voltage.

The alternative way to provide the low impedance through the OPA is to have a passive RC filter to provide the low impedance at short times. In this case the amplifier only needs to drive the load (e.g. something like 100 Ohms and maybe a few 100 nF). This is still not easy and may limit the BW, more than the 20 kHz sampling rate.
 
The following users thanked this post: ogden

Offline dmills

  • Super Contributor
  • ***
  • Posts: 2093
  • Country: gb
Re: ads1251 non-linearity test. [SOLVED]
« Reply #11 on: March 04, 2018, 09:06:15 pm »
Charge transfer ADCs (Which most of the DS designs as well as most pipelined designs are), have a sampling capacitor switched across the input as a track and hold sort of affair.

Your sample rate may only be barely ultrasonic but the edge rate of those current pulses can easily put energy up into the hundreds of MHz region and low GHz is not out of the question, yes you should sweat return loss at RF even for an audio band ADC!

Common practise with audio parts is to swamp the input with several nF of fixed cap right at the ADC pins and drive that via a few tens of ohms from the buffer amp, this keeps the current loop small and gives the ringing a chance to decay before the next sample.

Modern ADCs are more RF then you might expect.

Regards, Dan.

Regards, Dan.
 

Offline ogden

  • Super Contributor
  • ***
  • Posts: 3731
  • Country: lv
Re: ads1251 non-linearity test. [SOLVED]
« Reply #12 on: March 05, 2018, 09:59:29 am »
GBW is very important in this case. ADS1251 is switching 20 pF capacitor with 8 MHz clock, so  OPA must keep up with this aggressive switching-capacitive load and settle to within 0.0001 %  in 125 /2 = 62.5 nanoseconds.

Right. That's why you rarely put "naked" opamp buffer before ADC but place RC filter behind it as well.

Common practise with audio parts is to swamp the input with several nF of fixed cap right at the ADC pins and drive that via a few tens of ohms from the buffer amp, this keeps the current loop small and gives the ringing a chance to decay before the next sample.

Why would you need to put 38MHz GBW opamp (which have it's quirks by iself, especially on breadboard) in front of 20ksps ADC if generic low noise 1MHz opamp+RC filter can give same results. That's the question.
« Last Edit: March 05, 2018, 10:12:12 am by ogden »
 

Offline dmills

  • Super Contributor
  • ***
  • Posts: 2093
  • Country: gb
Re: ads1251 non-linearity test. [SOLVED]
« Reply #13 on: March 05, 2018, 10:14:02 am »
1MHz opamp driving a sampling switch at the modulator frequency of 1.33MHz (Clk/6)?
The sampler will be drawing current pulses having components up into the tens of MHz.

Could work but would need the passive filter to have significant output cap and probably a rather low cutoff, a quicker opamp would not exactly hurt anything here, as it is the opamp has no loop gain right around where the sampler is doing its thing.

Regards, Dan.


 

Offline MasterTTopic starter

  • Frequent Contributor
  • **
  • Posts: 785
  • Country: ca
Re: ads1251 non-linearity test. [SOLVED]
« Reply #14 on: March 05, 2018, 01:53:38 pm »
Why would you need to put 38MHz GBW opamp (which have it's quirks by iself, especially on breadboard) in front of 20ksps ADC if generic low noise 1MHz opamp+RC filter can give same results. That's the question.
Have a look at this doc: http://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/14/4478.PA_2D00_001--Optimize_5F00_SAR_5F00_converter_5F00_design-REV-b.pdf
Though, they are lighting up  interface to 16-bits, and made a lot of assumptions,  it provides a perspective.
 

Offline ogden

  • Super Contributor
  • ***
  • Posts: 3731
  • Country: lv
Re: ads1251 non-linearity test. [SOLVED]
« Reply #15 on: March 05, 2018, 05:10:53 pm »
ADS1251 is switching 20 pF capacitor with 8 MHz clock

No. It is not. You shall familiarize yourself with delta-sigma ADC's such as ads1251, internals. They do not have sampling capacitor, they are always connected to signal source.

1MHz opamp driving a sampling switch at the modulator frequency of 1.33MHz (Clk/6)?

You shall check what actually is delta-sigma ADC, as well.

Why would you need to put 38MHz GBW opamp (which have it's quirks by iself, especially on breadboard) in front of 20ksps ADC if generic low noise 1MHz opamp+RC filter can give same results. That's the question.
Have a look at this doc: http://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/14/4478.PA_2D00_001--Optimize_5F00_SAR_5F00_converter_5F00_design-REV-b.pdf
Though, they are lighting up  interface to 16-bits, and made a lot of assumptions,  it provides a perspective.

 :palm:

ads1251 is not SAR adc.

Maxim delta-sigma appnote.


« Last Edit: March 05, 2018, 05:21:27 pm by ogden »
 

Offline dmills

  • Super Contributor
  • ***
  • Posts: 2093
  • Country: gb
Re: ads1251 non-linearity test. [SOLVED]
« Reply #16 on: March 05, 2018, 06:05:50 pm »
Thats only true of a single bit continuous  time SDM, conceptually simple, but usually NOT what people really build in high performance converters.

There are some continuous time SDM around that do the sampling at the output side of an analog integrator but they are a bit uncommon because the clock rate matters due to the fixed gm/C or similar integrator.

The vast majority of the sigma delta chips on the market have some form of sample and hold or track and hold at the input.

Regards, Dan.
 

Offline ogden

  • Super Contributor
  • ***
  • Posts: 3731
  • Country: lv
Re: ads1251 non-linearity test. [SOLVED]
« Reply #17 on: March 05, 2018, 08:01:20 pm »
The vast majority of the sigma delta chips on the market have some form of sample and hold or track and hold at the input.

Good to know. Any pointers to information about that?

[edit] Ok, ads1251 datasheet is one of such :D "In order to provide low system noise, common-mode rejection of 98dB, and excellent power-supply rejection, the design topology is based on a fully differential switched-capacitor architecture.". It does explain why they suggest to use OPA4350 when opamd directly drives ADC w/o any input capacitor in between. On the other hand LTC2400 typical application have optional 5k series resistor to decrease input current, thou it's not 20ksps ADC, but still delta-sigma.
« Last Edit: March 05, 2018, 08:26:09 pm by ogden »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf