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.

ADS124S06: Single shot configuration for strain gauge sampling

Part Number: ADS124S06
Other Parts Discussed in Thread: ADS1120, ADS1220

Dear Ti Team,

I'm trying to setup the ads124s06 ADC to sample a full bridge strain gauge but with not much success :\ 

I got the point where I can communicate with the device via SPI and read write configuration registers but I can't get a non-zero reading from the strain gauge. The wiring is the following (excluding the SPI pins, 3.3V system voltage):

AINCOM - NC

AIN 2-5 - NC

DRDY - NC

GPIO0 -3 - NC

REFOUT - NC

REFP1 and REFN1 - NC

DGND and AVSS and AVSS-SW and START/SYNC - ground

IOVDD and DVDD and RESET - positive supply

The strain gauge is connected to AIN0 (+input), AIN1 (-input), REFP0 and REFN0. The bridge is powered by connecting REFP0 to AVDD.

I'm using the REFP0 and REFN0 because REFN0 should be connected to the PSW to power town the strain gauge circuit. 

The following configuration is written to the ADC via SPI (the ones I'm not mentioning are left default):

PGA_EN: enabled (01)

GAIN: 32 (101)    [also tried with 128]

MODE: single shot (1)

DR: 2000 SPS (1100)

PSW: closed (1)

This the procedure I'm doing after powering up the device:

1, SPI setup

2, Read device ID and STATUS reg (status is OK)

3, Write configuration

4, Read configuration (validation)

5, START conversation

6, READ data (3 bytes)  ----> always returning 0

7, POWER DOWN

8, Wait 1sec

9, goto 5

So up to the point of sampling the strain gauge all seems to fine. My questions would be:

Is the wiring correct to sample a strain gauge?

Does the register config corresponds to the wiring and correct to sample a strain gauge?

If not would you be so nice to give some guidance how to wire/configure the device?

The idea would be to configure it for single shot mode and between each conversation put the device into the lowest power mode and turn of the strain gauge.

Thank you very much in advance!

All the best,

Viktor Varjas

  • Hi Viktor,

    It appears that you have things connected and setup correctly. How are you determining end of conversion? Are you monitoring DRDY and looking for a high to low transition on DRDY? You need to verify with a scope or logic analyzer that the START command is correct, and that DRDY makes a transition from high to low.

    To do initial troubleshooting you may try connecting REFN0 to ground so that the load cell is always powered and you use continuous conversion mode to make sure that the ADS124S06 is converting. I would also suggest to try using the RDATA command to see if your response is any different.

    Best regards,
    Bob B
  • Hi Bob,

    Thank you very much for the input! Monitoring the DRDY solved the problem. This is what I'm doing now (DR= 4000):

    1, WAKE UP

    2, START

    3 wait for DRDY interrupt

    4, RDATA

    5, POWERDOWN

    Data rate is set 4000.

    This way I'm observing 50% more consumption than with the ads1120 (which I'm currently using, without waiting for the DRDY). The issue is that this way there are 3 main stages I see on the energy profile: START (0.4 ms), the conversation when the bridge is powered up (0.7ms) and finally getting the data ready interrupt and powering down the device (0.5ms).

    Do you see any possibility to make it faster or more energy friendly? It would be great to reduce the on-time of the bridge as much as possible.

    Thank you very much in advance for the help! 

    All the best,

    Viktor

  • Actually, what I'm looking for is an option that the ads1120 offers when executing the POWER_DOWN command: "...the device enters power down mode after completing the current conversation.". This is a very useful feature as the listening and reacting to the DRDY pint can be eliminated, resulting a shorter conversation time and less power.
    As I see the ads124s06 terminates an ongoing conversation when the POWER_DOWN is requested. Is there any setting to overcome this problem?

    (I know that with the ads1120 I'm always reading a "past-sample", but that is totally fine for our application to be 1 sample behind)

    Thank you and all the best!
    Viktor
  • Hi Viktor,

    There are always some incremental changes that can save you some power. For example, I would swap your state order around for 4 and 5. When DRDY transitions from high to low POWERDOWN the ADS124S06 and then read out the data (or you can wait until the next start cycle and read out the data while you send the WAKEUP and START commands at the same time.) Also, make sure you turn off the internal reference and disable the reference buffers.

    There is also a programmable delay that you can play with to see if you can shorten the delay duration. The default setting is a delay of 14 tmod cycles after the START command is issued.

    As far as your on times for the 3 stages, this seems to be a bit long unless you are using a very slow SCLK. The SCLK can go to 10MHz which will burn more power, but the on time of the bridge will also burn a lot of power so you may consider a compromise by increasing the SCLK frequency for faster response.

    Best regards,
    Bob B
  • Hi Bob,

    thank you very much for the help and the inputs!

    I tried what you suggested and also other combos but there is no relevant improvement. The main source of power loss is the need to wait for the DRDY to put the ADC into deeps sleep. In my view this a huge disadvantage compared to the ads1120. This way the MCU has to wake up from deep sleep just to process the interrupt and put the ADC into deep sleep and this is a huge waste of power. Where the ads1120 does this automatically without additional interaction :(

    So it looks like that we'll stick with the ads1120, it is superior design regarding consumption minimization.

    Thank you again and all the best,

    Viktor

  • Hi Viktor,

    There are many systems and we attempt to develop ICs that fit the majority of the systems we are aware of that utilize a particular set of operational parameters.  The ADS1120 (and the 24-bit version the ADS1220 which are pin and operationally the same and you may want to consider for higher resolution) was designed for small size and low power operation.  It does not have anywhere near the feature set of the ADS124S06 in terms of reference, number of inputs, digital filtering and level of precision.  So different devices are developed for differing applications.  For the ADS124S06, the bridge application is not the primary use case for this device so some of that functionality may differ from the ADS1220 which was designed for some similar and yet different applications.  Also, the ADS12406 has a lot of different approaches to saving power, but was not designed with respect to autonomous operation where the micro is powered down while the ADC is in operation.  This can be a long discussion with respect to the differing power modes built within the ADS124S06, but it does have a lot to do with the internal reference, IDACs, startup timing, etc..  The fact remains that the ADS1220 will outperform the ADS124S06 with respect to power.

    So you do bring up an important difference in operation between the two devices and you would need to process an interrupt for opening the low-side switch with the POWERDOWN command.  As to the question about these differences, you may prefer powerdown after conversion completion while another may want immediate powerdown, so this is always a balancing act for design.  You might ask why not have both methods?  This may be a possibility for future developments, but currently we have severe limitations due to space and size of the digital area within the device.  There are often many sacrifices and tradeoffs made throughout development.  And there will always be some differences from device to device and which devices may be best suited for various applications.

    Best regards,

    Bob B

  • Hi Bob,

    thank you very much for the detailed info! The ads1220 actually looks nice, I will have a look! 

    I totally agree with you, I guess you can't include all features in all devices... it just would have been nice :) The main reason for ads1124 was the higher sampling rate to save power and the 24bit resolution. But the ads1220 might also just work fine! :)

    All the best,

    Viktor