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.

ADS1110, can't read configuration byte

Other Parts Discussed in Thread: ADS1110

I am currently working with the ADS1110, and I am unable to read the configuration register.  I'm a able to read the first two bytes that make up the output register, and I can change the input voltage to the ADS1110 and observe the value of the output register change, however the voltages I am supplying are 16 times larger than the values I am reading.  I've confirmed my I2C communications are addressing the part correctly, and as mentioned, I can read the first two bytes, but as I go to confirm what the settings are the third byte is always 0x00.  Even when I try to read beyond the configuration byte I get 0xFF as anticipated.

I've tried reading the configuration register after leaving it in it's default state, and after writing 0x1F to it, but I still read back 0x00 every time.

Is there any reason why I wouldn't be able to read the configuration byte?

  • Hi Randy,

    Welcome to the forum!  Have you tried to read the configuration register directly and not as a part of the output data read?  Can you send me your schematic and scope shots or logic analyzer shots of the communication?  Are you receiving the proper ACK signal from your controller/ADS1110?

    Best regards,

    Bob B

  • Bob,

    Thank you for the quick follow up. How do you read just the configuration register?   My reading of the datasheet is that since the registers are not individually addressed, you read two bytes for the output value, and three bytes for the output value and the configuration register.   I'm not seeing any indication on the datasheet as to how to read just the configuration register.

    I figured out what is screwing me up.  My for whatever reason my I2C driver is adding an extra write of 0x00 whenever I write to the ADS1110.  When recompiling my project to just read, since I didn't cycle power or issue a reset, and I didn't realize I was writing 0x00 previously, I was initially confused as to why the register wasn't in it's default state.  Coming to these realizations I cycled power and set up my project to just read from ADS1110, and I can now read the default value of the register (0x0C).

    -Randy

  • Hi Randy,

    My mistake.  You are correct.  I forgot that the Config register is only directly accessible by writing to it.

    Best regards,

    Bob B

  • Thanks for the confirmation.