Warning: I am very new to PSOC.
I have been experimenting with the CY8CKIT-050 development kit. I have had a lot of difficulty getting the DMAs to work...I am pretty sure it is because I lack some understanding of the DMA and fail to properly configure it. My experiment project is fairly straight forward: DAC=>ADC=>DMA=>FILTER=>DMA=>RAM. After a great deal of effort, I have been able to transfer the output of the ADC to the filter. I am using 12 bit output from the ADC, and initially could not get the filter to process the data. It seems that since I was using the STAGEA as my DMA destination, the 2 byte transfer was not writing the STAGEAH location, and therefore did not trigger the filter to process the data. From the data sheet, I saw that I should set the Filter DAlign register appropriately, but this did not seem to help. So, I set the destination to STAGEAM, and the 2 byte transfer wrote the STAGEAH register, and all was good. I used an interrupt on the filter to allow me to read the values out of the filter, and load up an array. I made the array 1024 in size(I have since shrunk to 256 for ease of debug), and once it was full, I started again at address 0. It worked just fine, and I was able to verify that it was working as expected.
My next step is to use DMA rather than using an interrupt and manually reading the filter and loading the array of data. I reconfigured the filter to provide the DMA request. The datasheet for the filter states that for the 12 bits, I should use the data alignment and also coherency registers to properly setup the HOLD registers, so I am doing that. My real problem seems to be that I cannot figure out how to do the DMA transfer. The filter datasheet has a section for "Filter to RAM", but I am not getting it to work. I tried to use the DMA wizard for initial creation, and then looked at the created code. It looks OK to me, but I really do not understand it all too well.
I would appreciate any help that anyone could provide. I have attached the project to this message. Also, please note that I have wired P3 to P3 and P3 to P3 to route the DAC to the ADC.
EvalBoard_FilterDMA.zip 4.4 MB