2024-02-15 06:35 AM
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!
Solved! Go to Solution.
2024-03-03 11:29 PM
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
2024-02-19 04:05 AM
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,
2024-03-03 11:29 PM
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