anakha and jakobjones,
Thank you both for your comments. I have still been trying to use the basic Altera DMA core, but when I ask questions about using it with a series of PIOs, I tend to get a bunch of references to literature that does not answer my questions.
I do not have much (if any) experience using HDL, so creating my own code is not likely, and I decided to continue trying to use the Altera DMA core for a little while longer before I switch over to the SG_DMA core.
I have a couple of questions on the basic DMA core and its usage with the PIO cores. In order to try and use the DMA to read the PIOs, my software is arranged as follows;
0) Assign Handles
1) I first set up the data size by calling alt_dma_rxchan_ioctl with the ALT_DMA_SET_MODE_16 parameter
2) I also set it us for Rx Only by calling alt_dma_rxchan_ioctl with the ALT_DMA_RX_ONLY_ON parameter
3) In preparing the DMA to receive data, would I assign the BASE address of the first PIO in memory to the DMA?
4) The PIOs have been setup as 16 bit, so my 'size' value that I pass to the
alt_dma_rxchan_prepare routine would be 44 (i.e. 2 bytes per each of the 22 PIOs)
While the DMA is doing its thing, I have a flag set to prevent me from placing another call to the DMA until it has finished.
Does this look valid? Thanks
Fred