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.

ADC128s102

Fig1 on page 8 of www.ti.com/.../adc128s102.pdf

How can I read out  the  valid Dout before DIN completely send?

  • Hello Nam,

    The ADC needs all 16 clocks for the SAR to make the conversion.

    Since it is a SAR, you actually *are* getting DOUT as DIN is loading (MSB first) as the conversion progresses. There is no "buffer" to read.

    Regards,
  • Hi Paul,

    Can you explain more on this issue? What if I want to read addresses '000' and '001'? Please explain? Thanks.

    Nam
  • Hi Nam,

    The ADC is performing the conversions as you are clocking in the address data, then immediately outputting it MSB first as it "zeros" in on the final LSB value during each clock cycle.

    The inputs are sampled during the first three clocks, then the conversion occurs on the next 13 clocks after it knows which channel is selected from the address bits. Note that the MSB output comes right after the last address bit goes in.

    See the "Programming" section (7.5.1) in the datasheet for more info.

    What are you trying to do??

    Regards,
  • Hi Paul,

     

    Sorry for not reply sooner, I was out of office for 2 weeks. I am still unclear of the answer maybe I did not ask the correct question.

     

    Is Dout in the attached for Din with Address “000”?

    I tried to insert a file with timing diagram but not sure you can read it. Please let me know if you can not read it and provide your email so I can send it as an attachment

  • Hi Paul,

    Can you help with my previous reply with attachment timing.docx?

    Thanks,
    Nam Nguyen
  • Nam
    the current conversion result is for the channel that is specified in the previous conversion. You always need to specify which channel you want to convert in the previous conversion window. the only exception exists on the first conversion where the address register is preloaded with all zeroes, therefore the conversion result of the first conversion after power up is of channel 0.
    Hope this answers your question.
    Chuck
  • Hi Chuck,

    Thank you for four response. I want to verify what I understood form your answer.

    When power up, the default values for Add2, Add1, Add0 are “000”. When I drop CS to low, Dout will be the conversion of address “000”. Then if I load address “101” into Din, Dout will be valid after 16 falling edges of SCLK. Dout format is ” four zeros” leading follow by Dout11…Dout0.

    Please correct if I am wrong. Thanks.

    Nam
  • Nam
    your understanding is correct. after power up, ADD2 - ADD0 is set to 000. So the first conversion result when CSB is asserted will be a conversion of what is connected to IN0. if you you load 101 during that first assertion of CSB, the 2nd assertion of CSB or clocks 17 thru 32 if you keep CSB asserted continuously will show the conversion of IN5. to reiterate the point, you need to specify the channel you want to convert in the previous conversion window. based on your comments, you are understanding how the device is intended to function.
    Chuck