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.

ADS1255 SYSCAL Issue

Other Parts Discussed in Thread: ADS1255

Hi @all,

I'm using the ADS1255 in several projects and in nearly all aspects it's performing as expected. But now I ran into an issue, I can't explain:

When I do a SYSCAL, everything is ok, as long as the PGA is in the range of 1..8. With PGA=16 the adc-reading differs a lot (before <> after Calibration).

When I read-back the OSC- and FSC-registers, their values are more or less constant (+-1 LSB), but with PGA=16 the FSC-readings are showing HUGE differences (about +-50LSBs) .

This behaviour is independent of Samplerate and Input-Voltage.

Conditions are:

5V AVdd, Input-Diff-Voltage about +-100mV, Common-Mode-Voltage 2..2.5V, Buffer=ON, Ref=2.0..2.5V

Any Ideas?

 

 

  • Hi Martin,

    We have looked into this (specifically system calibration) in the past and determined with this part, depending on the sample rate and PGA setting, you may see as much as 50 LSB difference from calibration to calibration. At the higher data rates, the reading is prone to change a little from cal reading to reading. When the data rate is slowed, the calibration process uses more iterations to help keep a precise value. Additionally, higher gain will be more prone to variation from calibration to calibration. Without getting into too many gritty design details, a calibration consists of a comparison of internal capacitors. When it is performed with the ADC in a higher gain, more internal capacitors need to be cycled in and out of comparator two at a time. The result of this procedure causes variation from calibration to calibration. At lower gains, there are fewer capacitors that need to be cycled in leading to fewer variation. What we have recommended to customers in the past to do if this is a problem is take about 5 to 10 readings and average the result. Then, write it back into the calibration register. You will notice using this method that the FSC-register readings from average to average will be on the order of 15 to 20 codes.

    Regards,

    Tony Calabria

  • Hi Tony,

    thanks for your fast response.

    In the meantime I checked the behaviour for SELFCAL -- same results.

    I suppose, it's really the internal calibration-unit...

    But what I really wonder is the really HUGE difference between PGA-Setting 1 to 8, and PGA = 16.

    I understand, that thinks are going worse with increased Gain, but that's a real Jump !

    Your recommendation of SW-averaging is not a valid option for me, I think, I will stay at lower gains, loosing half a bit of resolution.

    Regards

    Martin

  • Hi Martin,

    As the gain is increased, more capacitors need to be cycled through the comparator during a calibration procedure. It is not until a PGA setting of 8 (I think) that more than two capacitors need to be compared requiring a 'cycling process.' At PGA=8, three or four caps (I am not sure off the top of my head) are compared two at a time. When the PGA is set to 16 or higher, eight caps being compared. I would expect a little variation from cal to cal in a PGA of 8 and more at the higher gains. When I took a look at this in the lab, I was a little surprised when I looked at the part in a gain of 8 and saw that the calibrations looking very stable from cal to cal (maybe 1 code variation).

    Regards,

    Tony Calabria

  • Hi Tony,

    yes, it's true, PGA=1..8 are much more stable than the higher PGA's, but that's dependent on the samplerate, too:

    With Samplerate >=100SPS PGA 8 is showing the same "instability" as higher Gains and even PGA=4 shows this effect with samplerates>=1KSPS.

    Now I'm in a real dilemma:

    Higher PGA's are giving me a better resolution but for the cost of DC-accuracy.

    Regards

    Martin

  • Hi Martin,

    The higher data rates will use less iterations for each calibration. With fewer iterations to be averaged, the repeatability of a FSC reading from calibration to calibration is going to vary. As an example, you can think of it as taking conversions of a noise floor. If you are taking a conversion result without any averaging, your readings may bounce around as your reading back different noise levels or noise 'spikes.' As you go to take a conversion of multiple readings averaged, your repeatability will be much better as those 'spikes' will be attenuated down.

    That being said, you can see on Table 18 that depending on your data rate setting, the IDEAL FSC value will change. Therefore, you will not be able to run a calibration at, lets say, 2.5SPS and use that FSC result for a data rate of 30kSPS. However, you will notice that there are groups of 3-5 separate data rates that share the same ideal FSC setting. This may allow you to take advantage of the internal iteration techniques at a lower data rate and use it for a faster setting. For example, data rates 3.75kSPS to 30kSPS all share the default IDEAL FSC value of 0x44AC08. You may be able to run a calibration at 3.75kSPS and use the FSC result for 30kSPS since they share a like ideal FSC setting. This way, you will gain the benefit of the 8 iterations that take place in the calibration routine for a data rate of 3.75kSPS and use it for the 30kSPS data rate. I have not necessarily used this method myself in the past but it looks like it will work. I quickly tried it here on the eval board in the lab and did not see any immediate problems with doing it.

    Regards,

    Tony Calabria

  • Hi Tony,

    interesting point!

    So, a valid rule for me (maximum accuracy) could be:

    -- never use PGA>=16

    -- For calibration change samplerate to the lowest possible in the same "FSC-Group", then switch to requested samplerate

    I'll give it a try next week, because right now my "Softworker" is in holiday.

    Regards

    Martin