cancel
Showing results for 
Search instead for 
Did you mean: 

STM32 DFSDM simultaneous sampling of 8 MEMS microphones

RUlstrup
Associate

I am working on a project where I would like to gather PCM data from 8 MEMS microphones, and naturally I found the DFSDM peripheral interesting. The PCM data will be sent over lightpipe ADAT using a SAI but this is out of scope of this post.

This is based on a NUCLEO-H7A3ZI-Q.

My question is if it is necessary to have 8 DMA interrupts (one for each DFSDM filter), or could you make it run on only 1? This would save A LOT of overhead.

Right now I am starting the sampling synchronously with the first DFSDM filter (DFSDM_FLT0), but are having a lot of overhead because of the multiple interrupts. This gives almost no time to do additional audio processing. I would image that all the filters are sampling simultaneous, and should only have 1 interrupt when all filters are done?

Below is a picture of the system running, with 8 DMA interrupts and the sampling period is about 7.92us (Pink signal, marked with 2 cursors) which is a bit to slow for comfort.

0693W00000QLEStQAP.jpg 

Or if you have another idea how to get the system to be faster, I would appreciate it.

Thanks in advance! PS. English is my second language.

0 REPLIES 0