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.

DMIC support for voice and noise cancellation

We wish to use DMIC1 to support 2x microphones in a noise cancellation application  - one for incident voice (L channel), one for ambient noise (R channel).
Are any OMAP restrictions or issues in implementing noise cancellation with hardware configured this way.  I am expecting that the SW will simple be able to treat these two microphones completely separately and process them as incident mic and noise cancellation mic.  Does TI have noise cancellation SW that we could use with the hardware configured this way.  Is it best to use MM_UL2, MM_UL1 or VX_UL? What configuration would your SW solution use?
  • Hello David,

    1. There are no restrictions on OMAP  side to use two microphones connected to the DMIC.

    The DMIC has  6 audio paths, hence it supports up to three stereo microphones and up to 6 mono microphones. Each path is enabled/disabled independently from:

    • DMIC_CTRL[0] DMIC_UP1_EN
    • DMIC_CTRL[1] DMIC_UP2_EN
    • DMIC_CTRL[2] DMIC_UP3_EN

    The audio data is outputted inside a fifo. The data of each of the six paths, can be read by accessing DMIC_DATA_REG.  More information is available in 23.7.4.8.3 FIFO Output Range Definition ( register description in Table 23-528. Audio Data Path Registers).

    2. TI does not provide ready to use noise cancellation SW.  What I found are a couple of links (App reports, Audio addendum & audio driver architecture info) that could help in your case:

    http://www.ti.com/lit/an/spra042/spra042.pdf - application report for Design of Active Noise control System using the TMS320 family of DSPs

    http://www.ti.com/lit/ug/swpu245h/swpu245h.pdf - Audio Back End and Hardware Abstraction Layer (HAL) addendum for OMAP4460

    http://omappedia.org/wiki/Audio_Drive_Arch - Audio driver architecture article.

    3.  Regarding your last question:

    MM_UL - used for DMIC Multimedia Capture

    VX_UL - used for DMIC Vouce Capture

    MM_UL2 - is not appropriate in your case, because it is used for AMIC Multimedia Capture (it is for analog microphones interfacing with the TWL codec).

      for additional info see  http://omappedia.org/wiki/Audio_Drive_Arch

    Hope this helps.

    Best Regards,
    Yordan