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.

ADS1299: obtained value conversions in test mode and measuring millivolts are not exact at all.

Part Number: ADS1299

hi

I have tested twice ADS1299 with following configurations and results:

1 test

TEST WITH INTERNAL SIGNALS 1X -(VREFP-VREFN)/2400:-4.5/2400=-0.001875=-1.875mV=-1875uV

 CONFIG1=0x96;//250 SPS

CONFIG2=0xD3;//INTERNAL SIGNAL at DC

CONFIG3=0xEC;//INTERNAL REFERENCE BUFFER

CHnSET=0x05;//g=1, input test signal

MISC1=0x00;//SRB1 OPEN

Result:

3 BYTE (MSB first) data Channel 1 for G=1 0x255,0x237,0x218 converting to two-complement

C-2 =-4647 --> Conversion to volts: format Vref=4.5/2 *1/2^23=0.0000002682 V = 0.26822 uV ; -4647*0.26822=-1246uV.

Far from expected -1875uV.

Changing the gain to 2,4,6,8,12,24 the results obtained lack of linearity.

2º Test.

CH1 to CH8 sorted with common negative input connected to pin SRB1 connected to AVSS,AGND.

CH1 to CH8 connected to multiturn potentiometer.

By changing slowly input voltage from 4mV to 8 mV the values obtained are much smaller than 4000 or 8000 uV.

By turning pot. up and down the values also change  up and down  but the resolution is low.

Any hint about this incorrect behavior.

Thanks

Javier

  • Hi Javier,

    I'm having a little trouble following your code to voltage conversion, there may be an error in there. Please see this post for reference: e2e.ti.com/.../2856893
  • Hi Alex,

    Thanks for your quick reply.

    This is from ADS1299 datasheet: 

    Setting CHnSET[2:0] = 101 provides internally-generated test signals for use in sub-system verification at powerup.
    This functionality allows the device internal signal chain to be tested out.

    The configuration I used for the test was: CONFIG2:b 1101-0011 (calibration signal amplitude= -(VREFP-VREFN)/2400

    I used unipolar 5 Volts supply configuration. According to datasheet (p. 24) 

    Figure 25 shows a simplified block diagram of the ADS1299-x internal reference. The 4.5-V reference voltage is
    generated with respect to AVSS. When using the internal voltage reference, connect VREFN to AVSS.

    Therefore the test calibration amplitude for VREFP=4.5V and VREFN=0V, is -4.5/2400=-0.01875 volts.=-1,875 millivolts=-1875 microvolts

    As you say in your post for GAIN=1: 

    LSB = FSR / 2^n, where 'n' is the ADC resolution or LSB = (2 x VREF)/ Gain / 2^24. In this case FSR=4.5 VOLTS then LSB= 4.5/2^24=0.000000268 Volts=0.268 microvolts

    For this test value (-0,01875=-1875 microvolts) the binary 3 bytes in C2 would be:4.5-0.01875=4.48125 / 1LSB= dec 16708612,97 =hex FE-F4-04

    As i say in my post the values obtained in the test were (MSB FIRST) : 

    0xFF (255),0xED (237),0xDA (218) which correspond to -0.00124 Volts instead of expected -0.01875 Volts.

    Is it possible noise effects to disturb the internal test signal?

    Apart from this internally generated test signal I did tests using positive voltages with a multi turn potentiometer.

    Voltage Changes were well tracked but values (around 5 mV) were not with the expected resolution but much lower as in the internal signal test case.

    Thinking about measuring microvolts is not possible with such resolution.

    Apparently adquisition functions are working but at digital stage something is wrong.

    I looked at SPI interface but data seems coherent.

    Best regards

    Javier

  • Hi Javier,

    I see a couple small mistakes in your calculations....
    Therefore the test calibration amplitude for VREFP=4.5V and VREFN=0V, is -4.5/2400=-0.01875 volts.=-1,875 millivolts=-1875 microvolts
    -Should be =-0.001875 volts, just a decimal place error, much closer to -0.00124 Volts. However, still farther away than it should be.

    LSB = FSR / 2^n, where 'n' is the ADC resolution or LSB = (2 x VREF)/ Gain / 2^24. In this case FSR=4.5 VOLTS then LSB= 4.5/2^24=0.000000268 Volts=0.268 microvolts
    -The "2" in 2xVREF disappeared. LSB size should be 536.442nV, or 0.536442uV.

    Your operations look correct from there. Can you provide scope shots of DOUT to verify that the returned hex value is correct?
    Can you probe the reference voltage to ensure that it is at a steady 4.5V?

    Measuring microvolts is possible at this resolution; the LSB size is 536nV which means there's two "steps" per microvolt. However, as you pointed out, noise is present in the measurement. If you haven't seen it yet, take a look at the "Noise-Free Bits" column of table 1. At 250SPS I would expect 20.1 NFBs.