2025-12-31 8:47 AM - last edited on 2025-12-31 8:56 AM by Andrew Neil
I'm trying to develop a basic PDM microphone to PCM audio data application on the NUCLEO-U575ZI-Q development board. I have tried to adapt the ADF_AudioRecorder application designed for the STM32U575I-EV and found at https://github.com/STMicroelectronics/STM32CubeU5/tree/5107fbd316d605704bb4c3ebf2126d4d1ba0e763/Projects/STM32U575I-EV/Examples/MDF/ADF_AudioRecorder
I can generate the ADF CCK0 clock output on PE09 (confirmed 1.01 MHz with my oscilloscope) and when connected to my PDM microphone, see the PDM output on its DATA line, also using my oscilloscope, and connect this to PE10.
Because I have no SAI and no audio CODEC attached, I just want to save the PCM formatted samples to memory at the moment, with a view to exporting over the VCOM port for verification in future. However, I'm stuck at the point of creating the samples. From the .ioc file attached, you should be able to see my configuration is, aside from the SAI, very similar to the example for the other U5 dev board. I am setting volatile flag variables in the DMA complete/half-complete interrupt callbacks in the user code section but neither appear to be triggering as my LED is staying either fully off or fully on (depending on whether I turn it on or off prior to entering my while{} loop). Verified by also probing LED with oscilloscope to confirm I'm not suffering a persistence of vision illusion.
GPDMA channel 11 interrupt is set up as far as I can tell and I'm successfully calling `HAL_MDF_AcqStart_DMA()`
@coppercrimp seemed to have some success in the past with this kind of application so I humbly ask if they would mind commenting (what extra info would be useful?), as well as ST staff and wider community.