cancel
Showing results for 
Search instead for 
Did you mean: 

STM32U5 2 MEMS Microphones

h p
Associate III

Hello, 

2 MEMS microphones share a common Clock (PB3, ADF1_CCK0) and Data (PB4, ADF1_SDI0) of a STM32U585QI.

Using ADF the PDM signal is processed successfully. It processes either the data of the either falling or rising edge depending on setting Init.FilterBistream to MDF_BITSTREAM0_FALLING or MDF_BITSTREAM0_RISING.

For the second microphone an MDF1_Filter0 instance is used. It is used with the same Init and Config data as the ADF instance.

For ADF an MDF the calls to HAL_MDF_Init HAL_MDF_AcqStart are both successful.

But then HAL_MDF_PollForAcq is only sucessful or ADF, but for the MDF instance it always returns HAL_TIMEOUT.

Does the MDF need to be configured differently? How must the ADF and MDF be configured to use both MEMS microphones with shared data and clock?

Does the MDF require other clock divisors?

I checked the examples in
https://github.com/STMicroelectronics/STM32CubeU5

There is only 1 example using rising and falling edge. Both filter are MDF in this case.
Projects/STM32U575I-EV/Demonstrations/Modules/audio_filtering/sig_filtering.c

Many thanks for any help!

1 ACCEPTED SOLUTION

Accepted Solutions
h p
Associate III

Hello @GET,

Thank you very much for the reponse. 

In our use case PE9/10 are occupied by for FMC_D6/D7 to drive the LCD.

As far as I can see there seem to be no other Pins that share ADF and MDF.

Best regards

View solution in original post

2 REPLIES 2
GET
ST Employee

Hello @h p ,

Digging into your descritption, I found that STM32U585QI does not offer the multiplexing of both MDF and ADF functions on PB3 and PB4 GPIOs.

Moreover, I don't know if both MDF and ADF can be used at the same time on two different microphones attached to the same physical signals.

In case you would like to test it on your board , you should use PE9 / PE10 instead, which offer multiplexing of MDF and ADF functions on same signals :

 

PE9 :  ADF1_CCK0 / MDF1_CCK0

PE10 : ADF1_SDI0 / MDF1_SDI4

Hope this would help for your testing.

Best Regards,

 

  

h p
Associate III

Hello @GET,

Thank you very much for the reponse. 

In our use case PE9/10 are occupied by for FMC_D6/D7 to drive the LCD.

As far as I can see there seem to be no other Pins that share ADF and MDF.

Best regards