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.

ADS1112 Read Issue

Other Parts Discussed in Thread: ADS1112

Hi.

I have a question about ADS1112.

In below case,

Channel 1 : Differential AIN0, AIN1

Channel 2 : Differential AIN2, AIN3

Sometimes when I want to read ch1 data, ch2 data is read.

and

Sometimes when I want to read ch2 data, ch1 data is read.

Configuration Register is right wrote.

Why this symptom is occurred and How can I fix this?

Please let me know ASAP.

Thanks.

  • Hi SS,

    If you read the result before the change in configuration has taken effect you will see the previous result. The current configuration must complete the conversion first before the new configuration will take place.

    I would suggest using single conversion mode.  You can use the ST/DRDY bit of the configuration register to know when the conversion is complete. Now read the result and then start the next conversion with the desired configuration changes.  Using this method you should never read incorrect results.

    Another option is to send the new configuration and wait for two conversion cycles to complete before reading the results.  Using a delay time of two conversion periods will account for any timing delay from the previous conversion completing from an unknown start time.

    Best regards,

    Bob B

  • Thanks Bob.

    I know send configuration before read. But this issue is occurred in continuous mode.

    I set INP bit in correct but same fault result.

    I understand your two options.

    First option could not use for me. I have to be use continuous mode.

    Second option is already tested. After sending configuration, first output discard and second output select.

    In second option case, upper issue is not occurred until now.

    I have a question about second option.

    This option is universally applicable??

    Thanks.

  • Hi SS,

    When you change the configuration in continuous mode, the ongoing conversion must finish first before the new configuration will take place.  Using the I2C interface it is very difficult to know for sure when a conversion starts and ends in continuous conversion mode.  Also when writing the configuration you must make sure that the ADS1112 sends an ACK and not a NACK.

    You have not said how you are determining when a conversion has completed and is ready to be read from the device.  Are you using a timed delay?  When changing the mux configuration you must assume that the conversion just started prior to the end of the communication for the new configuration.  This will leave the first conversion after the configuration the old data and must be discarded.  The second result should be valid.

    Some additional timing to consider is the start of any delay time before reading from the device must start after you have completed the configuration change.  Also when determining delay time before reading, you must also consider the oscillator worst case timing.  Depending on the selected data rate, you must not use the typical values but rather the slowest values (MIN) shown in the datasheet.  For example if you choose a data rate that is typical of 60 sps, you must use 45 sps for your delay timing.  The period for 45 sps is about 22.2ms.  After the MUX configuration change you must wait a minimum of 44.4 ms before you will get valid data.

    Best regards,

    Bob B