The TI E2E™ design support forums will undergo maintenance from Sept. 28 to Oct. 2. If you need design support during this time, contact your TI representative or open a new support request with our customer support center.

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.

ADC3683: Programming via SPI (Serial Programming Interface)

Part Number: ADC3683
Other Parts Discussed in Thread: TDA4VM

Hi TI,

the ADC3683 datasheet mentions in chapter 8.5 Programming, that "The device is primarily configured and controlled using the serial programming interface (SPI)". When looking up the specification of this interface, I found some differences to the more common known Serial Peripheral Interface (SPI):

Serial Programming Interface Signals: SCLK, SDIO

Serial Peripheral Interface Signals: SCLK, MISO, MOSI

So if I want to configure/control ADC3683 via Serial Programming Interface, is it recommended to connect it to Serial Peripheral Interface (e.g from TDA4VM SoC)? If not, which changes do I need to make to drive Serial Programming Interface via Serial Peripheral Interface? Is I2C also an option?

Thanks for your help and best regards,

Felix

  • Hi Felix,

    I2C is not an option for this part. Standard SPI interface uses a four-wire configuration, where the MISO and MOSI lines send the data over separate read and write busses. The ADC3683 is a three-wire configuration and uses the SDIO line as a combined read/write bus.

    There is a hardware solution that we can suggest if you would like to bus the data in the standard four-wire configuration. I will get back to you soon with the details.

    Regards, Amy

  • Hi Amy,

    thats great. I would very much appreciate the hardware solution.

    Best regards,

    Felix

  • Hi Felix,

    In order to get the 3 wire and 4 wire SPI to function properly, at least one tri-state buffer needs to be added to the circuit. The circuit below will perform the function. The 4-wire out is tied to the /EN pin on the buffer so when the 4-wire out is driven low it turns the buffer on, driven high disables it. The buffer input is tied low so when the 4-wire out is driven the output pulls low then the pullup resistor pulls the line back high. The pull up will need to be adjusted for the SPI frequency as well as the drive strength of the 3-wire SPI device to be able to pull it down.  The 4-wire readback is just tied to the output of the buffer. 

    The read back will see everything that is sent on the bus. Ignore what is sent from the 4-wire device so that it is not read in as a input from the 3-wire device. 

  • Hi Amy,

    thanks for sharing the hardware solution.

    I have got one last question: You mentioned, that I2C is not an option for this part. Can you please elaborate a little on why this is not an option? Is it because of protocol related differences? (start/stop bits in I2C, message size?) Data rate is not an issue for us, so we are totally fine with standard I2C speed.

    Thanks again for your help and best regards,

    Felix

  • Hi Felix,

    You are correct, I2C is not an option because I2C and SPI are different protocols. This part only supports three-wire SPI.

    Regards, Amy