DMIC Callback Frequency and s_emptyBlock Issue in NXP MCUXpresso SDK Audio Example - i.MX RT600

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

DMIC Callback Frequency and s_emptyBlock Issue in NXP MCUXpresso SDK Audio Example - i.MX RT600

624 Views
shri00
Contributor II

Hello nxp community!

I've currently started exploring the i.MX RT600 evaluation kit. I'm trying out examples as the starting point for a project. I want to use dmic_i2s_dma.c (from dmic driver examples) from the mcuxpresso sdk for MIMXRT685-EVK, further for my work and I'm trying to understand the code thoroughly before I start changing it. Here are the things I'm not able to understand. 

  • DMIC Callback Frequency:
    In my application, I am observing that the dmic_Callback is being called more frequently than the i2s_Callback. I have reviewed the DMIC and I2S configurations, and both seem okay, but I would like to understand why the DMIC callback frequency is higher than expected. This was observed when incremented a counter in each of the callbacks and printed them in the main function.
  • s_emptyBlock Variable Behavior:
    s_emptyBlock variable is to track the availability of data in the buffer. However, I have noticed that whenever I print its value, it is consistently zero. This is unexpected, as I would expect it to be decremented in the DMIC callback and incremented in the I2S callback. I do not understand why this is happening.
  • The output values are something like this : 

 

dmic 1, i2s 0, main 1, s_emptyBlock = 0;
dmic 4, i2s 1, main 2, s_emptyBlock = 0;
dmic 8, i2s 2, main 3, s_emptyBlock = 0;
dmic 12, i2s 3, main 4, s_emptyBlock = 0;
dmic 16, i2s 4, main 5, s_emptyBlock = 0;
dmic 19, i2s 5, main 6, s_emptyBlock = 0;
​

 

I'd really appreciate it if anybody can help me with these points. I've also attached the file for quick reference.

 

Thank you.

iMXRT600 

Tags (1)
0 Kudos
Reply
0 Replies