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.

ADS7128: Sampling with Averaging using CNVST and OSR_DONE

Part Number: ADS7128

Tool/software:

I have a few questions that are not clear to me after reading the datasheet - I do not have hardware yet to test any of this:

I would like to use the device without SCL stretching and use the CNVST bit to start the conversion manually and then poll the OSR_DONE bit and read the RECENT_CHx registers for the result, as described in section 8.3.6. I would like to average using 4 samples (OSR = 2). For now, I only need one analog channel, so I do not need the sequencer, therefore I want to use the manual mode (CONV_MODE = 0). However, per the datasheet, CLK_DIV is only used with autonomous mode (CONV_MODE = 1). So I think this might be wrong, because I assume that CLK_DIV must be used for the sampling frequency as soon as OSR is non-zero.

As a workaround, I could enable the autonomous mode and configure a single bit in AUTO_SEQ_CH_SEL. But then I don't know when the conversion starts and stops. I am assuming that starting is done by setting SEQ_START (and not with CNVST), but how do I know when the RECENT_CHx register will contain the value? Maybe OSR_DONE can still be polled when using only one channel, but how can this work for multiple channels? See next question.

In autonomous mode and sequencer sampling multiple channels, will the OSR_DONE bit indicate completion every time a sample is available, or only when a full sequence for all applicable channels was completed? If the indication is per channel, how do I know which RECENT_CHx register was updated?

  • Hi Helmut,

    I would not rely on the OSR_DONE bit to indicate if the conversion is done. We have seen instances where it does not go high to indicate the conversion is done. I would advise to wait depending on the number of samples being averaged and the oscillator period settings.

    You bring up a good point. Let me check internally with more information on how the CLK_DIV and OSC_SEL settings affect the conversion cycle when the first conversion is started with the CNVST bit in manual mode.

    Regards,
    Joel