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.

TMS320F28075: When SPI enables FIFO, can it be sent in a non-16-bit ( SPICHAR != F) mode?

Part Number: TMS320F28075
Other Parts Discussed in Thread: TMS320F28067

Hi Team,

As shown in the picture, the technical manual didn’t mention that 075 Data must be sent in 16-bit mode with FIFO enabled. But in real tests, when I set SPICHAR=F, the master machine 075 sent a frame of data (0A 00 00 46 00 50) to TMS320F28067, the slave machine. I observed SPIMOSI on the oscilloscope and the waveforms were as follows:

When I only changed SPICHAR=F into SPICHAR=7 (8-bit transmission), left other codes unchanged, and did the same thing as above, the generated waveforms were as follows:

The picture shows that when SPICHAR=7, there was no high-level electricity though there were SPICLK signals. Why did this happen? Was it because other registers (FIFO is enabled) have to make corresponding configuration changes when SPICHAR=7, or because only 16-bit transmission can be sent when SPI FIFO is enabled? If so, there should be relevant instructions in the technical and peripherals user’s manuals. But I didn’t find them.

 

Best regards,

Katherine

  • Katherine,

    The SPI will always shift out the MSB of the SPIDAT register first. In 16-bit mode, the entire 16 bits of data get shifted out, no problem. In 8-bit mode, you have to shift the data <<8 before writing to the SPITXBUF register. If you do not shift the data, then likely you will see 0's on the MOSI pin.