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: Data integrity for High Speed SPI commnication

Part Number: TMS320F28379D


I am trying to establish high speed SPI communication between two Delfino microcontrollers. I am currently using the Control card with the docking station eval kit. I used the loopback example code from the c2000 libraries and then developed two different Tx and Rx images.

I have configured the SPI data to be transmitted and received in high speed mode as mentioned in the data sheet. I do see that my data has reached the speed of 40Mhz in an oscilloscope. The SPI is tied to DMA channels on both the Tx and Rx. DMA source and destination are arrays holding data to be transmitted/received. 

When I send 5 bytes of 0xAA55 data, the receiver array receives this data accurately. for every cycle.But when I send my data just in the first byte of the array, say like a decimal value of 3200, I see that this data gets corrupted in the receiver array. Sometimes the value 3200 is in some random position of the receiver array instead of the first one. Sometimes there are duplicate values of 3200 in the same array and some-other times I see 6400 instead of 3200. 

How can I achieve data integrity over High Speed SPI tied to DMA?

I start the receiver DMA channels after the previous message has been processed. While the transmitter is continuously transmitting.

I am testing this with breakpoints just before starting the receiver DMA channel again for next reception. 

If the data is as small as just 2-3 bytes, can data integrity be achieved without any data correction or error checks? 

Note that this needs to be a one way communication and the Rx cannot acknowledge the reception.