RT685 DMIC recorded only noises

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

RT685 DMIC recorded only noises

926 Views
dylanhu
Contributor I

Hello everyone,

I'm trying to recording using the RT685 EVK on board DMICs and output with the on board codec WM8904.

So I tried to test the hardwares with the SDK(version 2.7.0) example project evkmimxrt685_dmic_i2s_dma.

By default this test program uses left channel dmic and set wm8904 output volume to 0x20, I increased the WM8904 output volume to maximum volume 0x39 to help debug.

When I run the test program, one of the EVK board(mark as board 1) could output recorded audio normally.

But another board(mark as board 2) output only the noises in the environment, which could be heard the same as the other board.

I can only hear some thing like breathing when talking loudly very close to the DMIC on board 2.

Comparing the noise levels of the two boards, the output volume level sounds like the same.

If I changed the DMIC channel and DMA channel to another one(right channel) on the board,

* For board 1, the output volume is much lower than left channel, after I changed right DMIC channel's input gain shift from 3 to 7, the right channel's volume level sounds close to left channel. Both the two channels can output the recorded audio normally.

* For board 2, both the left and right channels only output environment background noises and breathing like sound when talking very close to the DMICs.

The EVK board version is: 170-35099 REV E3

A short audio clip dumped from memory of board 2 left channel is attached as S16_LE-MONO-48K.dat.

data format: signed int 16, little endian, mono stream, 48KHz.

Can anyone kindly help to identify the problem is hardware or software related issue?

Regards,

Dylan

Labels (1)
Tags (1)
0 Kudos
5 Replies

812 Views
victorjimenez
NXP TechSupport
NXP TechSupport

Hello Dylan, 

If your example project fails to work correctly in only one of your evaluation boards but the other works without problems. A bad configuration of the jumpers might be the root cause of this behavior. Please compare both boards to see that all the jumpers are configured the same way. 

Have a great day,

Victor

-------------------------------------------------------------------------------

Note:

- If this post answers your question, please click the "Mark Correct"button. Thank you!

- We are following threads for 7 weeks after the last post, later replies are ignored

Please open a new thread and refer to the closed one, if you have a related question at a later point in time.

------------------------------------------------------------------------------- 

0 Kudos

812 Views
dylanhu
Contributor I

Thanks Victor,

I've compared the jumper configures when I found the issue, they are exactly the same.

Actually there are two issues:

- One board have right channel recorded audio level much lower than left channel.

- Another board only output some loudly noisy sounds, such as when tapping on the DMIC or shouting to the DMIC very closely.

0 Kudos

812 Views
victorjimenez
NXP TechSupport
NXP TechSupport

Hi Dylan, 

I just made some tests on my side with the dmic_I2S_dma example from the newest version of the SDK (2.8.0) and everything went fine. With this new version of the SDK are you able to reproduce the same behaviors that you are currently seeing? If so, could you please provide a detailed guide on how I can reproduce this on my side? 

Also, did you make the changes in the jumpers JP7 and JP8 as stated in the readme file of the example project? 

Regards, 

Victor 

0 Kudos

812 Views
dylanhu
Contributor I

Hi Victor,

Yes I've changed the jumpers JP7 & JP8, if not changed the jumpers, there will be no sound output at all.

If test the boards with the new SDK(2.8.0), the result is the same as described above.

Since I run the tests on two boards and have different results, I'm not sure whether you could reproduce on your side.

My test steps:

1. Import the dmic_i2s_dma example project from SDK

2. Change the WM8904 output volume to 0x0039 in source code.

3. Build and program the binary image onto the boards.

4. Plugin a headphone into the LINE_OUT jack(J4), some sound will output from the boards.

    For board 1 it output normally, the voices and environment background noises could be heard.

    For board 2 it output some sound which similar to background noises and the knock knock sound when tapping the left mic. If blow air closely to the left mic, the blowing like sound could be heard.  It seems that only violent sounds could be recorded by board 2 DMIC.

Test steps for right DMIC:

1. Import the dmic_i2s_dma example project from SDK

2. Change the WM8904 output volume to 0x0039 in source code.

3. Change the DMIC channel from kDMIC_Left to kDMIC_Right.

    The most convenient way to test the right mic is changing the DMIC_ConfigChannel's selected stereo_side_t to kDMIC_Right.

4. Build and program the binary image onto the boards.

5. Plugin a headphone into the LINE_OUT jack, sound sound will output from the boards.

    For board 1, it output normally but the volume is much lower than left channel.

    For board 2, it output some sound, which is the same as it's left channel described above.

Regards,

Dylan

0 Kudos

812 Views
victorjimenez
NXP TechSupport
NXP TechSupport

Hi Dylan, 

Thanks for the detailed information! Regarding the first test, I changed the volume to 0x0039  and everything went fine on my side, the same as in your board 1. Could you please confirm whether both of your boards are the same revision or not? 

Regarding the second test, please be aware of the following note in the user manual.  

pastedImage_1.png

In the case of the dmic_i2s_dma example project, the ONECHANNEL field is set to 1 since we are using only one channel, hence the left channel is used. I was able to reproduce the behavior that you mentioned when I change to the right channel, I'm not able to hear anything. I will make more tests on my side to see what might be causing this behavior. Just to be sure we are on the same page, you are modifying the DMIC channel when calling the function DMIC_ConfigChannel, is this correct? 

Regards, 

Victor 

0 Kudos