Skip to main content
hgyxbll
Associate II
February 9, 2018
Question

How to get the PDM data by DFSDM module at STM32L4xx

  • February 9, 2018
  • 1 reply
  • 1198 views
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.

    This topic has been closed for replies.

    1 reply

    waclawek.jan
    Super User
    February 9, 2018
    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

    hgyxbll
    hgyxbllAuthor
    Associate II
    February 9, 2018
    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?

    waclawek.jan
    Super User
    February 9, 2018
    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