Question
DFSDM on DMA mode initialization issues on MP1.M4 Core
Hi All,
I've been running into an issue when trying to activate and run the DFSDM peripheral for the M4 Core to sample a single digital Mic:
- Source code and device tree generated using STMCubeIDE V1.1.10. The compiled device tree is loaded into the image running in the A7 core of the unit being used for testing.
- DFSDM1 Clock Configured using:
System clock (208.87793 MHz)
Divider 104 for DFSDM Clk -> ~2 MHz
Fosr: 125 samples -> Sampling frec of ~16 kHz
Channel 5 being used for regular conversions on Filter 0, set in Continuous Mode and Software Trigger
- The DFSDM application code was coded based on the STM32L4 - Hands-on DFSDM Tutorial, and was successfully run on a F412ZG Nucleo using a MP34DT05 coupon board to provide the microphone.
- This application was then ported to an MP1.M4 project targetting the DK2 Eval board.
- After calling HAL_DFSDM_FilterRegularStart_DMA(), the regular half and full conversion callbacks that will be used to process the samples, HAL_DFSDM_FilterRegConvHalfCpltCallback() and HAL_DFSDM_FilterRegConvCpltCallback(), are not being called at any point.
- It was verified on scope that the DFSDM clock is being output to the Microphone at the configured frequency.
- Debugging the code it was noted that in SystemClockConfig() the HAL_RCC_OscConfig() call is returning error when trying to start the HSE. However, this does not seem to affect the rest of the code, since the DFSDM clock has the correct frequency being derived from the System Clock.
- The IRQ Handlers for DMA2_Stream0 and DFSDM_FLT exist.
