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.

Reading probleme with ADS1281

Other Parts Discussed in Thread: ADS1281

HI,

I use ads1281 for reading 4 different input.

It is configure like that :

Pulse sync mode,4000SPS,Linear phase and Sinc + LPF filtre block

I use the read by command
I turn the first channel on and then I wait for the signal to be established and then I run a command to read the value then I disables the channel. I do the same for the 3 other channel except for the fourth where I expected to have to read the first channel again to disable.

I do that about 80 times by second but the probleme is the ADS returns  the same value as the fourth channel to any other channel

In this picture I wait a lot of time between each reading and its work but in the case were I read as fast as I can i do all the reading in 6 ms.

Do you have any idea wy y have this probleme ?
I use the same schema as the evaluation board .

Thanks in advance.


Rémi Boucher

  • Hi Remi,

    Do you monitor and wait for /DRDY to go low before reading the data?

    In SINC + LPF mode, the ADS1281's digital filter requires 62 conversion cycles to settle! At a data rate of 4kSPS, this means the first conversion is settled after 15.5 ms.

    You must be externally muxing the input channel. I think what is happening is you're switching channels and reading the next conversion result which is unsettled!. The SINC + LPF essentially keeps a long moving average of the previous conversions, and waiting just 1 conversion cycle (with the new input channel) is not having much affect on the conversion result.

    After you switch channels you will need to re-synchronize the ADS1281 and wait for /DRDY to go low. This way you know that the digital filter has settled to the correct value.

    If you do not want to wait so long between conversions, you can use just the SINC filter. Refer to Table 11 in the ADS1281 data sheet for "Time for data ready, tDR".

    Best Regards,
    Chris

  • Hi Chris


    Yes I wait for /DRDY to go low before reading.

    If I only use the SINC filter I have only 31 bits how I convert the digital value for having the input voltage ?

    With the SINC + LPF  I do : digital value * 2.5/(2^31)  with a +/-2.5V ref .

    with only the SINC filtre I have to do the same but only with 2^30 ?

    Best Regards,

    Rémi

  • Hi Remi,

    Remi Boucher said:

    With the SINC + LPF  I do : digital value * 2.5/(2^31)  with a +/-2.5V ref .

    with only the SINC filtre I have to do the same but only with 2^30 ?

    Almost, use "digital value * 2.5/(2^32)".

    This is equivalent to dividing by two: "digital value * 2.5/(2^31)/2 "

     

    Here is an Excel Calculator to help: 3005.ADS1282 Codes-to-Volts.xlsx

    (I did essentially the same thing in this calculator, except that the FIR data is right shifted by 1, to remove the redundant sign bit).


    Best Regards,
    Chris