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.

ADS1226: Data calibration and conversion with 2 channels

Part Number: ADS1226

Hi,

The datasheet does not specify how to acquire two channels consecutively.

We need to convert calibrated data from 2 channels in high resolution mode as fast as possible.

So the sequence we need to achieve is to have a cycle with Calbration + AIN1 + AIN2.

We are unsure when the conversion does occur, so we do not know when the conversion starts after calibration and when swap the mux input.

What timing shall we follow for input mux to be sure to convert the right channel?

Currently we are planning to have a cycle with 4 read times:

- Mux is set to channel 1 when data is ready

- 1 read with 26 sclk to perform calibration with start maintained high

- 1 read with 25 sclk to get data from channel 1 with start set to 0 after data ready

- 1 read with 25 sclk to get data from channel 1 with start pulse

- Mux is set to channel 2 when data is ready

- 1 read with 25 sclk to get data from channel 2 with start pulse 

The reason we read data from channel 1 three times is that we do not know we exit the continuous conversion mode and we do not want to swap mux during a conversion.

Is there a chance to improve this?

Thank you.

  • Pierre,

    Below are some thoughts on this process:

    1.  The calibration process takes a maximum of 313ms to complete and each high resolution conversion takes about 63ms to complete (16 sps ).  The calibration will minimize gain, and offset error.  The frequency that you do this calibration depends on how stable the temperature of your environment is.  If the environment has good temperature stability you may only calibrate this once per hour or possibly once per day.  Of course, if power is cycled you will need to recalibrate.  For the scenario you mention the great majority of the time is from the calibration 313ms+ 4(16ms) = 377ms.  Thus, the extra reads in you case don't really impact the overall time much.

    2.  Below I comment on your sequence.  In short, I think your sequence is correct.  Remember, each time you clock out data it is from the previous conversion.  

    STEP 1 - 1 read with 26 sclk to perform calibration with start maintained high - this initiates the calibration.  The inputs are disconnected during calibration.  Any data read back is not meaningful.

    STEP 2 - 1 read with 25 sclk to get data from channel 1 with start set to 0 after data ready - the data from this read is not meaningful as device was calibrating during conversion and its inputs are disconnected during calibration.  Driving start low will take the device out of continuous conversion mode.

    STEP 3A - 1 read with 25 sclk to get data from channel 1 with start pulse - This will get the result from the conversion initiated at step 2.

    STEP 3B - Mux is set to channel 2 when data is ready - This mux change should happen with step 3A.  In other words, when data is ready the conversion initiated in step 2 has completed, and in step 3 you change the mux and read out the result from step 2 conversion.  Also, at this time the start pulse will initiate the conversion on channel 2.  So, make sure the mux switches before the start pulse is applied.

    - 1 read with 25 sclk to get data from channel 2 with start pulse - this will read back channel 2 conversion results.  

    Art