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.

McSPI / EDMA question



Is it possible to do this?

  • Configure the McSPI to use 32 bit transfers, with a FIFO depth of 2 (for a total of 64 bits at a time)
  • Configure the EDMA so that ACNT = ~1 Megabyte, BCNT = 8 bytes (corresponding to my 64 bits, above)
  • Using a timer, trigger the McSPI to read the 64 bits and have a FIFO event notify the EDMA controller when there are 8 bytes ready to transfer
  • Set the EDMA up to issue the ARM MPU an event only when I have gotten the full ~1 megabyte

If all of that is possible, can you also set up a timer to trigger the 8 byte McSPI transfer?

What I have is four, 16-bit A/D converters on an SPI bus.  I want to have the thing more or less run automatically, and only issue an event to the main CPU about once a second.  My initial strategy was to have the PRU do most of the work here, but I started looking at the amazing capabilities of the EDMA controller and now I'm wondering if all this can just happen through configuration.

Whenever I ask these questions of the support line, I get directed to this forum... yet I don't seem to get answers to questions about these topics.  If there's somewhere else I should be asking, let me know that as well.

--Chris