This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

To support digital MEMS microphone



Hi,

We are using T4MC MCU for audio application. Is it possible for such MCU to work with digital MEMS microphone that produces PDM signal?

Thanks!

Tianlei

  • I am assuming that your mike outputs data via SPI bus, is that correct?
    There is no hardware PDM demodulation per se, but the TM4C MCU can surely receive the data from your microphone, and you will then convert it to your desired signal - is that your idea? There are application notes "out there" about PDM converting.
    Bruno
  • Bruno Saraiva said:
    I am assuming that your mike outputs data via SPI bus, is that correct?

    I wouldn't think so for PDM. I'd naively expect a pulse stream.

    Bruno Saraiva said:
    but the TM4C MCU can surely receive the data from your microphone, and you will then convert it to your desired signal - is that your idea?

    An obvious approach would be an analog filter. 

    Robert

  • Hi Bruno,
    Thanks for reply. I think I2S microphone is an option for us. In the mean while, I am wondering how difficult is it to support PDM microphone. Can you please provide the link for the PDM converting application notes?
  • Robert Adsett said:
    I wouldn't think so for PDM. I'd naively expect a pulse stream.

    I was thinking of three other subjects at the same time, and certainly had some sort of synapsis short circuit going on! I should probably blur out my previous post...

    The application note I thought about makes use of a I2S input - which is not a hardware available in TM4Cs...

    And only to add an alternative approach - the use of a dedicated IC - here's a thread from the subject's TI's Forum:

    https://e2e.ti.com/support/data_converters/audio_converters/f/64/t/553593

  • As I replied to Robert, I was mixing unrelated things in a pot when I replied, sorry.

    He is correct on mentioning an analog filter - an external low pass would do it, but I have never evaluated the quality compromise on such. Other option would be to implement a digital filter inside the MCU, depending on the frequency of your signal...

    I'll hope that someone more into the audio domain is able to help you here...
  • Bruno Saraiva said:
    I was thinking of three other subjects at the same time, and certainly had some sort of synapsis short circuit going on! I should probably blur out my previous post...

    Can't imagine how that would happen ;)

    Bruno Saraiva said:

    And only to add an alternative approach - the use of a dedicated IC - here's a thread from the subject's TI's Forum:

    e2e.ti.com/.../553593

    Probably better quality output than a simple analog filter.

    Robert

  • Do note - while all such MCU vendors gravitate toward, "Kitchen Sink" (i.e. do more that (effectively/properly) designed to encompass) there are similarly priced/sized ARM MCUs w/ "in-built" I2S! (poster made specific mention of I2S)

    Most always - all such "recreated/cobbled methods" cannot match the speed, performance, price nor robustness of a "designed to purpose" device!     AND these "attempts" expend user time/effort/funds - to reach such (often disappointing) discovery!

    Users must become "better Tech Investigators" (sail to/visit many shores) or they "Self-Limit" their choices & capabilities - never good!

  • Hi all,
    Just some background of the application: we have used the T4MC MCU for audio (16KHz sample both in and out) without a CODEC and got very decent result. The little remaining problem is, the on-chip ADC only has 12-bit depth. Ideally, we want to make it to 16-bit. Using a PDM digital microphone seems to be ideal solution. No analog circuit is even needed.
  • Hi Tianlei,
    Are you looking for a digital decimation filter in software to convert PDM to PCM? As noted by Bruno/cb1, there is no native I2S interface to take the microphone PDM input in TM4C. You will need to use dual SPI to emulate the I2S. 

  • Hi Chales,
    Yes. We are not sure if such filter can be implemented on the MCU. Also, we are not sure if the MCU can accept PDM stream.
  • Hi Tianlei,
    I think the digital microphone will have the I2S interface to output the PDM. As already noted by cb1/Bruno, there is no native I2S port on TM4C. You will need to do some emulation using the SPI. The CMSIS DSP library has various filtering (i.e. FIR) functions that you can explore if they will suit your application requirements. Since I'm not an expert in audio application I can't really tell if CMSIS DSP filtering provides the adequate performance.
  • Thank you Charles. The information you provided is very helpful.