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.

ADS8688 SDO incorrect

SPI setting:

Mode:SPI_MODE_1 CHOL=0; CHPA=1;

Bits:32bit

speed:500K

Step:

1. Power up the device.

2. RESET the device registers by sending command 0x85000000.

3. sending comman MAN_Ch_n 0xC0000000

4.sending command NO_OP 0x00000000

But cannot get right data from SDO. is there any suggest?

Thanks.

  • Hello,

    Would you share an oscilloscope shot of the incorrect SDO?  Please also include the digital lines, SCLK, CS, SDI and SDO, and digital communications. this provides a visual check to make sure that what you think the software is doing vs what in actually is doing.

    what are you expecting vs what are you getting?

    I suggest using a known DC input to compare the expected output vs the device output.

    Regards

    Cynthia

  • Hello Cynthia


    thanks for the reply.

    1. select channel 0

    2. set range 0~2.5

    3. read range

    but the response is 0, i think it should be 5.

    The oscilloscope shot is below,

    Is there any suggest?

    Best regards






  • It looks like you are not writing to the register correctly

    the timing diagram below demonstrates how to write to a register. also notice that the data written to that register will be outputted in that same cycle.

    To write to a register, 24SCLK are needed, although only the first 16 are used.

    The first 7 bits are the register address. for CHANNEL 0INPUT RANGE, the address is 05h (found in table 9 of the datasheet)

    Then bit 8 needs to be set high to write to it.

    Lastly, is the actually content of the register, this is described on table 15. for 2.5xVref : 00h

    Put that all together: 0000101 1 0000 0000 or 0B00xh

    Follow this same process for reading and writing to the register

  • Hello Cynthia

    Thanks for your reply.

    It should be useful, i will try it later,

    One more question

    I did below

    1. Power up the device.

    2. RESET the device registers by sending command 0x85000000.



    3. sending comman MAN_Ch_n 0xC0000000

    4.sending command NO_OP 0x00000000

    connet 3.3V or GND ,there is not change.

    What should I modify?

    Best regards

  • Thanks for your help.

    I used 16bits per word SPI frame for command and register,

    than it works.

    Best regards

  • Hello,

    You indicated you solved your problem. I have quite the same issue, when sending 0x85000000 I receive 0x0000FFFF. Then sending 0xC0000000 I still receive 0x0000FFFF. Then sending 0x00000000 I still receive 0x0000FFFF, continuously.

    I have tried many things and i now suspect my device is burned because I found no solution to my issue.

    Anyway, I'm interested by the solution you have found : what do you mean by 16bits word ? Does it refer to the sequence of clock pulses ? Actually I'm sending by bytes and thus there is a small delay between each byte (0.25µs while the SCLK frequency is 6MHz), but the CS line remains low of course.

    Thanks for your information,

    Joel

  • Hello, 

    Perhaps the original poster will share anything they have found

    You may also create a new post from this thread by clicking the Ask a Related Question on the top right

    Regards

  • Hello 

    You can try 0x8500 instead of 0x85000000,

    0xC000 instead of 0xC0000000,

    when reading data ,send 0x00000000.

    Hope it may help you.

    Best regards

  • Hello,

    Thanks for your quick reply. Made the change, but still the same result :-(

    Regards

    Joel

  • Please make a new post describing your issue, and include a scope shot with the digital lines, SCLK, SDI, SDO and CS

    If you suspect that the device is now damaged, you can try the "bad" device on a new board to see if the issue follows the device

    Also,  you can use a new device on a new board

    Regards

    Cynthia