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.

TMS320F28379D: External SPI ADC ADS8353 interfacing questions

Part Number: TMS320F28379D
Other Parts Discussed in Thread: ADS8353

Hi TI teams,

I'm trying to use two ADC8353 with F28379D via SPI communication.

The SPI module inside F28379D can only transmit and receive 16-bit data.

It seems that in order to receive 32-bit data with ADC8353 set to 32-CLK, single-SDO mode, McBSP module with clock stop mode must be used.

However, in the technical reference manual of F28379D, it mentioned that:

For clock stop mode, the values of RWDLEN1 and XWDLEN1 must be the same because the McBSP transmit and receive circuits are synchronized to a single clock.


Thats means that I need 48-bit (16-bit command and 32-bit data) RX and TX buffer inside McBSP module, but RSR and XSR registers can only handle maximum 32-bit of data, is that correct?

More importantly, is it possible to access two ADC8353 with F28379D by SPI or McBSP?


Best Regards and Wishing you a Happy New Year.

  • Hello,

     

    Please note that our expert on this topic is currently out of office and expected to return on 8th Jan. Please expect a delay in response.

     

    Regards,

    Varsha

  • Chi-Yuan,

    After looking at the ADS8353 I don't think a native SPI mode(either the SPI or the McBSP in SPI mode) will get what we want, due to the clocking requirement and relationship to CS signal.  I think the control of the CS needs to be handled manually(just using the GPIO Data Regs), and then use the SPI in 16bit mode to do 3 consecutive transmissions while holding the CS active.  Once this is complete the CS can be made inactive via a GPIO control.

    I also do not think we can use dual-SDO mode, since that requires 2 inputs simultaneously, instead we need to use single-SDO mode, and give 48 clocks with CS held active.

    So you can use either SPI or McBSP as SPI to acheive this.  You could use 32-bit McBSP as SPI, but you would end up using 2 32-bit transfers for the 48-bit requirement, so I think 16-bit is the way to go.

    I also found this post, related to the serial interface of the ADS8353 in general, https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/496896/spi-of-ads8353-ads7853-ads7253/1797162#1797162 that the data edges do not conform strictly to SPI standard, so hopefully this will help.

    Best,

    Matthew

  • Hi Matthew,

    Thanks for your speedily reply! Here's some update that you might be interested.

    I still want to use the SPI to interact with ADC and let McBSP to communicate with other peripherals.

    After some modification with the FIFO register of SPI module, now I can send and received 48-bits of data directly with internal SPI.




    BR,

    Chi-Yuan