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.

ADS1292 resolution related query

Other Parts Discussed in Thread: ADS1292

Hi,

Whether ADS1292 works in bipolar or unipolar mode? Since if i see the document i am seeing it supports +-vref, as per formula shown in

With this i am able to measure the voltage but i am not 24bit which is sign bit. How to make use of whole 24 bit for the application, in order to utilize the full range

I am using 2.42 internal reference and it is working fine for me. Only comment from my reviewer why only 23 bit are used instead of 24bit?

Please need help in handling whole 24 bit, we are using differential input.

I appreciate if someone helps me.

Thanks in advance

Nitesh

  • Hi Nitesh,

    The ADS1292 can work with both bipolar or unipolar power supplies, but the output code is always binary two's complement. Please review figures 60 and 61 in the datasheet for your power supply options. The ANALOG INPUT section of the datasheet describes how you can accommodate different input voltages to achieve the full scale input range of the device.
  • Hi Tom,

    That mean only 23 bits are used for positive voltage ?

    24 bit is sign bit? Please correct me. I can not use all 24 bit for my Vref  i.e. 0-0xFFFFFF

    Please guide me.

    Thanks in advance

    Nitesh

  • Hi Nitesh,

    If you want your data to span 0x0 to 0xFFFFFF, you can add a routine in your software to XOR the conversion results with 0x800000.
  • Hi Tom,

    Thanks for input. But we are ANDing 24bit (3byte) with 0x7F. Does this hamper the result. Since we are getting values without any issue. Only thing is we are using 23 bits only.

    Now if we want to do XOR with 0x800000 still we need to AND with 0x7F?

    Since we are not utilizing all the 24 bit is what comment from reviewer.

    But really is it possible to make use of 24 bit i.e. count 0 - 0xFFFFFF with this result XOR with 0x800000?

    since result is always 2's complement i.e. 23bit result and 1 bit sign bit. with count from 0-0x7FFFFF, i am not sure.

    But i will try and let you know.

    Thanks a lot for the suggestion.

    Nitesh

  • Hi Nitesh,

    Going back to the original post you made - how are you operating the ADS1292? With a bipolar supply or uni-polar? What does your analog input signal look like, bipolar or uni-polar? If you have a uni-polar supply, you will have to add some common mode offset to your input signal to achieve the full scale range of the ADS1292.

    That being said, if you simply 'AND' every conversion result with 0x7FFFFF, you'll get 0x0 to 0x7FFFFF twice throughout the full scale range of the input. Try the 'exclusive or' of the B2C data with 0x800000 (with no 'AND') and let us know what you get...
  • We are using Unipolar signal.
    As per suggestion i will do the changes and get back to you on this.

    Thanks for your time and support.

    Nitesh
  • Hi Tom,

    I am working with Nitesh on the same issue.

    As per our understanding 24th bit will set if received value is -ve, as we are working on unipolar, we are doing AND with 0x7FFFFF to make sure 24th bit remains 0.

    If we are doing XOR with 0x800000, for +ve value we will set the 24th bit and our expected measured value gets change.

    Please correct me if I have wrong observation.

    Thanks,

    Sandeep

     

     

  • The +ve values will be from 0x7FFFFF through 0xFFFFFF
  • Tom,

    Thanks for the input. We have done the implementation since we don't need -ve values we have taken only positive values.

    Nitesh

  • here is the code i process the channel 1 data
    ch1 = spi_readwrite(0x00)<<24;
    ch1 |= spi_readwrite(0x00)<<16;
    ch1 |= spi_readwrite(0x00)<<8;
    ch1 >>= 8;
    ch1 is a int type var.
  • Hi,

    I am getting some wrong values while handling Channel1 of ADS1292. Here is my ADS1292 circuit diagram

    I able to read channel2 properly, but channel1 i am getting always high 0x7fffff.

    My register settings are

    const TUSIGN8 ADS1292_Default_Register_Settings[12] = {

    /* REG 0: Device ID read Ony */

    0x53,

    /* REG 1: CONFIG1 */

    0x02, /* 010 | fMOD/256 | 500SPS */

    /* REG 2: CONFIG2 */

    0xF8, //0xF8//0xE8, /* Bit 7 always 1, PDB_LOFF_COMP, PDB_REFBUF, CLKOUT_EN */

    /* REG 3: LOFF */

    0x10, /* Comparator threshold at 95% and 5%, current source or sink resistor DC lead-off */

    /* REG 4: CH1SET (PGA gain = 6) */

    0x10,

    /* REG 5: CH2SET (PGA gain = 6) */

    0x10, /* gain set to 1 */

    /* REG 6: RLD_SENS (default) */

    0x2C,

    /* REG 7: LOFF_SENS (default) */

    0x0F, /* not required */

    /* REG 8: LOFF_STAT */

    0x48, /* read only */

    /* REG 9: RESP1 */

    0xEA, /* not required */

    /* REG 10: RESP2 */

    0x83, /* only Calib set to Enabled , rest not required */

    /* REG 11: GPIO */

    0x0C /* not required */

    };

    I am giving differential  voltage across +ve and -ve terminal as shown in figure

    Please let me know whether any thing i need to change in control register settings,

    Thanks and Regards,

    Nitesh