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.

ADS112C04: continuous conversion mode

Part Number: ADS112C04

Dear, TI support Team.

We are currently using AIN0-AVSS and AIN2-AVSS alternately in SINGLE-SHOT CONVERSION MODE.

In order to use the CONTINUOUS CONVERSION MODE of ADS112C04, only 1ch, AINP, and AINN can be set for the channel designation register.
Is it possible to set multiple channels in continuous conversion mode?
We want to alternately set AINP=AIN0 and AIN2 and set AINN=AVSS, similar to the SINGLE-SHOT CONVERSION MODE setting.

Best Regards,
Hiroaki Yuyama


  • Hi Hiroaki Yuyama,

    If you are asking if the ADS112C04 is capable of operating between two different input configurations in continuous conversion mode the answer is yes.  If you are asking if the ADC will convert the channels automatically between the input channels the answer is no.  The ADS112C04 does not have an auto-scan option.

    To operate in continuous conversion mode you will still need to configure the device between conversions.  Any ongoing conversion will restart when the mux configuration is changed.  The START/SYNC command will also restart the conversion.

    I have one possible example of how to accomplish this as pseudo-code below:

    1. Set the ADS112C04 to the desired register configuration(s) and include continuous conversion mode.
    2. Send the START/SYNC command to start ADC conversions.
    3. Configure the input mux to ADS112C04 to AINP=AIN0 AINN=AVSS (any ongoing conversion will restart)
    4. Wait for a transition of DRDY to go from high to low signaling end of conversion.
    5. Configure the input mux to ADS112C04 to AINP=AIN2 AINN=AVSS (any ongoing conversion will restart)
    6. Send the RDATA command to read the previous conversion data from AIN0.
    7. Wait for a transition of DRDY to go from high to low signaling end of conversion.
    8. Configure the input mux to ADS112C04 to AINP=AIN0 AINN=AVSS (any ongoing conversion will restart)
    9. Send the RDATA command to read the previous conversion data from AIN2.
    10. Loop back to step 4.

    The above steps are the fastest way of collecting data between two channels.  This is assuming that the I2C communication is faster than the output data rate of the ADC.  In other words the previous conversion data must be read from the ADC before the next conversion ends.  If you are using a fast data rate and a slower I2C clock, then you would need to swap the steps between the mux change and RDATA  to stay in sync otherwise it would be difficult to know which conversion data is being read back.

    Best regards,

    Bob B

  • HI Bob-san,

    Thank you for your Advice.
    I understand that ADS112C04 does not have auto-scan mode channel switching function.
    However, it may be difficult because we are currently reading data without reading DRDY.
    We will negotiate with software engineers and try continuous conversion mode.


    Best Regards,
    Hiroaki Yuyama

  • Hi Yuyama-san,

    If the DRDY pin cannot be used, there is also the DRDY status (bit 7) in the register Configuration Register 2 (0x02) that can be monitored for end of conversion.  When reading back the contents of this register if bit 7 is low (0) then no new conversion data are available.  If bit 7 is high (1) then a new conversion result is available to be read from the ADS112C04.

    If the DRDY pin can be used to trigger an interrupt, then monitoring the pin would be much faster than monitoring the DRDY status bit which would require the time to communicate to the device.  When monitoring the DRDY status bit or when using a timer to delay the read of conversion data, there is no significant advantage using continuous conversion mode.  In this case single-shot conversion mode may make it easier to keep track of which conversion data are being read back from the device.

    I have one possible example of how to accomplish this as pseudo-code below when using single-shot conversion mode:

    1. Set the ADS112C04 to the desired register configuration(s) and include single-shot conversion mode.
    2. Configure the input mux to ADS112C04 to AINP=AIN0 AINN=AVSS
    3. Send the START/SYNC command to start ADC conversions.
    4. Monitor the DRDY status bit to signal end of conversion or use a timer function for a predetermined delay. 
    5. Configure the input mux to ADS112C04 to AINP=AIN2 AINN=AVSS.
    6. Send the START/SYNC command to start ADC conversions.
    7. Send the RDATA command to read the previous conversion data from AIN0.
    8. Monitor the DRDY status bit to signal end of conversion or use a timer function for a predetermined delay. 
    9. Configure the input mux to ADS112C04 to AINP=AIN0 AINN=AVSS.
    10. Send the START/SYNC command to start ADC conversions.
    11. Send the RDATA command to read the previous conversion data from AIN2.
    12. Loop back to step 4.

    Best regards,

    Bob B

  • HI Bob-san,

    Thank you for your kind support.
    We will try a method to read data at high speed using the DRDY status (bit 7) of Configuration Register 2 (0x02) in ADS112C04 with a software engineer.
    Please let us know if there is anything we do not understand.

    Best Regards,
    Hiroaki Yuyama