I am working on a project where we are using the ADSP-21489 EZ-board to process a signal and have the FIR accelerator filter the signal.
We have the code working with a push button to switch between filtered and unfiltered mode, although when debugging the program, we've notice feedback anytime we have the signal switched from filtered to unfiltered, although when starting the program with only filtered mode or unfiltered mode, it works just fine. I have tried hard coding a switching sequence instead of using the push button, and as long as it's hard coded to not switch between filtered and unfiltered modes, it works just fine, once the switch is enabled, it no longer works properly. I suspect there is a timing issue between the point where the FIR filter receives the data and when the DMA processes it.
It is running in I2S mode using SPORT 0 (out through 1939), and SPORT 1 (in through 1939). We have the FIR set up so it only gets initialized on the first run-through, then is enabled again for any subsequent run-throughs. Attached is the feedback from an oscilloscope and a generated 1.2 kHz tone being filtered with 1kHz coefficients. Any suggestions on things to try next or ways to properly switch between filtering the data and coming back from filtered data would be appreciated.