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.

TMS320F280049C: SPI_pollingFIFOTransaction() how to decrease the polling interval to less than 2.5us ?

Part Number: TMS320F280049C
Other Parts Discussed in Thread: C2000WARE

I tried to communicate with three connected daisy chain drivers that required 24bit control word

I'm a lazy person, so I try to avoid using writing my own code instead of using ready-made code.

I configured the spi to 10mbit speed and 8-bit data transfer.  overall the spi transmits 9 bytes from the buffer, but the bytes a transmitted with a period of 2.1-2.5 us 

The irony in the situation is that the byte is transferred in 750ns, after which there is a wait of 1.452us. Looks like wasted on the polling or something else ( cannot find the source code) of this function .

Tsdelay parameter is 0;

As a result, the transaction time is 20-25гs and does not depend on the baud rate.

The question is: How to decrease the waiting (or polling) time between byte transmittions?

  • Hi Gleb,

    At this point, look into using the DMA for data transfer as well as FIFO mode to maximize SPI high speed settings and decrease polling time. Reference this E2E as well as C2000Ware Driverlib SPI Examples #5 (internal loopback with DMA) and #7 (uses an EEPROM but similar idea) to do so.

    Aishwarya