I am trying to port my audio application on LPCXpresso 56428 board. I am using DMIC, I2S, DMA and wm8904 codec module for my application. This is real time application which reads data from mic0 and process my application then play through audio line out. Since my application is quite heavy i couldn't hear the any audio. But later, after few optimizations I can hear, but there is still problems.
When I counted cycles using DWT->CYCCNT cycle register, it seems my application is only taking 80 million cycles( 80 MHz) for processing 1 sec data. I initialized board to run at 220MHz ( BOARD_BootClockPLL220M ). I wonder, the board still have 140 MHz to process DMIC, I2S, DMA and wm8904 codec modules, Then why the line out audio have problems. It seems i need to do more optimizations to run my application.
Is there a way to profile ( bare metal profile) using MCUXpresso IDE?. How much clock cycles are available for user application if we are using DMIC, I2S, DMA and wm8904 codec components?.
Hi Sreenath P V,
For the features you mention, I think the core frequency should be enough to handle all the peripherals.
There is an example in the SDK that use very similar implementation, I will suggest to check this example (lpcxpresso54628_dmic_i2s_dma) and see the configurations for it. You can download the SDK from the following link.
I hope this helps you.