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.

CCS/TMDS570LS31HDK: SPI2 TX DMA will not stop - externally connected to SPI4 the data is fine.

Part Number: TMDS570LS31HDK

Tool/software: Code Composer Studio

With the same HW and SW I am doing a SPI2 TX DMA of 16 words every 200us. When I set the SPIEN bit the process starts outputting data. I read the data in ok on SPI4 RX DMA every 200us. The problem is the SPI2 TX does not stop , unless I clear the SPIEN bit at about 100us later. The baud rate is 2M so there is plenty of time. Every 200us:

if ((spi2_dma_buf[SPI_DMA_SIZE-1] & 0xFFFF)!=(spi4_dma_buf[SPI_DMA_SIZE-1])) //SPI_DMA_SIZE-1

match_err++;

for (k=0;k<(SPI_DMA_SIZE);k++)

spi2_dma_buf[k] += 1;

/* Set up dma for SPI4 receive */

spiREG4->INT0 = (spiREG4->INT0 | 0x00010000); /* ENABLE DMAREQEN */

/* Set up dma for SPI2 transmit */

spiREG2->INT0 = (spiREG2->INT0 | 0x00010000); /* ENABLE DMAREQEN */

 

A scope shows continual data. Why will it not stop?