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.

ADS124S08: Single Ended measurements revisited

Part Number: ADS124S08

I'm revisiting this ADC to do some tuning in a project. In the previous post I got some help, but using the suggested settings, It now didn't work. The hardware is the same: I have two PT100 4-wire RTD's on this ADC, but now I want to measure a NTC single ended (100k resistor + 100k NTC). After a lot of testing, it turns out that to successfully do Single Ended measurements on AIN8 (P) ANI7 (N), I need to set the registers in the state listed at the end of this post.

Trying to configure this, I had a really hard time understanding why I have to set the REFCON bits to "on, but powers down" for the the readings to work. It works, but I do not  understand why it needs to power down for this to work. I'm getting consistent, but somewhat surprising values when reading the NTC junction. Also - the settings will not activate unless I read back the configuration/register once. It's no problem to do that, but I'm puzzled that setting all the registers and restarting the chip does not produce the correct config unless I read it back first.

I'm reading the value into a 32-bit int and the value I get out of the DAC is around:

144188 when heated to approximately 200C (using hot air reflow)
438517 when heated to approximately 150C (using hot air reflow)
1221200 when heated to approximately 100C (using hot air reflow)
5392771 at air temp (23C)
8388607 when connected to 3V3
16776922 when connected to GND

The measurements are kind of logical, but I would expect that connecting directly to GND should produce a low value and not a high? I would really appreciate it if someone could help me understand why this is. Thanks!

Register settings for Single ended measurements:

Register 0x00 = 0x08
Register 0x01 = 0x00
Register 0x02 = 0x87
Register 0x03 = 0x08
Register 0x04 = 0x14
Register 0x05 = 0x09
Register 0x06 = 0x00
Register 0x07 = 0xff
Register 0x08 = 0x00
Register 0x09 = 0x01
Register 0x0a = 0x00
Register 0x0b = 0x00
Register 0x0c = 0x00
Register 0x0d = 0x00
Register 0x0e = 0x00
Register 0x0f = 0x40
Register 0x10 = 0x00
Register 0x11 = 0x00

Schematic also enclosed.

  • Hi Jens,

    Your register settings look correct, however I do not understand this statement:

    "I'm reading the value into a 32-bit int and the value I get out of the DAC is around:"

    Do you mean ADC instead of DAC?

    Are you correctly converting from 2's complement to decimal or binary to decimal? 

  • Hi Alexander,

    I sure meant ADC. I managed the conversion, but toggling from Ratiometric to Single Ended measurements seem impossible. I've even written code that brings the chip up from a full reset, but I cannot get proper measurements with the circuit I have now. I'll throw in the towel once again.

  • Hi Jens,

    A few extra things that may help:

    The status bits are enabled, meaning that you receive 32 bits from the device.  However, make sure that the status bytes are not included in the 24 bit result. 

    When making single-ended measurements, you must disable the reference buffers and PGA as it needs to be bypassed. 

    After the configurations have been written to the registers, the START command must be sent since START is tied low. This will begin conversions. 

    For single-ended measurements, you must use the internal reference. It can be always on or off in power-down mode. Note that power down takes place when the power down command is issued.