Part Number: TMS320F28379S
Tool/software:
Hello,
I am currently using SPI FIFO (Master) in conjunction with DMA, and utilizing the DMA RX interrupt.
In total, two interrupts are used, including a PWM interrupt.
The PWM interrupt occurs at 50kHz, while the DMA RX interrupt is triggered approximately every 110–140kHz.
Each time a DMA RX interrupt occurs, a simple process is executed: a GPIO is used to control the CS line to select the next SPI slave channel, and DMA is then triggered again.
Within the PWM interrupt, I read data from four channels using the SDFM.
After that, I access the DMA RX buffer.
At this point, the SDFM data occasionally reads as 0 at regular intervals — for example, every 4th, 7th, or 24th cycle.
I suspect this issue may be due to the DMA and CPU accessing the same memory bus simultaneously.
I attempted to resolve the problem by relocating the memory regions as follows, but the issue persists:
-
DMA TX buffer →
RAMGS0 -
DMA RX buffer →
RAMGS1 -
SDFM data buffer →
RAMLS4
Could you please advise what the root cause might be, and share any potential solutions?
Thank you.