Hello there, i am working on a project where a filter is needed. This filter is implemented in PSOC.
I am feeding the filter with a DMA, and using the output to set a PWM module, using the CPU.
I get a output almost similar to the input, except it is a bit small (also at DC). The filter is a RIAA filter.
What can i have done wrong?
Project is attached.
At very first sight: You are probably not able to handle 44100 interrupts per second.
CyDmaTdSetConfiguration(tdChanA, 3u, tdChanA, CY_DMA_DISABLE_TD);
I am not very fit with PSoC5 DMA, but doesn't the above mean to cease the DMA after the current TD finishes? I feel like best would be to repeat with tdChanA forever.
You might be right about the DMA, i had a hard fight getting it to work, i will look into it.
Is the DMA faster than the interrupt? In that case i will try to use DMA for both filter input and output.