cancel
Showing results for 
Search instead for 
Did you mean: 

Is a 10 seconds initial period needed to read correct PDM data?

dario2
Associate III

We have a IMP34DT05 interfaced with a STM32L486 on PDM. We are observing that, after the clock to the MEMS is enabled and the sampling is started, in the first 10 seconds unexpected db values are calculated (higher than expected: 80 db). Then, the value gradually goes to the real one (40 db) in about 10 seconds.

Is this an expected behavior?

Thanks

7 REPLIES 7
Eleon BORLINI
ST Employee

Hi @dario2​ , are you maybe intending 10 milliseconds instead of 10 seconds? In this case, 10ms is the time to wait until the PDM bitstream makes sense after the clock startup.

If you however refer to real 10 seconds, it cannot be related to the electronics but to the "environment", and you should do some checks on your setup: for example, which Vdd and master clock are you setting? Are you correctly soldered the part on your pcb? Can you register sound on only noise?

Regards

dario2
Associate III

Dear Eleon,

thanks for the answer.

I confirm that they are 10 seconds.

We have checked power supply and provided clock and they seem in the feasible range.

Voltage is 3.3 Volts (see the screenshot of the range around 3.3 )

and the clock is stable on the value of about 2 MHz immediately after microcontroller initialization

(see attached screenshot from scope).

Regards

dario2
Associate III
 
dario2
Associate III

We are using DFSDM interface (with related filter). We have tried a lot of configuration but the problem is always present.

Moreover, the initial period is of variable length (not only 10 seconds, but sometimes 30 and even minutes).

We observe the problem both in our card and in the NUCLEO STM32L476RG + IMP34DT05  STEVAL.

Has the DFSDM filter to gor for a while before working fine?

Thanks and Regards

Hi @dario2​ , is ti possible for you to change the mic clock frequency (e.g. from 2MHz to 2.4MHz?) Regards

dario2
Associate III

We have tried several frequency but the result is the same.

Programming the filter we have reduced the period but the results are flattened and do not catch variations.

Moreover we are observing that the initial period with high values depends on temperature: the lower is the temperature, the longer is the initial period.

Thanks and Regards

js23
Associate III

Did you use 1 or 2 mics?

In case of 1 only: Did you check if the clock edge of data sampling matches the configuration of the mic (left/right channel)?