I am currently designing a simple audio hardware with a Cortex M7 Processor (STM32F746ZG) and a simple Codec and I am experiencing some issues which I dont't understand.
For better understandig let me sum up the basic design:
- Firmware is based on the examples given in the download section for the STM32F746 Discovery Board
- Hardware is simply the MCU with an external Codec (AK4621)
- Firmware has a modified audio_driver.c etc. to communicate via I²S instead of TDM.
The Problem is pretty simple to describe:
The main goal of the audio hardware which I am desinging is to implement an FIR filter with round about 1000 Taps. On the STM32F746 Discovery Board this works flawlessly. On my target board the audio seems to be some kind of corrupted if I add any filter in the Audio Weaver Layout like this:
I've uploaded a short example of what it sounds like (captured with a microphone but I think the main issue is well audible):
If I wire the Input directly to the Output without filtering or if I set all filter coefficient except for the first to zero everything seems to be fine so I could imagine that the CPU Load is to high but the indicator in the audio weaver server displays only a load of about 60%.
Does anyone have the same problem or a similar one?
Thanks for helping me out!