I am trying to DMA from an SRAM array into a Control Register at a 100khz rate. (See attached project)
I am building under PSoC Creator 4.2, but also tried it under 4.3. Same results either version of Creator.
According to this post (DMA to GPIO ) feeding a clock into DRQ should work at the clock rate. As you can see from this image here, once started, the DMA keeps transferring at a high rate ( appears to be about 3mhz). I am sending 4 bytes, 0,1,2,3 out the control register over and over.
I want the DMA to start over automatically, and transfer at the DRQ rate over and over, re-running the array each time. (The Preserve parameter is set to 1 for this, and it appears to be working.)
The Bytes per burst and request per burst are both 1 (from the DMA wizard):
#define DMA_1_BYTES_PER_BURST 1
#define DMA_1_REQUEST_PER_BURST 1
#define DMA_1_SRC_BASE (CYDEV_SRAM_BASE)
#define DMA_1_DST_BASE (CYDEV_PERIPH_BASE)
/* Variable declarations for DMA_1 */
/* Move these variable declarations to the top of the function */