cancel
Showing results for 
Search instead for 
Did you mean: 

How to get the PDM data by DFSDM module at STM32L4xx

hgyxbll
Associate II
Posted on February 09, 2018 at 02:17

I use DFSDM(at 

STM32L471RE

) to record voice.

the human's voice is record OK. but I can not record the

heartbeat voice. it is about 500Hz.

So I want to read the PDM data and 

analyze at PC.

How to get the PDM data?

I try to read DFSDM_CHyDATINR register, but can not read right value.

4 REPLIES 4
Posted on February 09, 2018 at 09:00

DFSDM_CHyDATINR is an input to the filters, not output.

To obtain raw data you need some deserializer external to DFSDM. The easiest perhaps is to feed the input data and clock to an SPI module, by connecting pins externally.

JW

Posted on February 09, 2018 at 10:19

Is your mean that I use SPI to read PDM data and  write the PDM data to 

DFSDM_CHyDATINR

  to do filter?

Posted on February 09, 2018 at 10:41

No. You said:

So I want to read the PDM data and 

analyze at PC.

I understood you want to analyze the raw data.

So I'd recommend to feed it in parallel to DFSDM and SPI, read out the filtered data from DFSDM and the raw data from SPI, and then process the raw data on PC and compare the results.

JW

Posted on February 12, 2018 at 01:39

Thanks.