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.

TMS320F28069F: SPI driver seems to send/recieve data by 2 bytes

Part Number: TMS320F28069F

Dear TI members,

I'm looking into SPI driver.

I have seen SPIRXBUF, SPITXBUF have 4 x 16bit FIFO in Block diagram in TRG doc.

However, the type of SPIRXBUF and SPITXBUF register in SPI_Obj is just uint16_t.

Does it mean SPI can send/receive 16bit during single transfer ?

Could SPI_write() and SPI_read() support 32 bit or more  at one transfer ?

Best Regards,

Hae Ryong

  • Hae Ryong,

    The SPI on F2806x devices have 4 level transmit and receive FIFOs. These are accessed by writing to/ reading from the SPITXBUF and SPIRXBUF registers. The word length of the SPI is configurable from 1 to 16 bits. 

    Yes, the SPI can send/receive 16 bits per word transfer. If you need to send more than 16 bits, you must send two 16-bit ( or 4 x 8-bit) words. The SPI will hold SPISTE signal low during the entire transfer as long as the next word is in the FIFO before the actively transmitting word has completed transmitting.

    Depending on the source of those functions, they may natively support additional words, or you can easily write your own functions to achieve your desired result.

    Thanks,
    Mark