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.

ADS8686S: Getting incorrect serial data

Part Number: ADS8686S

Hi,

I am using the ADS8686S in a custom hardware design interfaced with a Hercules controller. The ADC is configured to operate in one-wire serial mode, and the configuration follows the table provided in the datasheet. The SPI settings are CPOL = 1 and CPOH = 0. I am also issuing a reset sequence after power-up, as recommended.

I am attempting to read the device ID register by transmitting 0x2000. However, the value I am receiving is 0x0002 instead of the expected reset value of 0x2002.

Could you please help me understand why the upper bits of the device ID register are not being returned as expected?

  • Hello Dhir, 

    Thank you for posting on TI's E2E forum, as well as your patience with the response during the holidays. 

    When reading a register of the ADS8686S, the 1st serial command is to set the READ byte (bit D15; W/R) and then the register address (D14:9), the last 9 bits are ignored. The 2nd command is to read back the previously set register's data, this does not include the register address, only the data in the D[7:0] bits.

    It appears what your are writing and reading back is correct, for the Device ID register: 

    • 1st Frame: SDI= 0x20xx; D15 = 0, D[14:9] = 0x10, D[9:0] = Do not care
    • 2nd Frame: SDI= nop or command & SD0=  0x0002; D1[15:2] = 0x0000, D[1:0] = 0x2

    So it is expected to read back only 0x0002. 

    Best regards, 

    Yolanda