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.

ADS122C04: ADS122C04 provides the half value of inputs

Part Number: ADS122C04

Tool/software:

Hallo,

I have question regarding the "ADS122C04IPWR". In my project I am using "ADS122C04IPWR" with Renesas RX65N Microcontroller and communicating through I2C bus.
I am trying to read the Voltage on the inputs of ADS122 which will be converted to a digital value. However, I always ended up getting the half value of the inputs, please find below the configuration details:

CONF_REG_0_AIN0      0x81        // setting  AINP = AIN0, AINN = AVSS, Gain = 1 (default), PGA disabled and bypassed

CONF_REG_0_AIN1      0x91         // setting  AINP = AIN1, AINN = AVSS, Gain = 1 (default), PGA disabled and bypassed

CONF_REG_1                0xC4        // 1000 SPS, Normal mode, Analog supply (AVDD – AVSS) used as reference and even I tried 0xC0 which will uses Internal 2.048-V reference

CONF_REG_2                0x00

CONF_REG_3                0x00 

I2C-Bus:

I2C transfer rate     400Kbps
Operating frequency PCLK     60 MHz

At this moment I have cut-off my circuit and provided a direct voltage on the ADS "AIN0 and AIN1" through a power supply, also getting the half values. As I mentioned before I also tried to change the reference voltage

from my (AVDD = 4.6 to the internal = 2.048) in both cases I get the half value. I have also checked the GND of my board, some where I read if there are two separated GND, could makes an issue.

Last, in data sheet part "8.3.9 System Monitor" says i can measure analog power supply using the internal 2.048-V reference, unfortunately I got also the half value.

Know I am out of solutions and I need your kind support to solve this issue.

Best Regards
Ibrahim

  • Hi Ibrahim,

    Can you provide an example of an input voltage and the corresponding code / binary / HEX output that you are reading from the device?

    Since your values seem to be consistently half of what you expect them to be, it seems likely that the output value is being interpreted incorrectly rather than a problem with the device.

    Are you taking into account that the Data Format is in binary two's complement format? 

    Meaning that the output code for a +full-scale input signal would be 7FFFFFh, rather than FFFFFFh.

    From section 8.5.2 of the data sheet:

    Best Regards,

    Angel

  • Hi Angel,

    Many thanks for your reply and support. That's right, you pointed me right to the problem.

    It appears that I missed to read that part, I have changed the calculation in my code and now I am getting the right values.

    Again many thanks for solving the issue and wish you a pleasant day.

    Best Regards

    Ibrahim