Hello,
I am using McBSP unit configured for SPI together with two DMA units to communicate between two F28335s. One DMA fills TX register (when empty) and the other empties RX register (when full). DMAs on SPI master are in non-continuous mode and are enabled periodically by the application. The slave's DMAs are running continuously. Size of DMA transfer equals number of 16-bit words I'm exchanging, one word in a burst.
I have a problem in understanding what is happening on the slave side. After one set of SPI transactions is over, i.e. after master's DMAs have finished their transfers, I am expecting the following situation on the slave:
- McBSP TX buffer is empty after the last transaction
- this condition triggers one burst of the "sending" DMA
- the "sending" DMA's transfer count equals transfer size - 1
- the "receiving" DMA has't been triggered yet and its' transfer count is zero
However, I observed that in the above situation the "sending" DMA's transfer count equals transfer size - 2. How is this possible?
Regards,
Josip