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.

[参考译文] TLV320ADC6120:使用 TLV320ADCx120录制 PDM 麦克风

Guru**** 2382480 points
Other Parts Discussed in Thread: TLV320ADC6120
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1322779/tlv320adc6120-record-a-pdm-microphone-using-tlv320adcx120

器件型号:TLV320ADC6120

嗨、

我正在尝试使用 TLV320ADC6120对 PDM MEMS 麦克风进行采样。

此 ADC 通过 I2C 进行配置、而其输出则通过 I2S 使用 ESP32C6进行读取。 我将使用 PDM 输出板(https://learn.adafruit.com/adafruit-pdm-microphone-breakout)来生成 PDM 数据。

分线板的连接方式如下:

数据-------- IN2P_GPI1
CLK-------- IN2M_GPO1
选择--GND
GND----- 接地
3V------- 输入电压

这些是上电后通过 I2C (没有 NAK)发送的设置:

//等待1ms

h4e wr h00 //选择第0页
h4E WR h02 H81 // SLEEP_CFG:= SLEEP_CFG_DEFAULT | SLEEP_CFG_AREG_SELECT_INTERNAL | SLEEP_CFG_SLEEP_ENZ_ACTIVE

//等待1ms

h4e wr h00 //选择第0页
h4E WR h07 // ASI_CFG0:= ASI_CFG0_DEFAULT | ASI_CFG0_FORMAT_I2S
//(分线板在数据和 GPI1之间没有电容,因此我们需要使用 CH1_CFG0_DC_DC
h4E wr h3C h50 // ch1_CFG0:= CH1_CFG0_DEFAULT | CH1_CFG0_INSRC_PDM | CH2_CFG0_INSRC_PDM | CH1_CFG0_DC_DC
h4E WR H22 H41 // GPO_CFG0:= GPO_CFG0_DEFAULT | GPO_CFG0_GPO1_CFG_PDMCLK | GPO_CFG0_GPO1_DRV_ACTLOW_ACTHIGH
//实际上这不是必需的,但不应更改任何内容
h4E WR H21 H63 // GPIO_CFG0:= GPIO_CFG0_DEFAULT | GPIO_CFG0_GPIO1_CFG_PDMCLK | GPIO_CFG0_GPIO1_DRV_ACTLOW_ACTHIGH
//不需要 ch2
h4E WR h2B H45 // GPI_CFG0:= GPI_CFG0_DEFAULT | GPI_CFG0_GPI1_CFG_PDMDIN1 | GPI_CFG0_GPI2_CFG_PDMDIN2
h4E WR h73 hF0 // IN_CH_EN:= IN_CH_EN_CH1_ENABLED | IN_CH_EN_CH2_ENABLED | IN_CH_EN_CH3_ENABLED | IN_CH_EN_CH4_ENABLED
h4E wr h74 hC0 // ASI_OUT_CH_EN:= ASI_OUT_CH_EN_CH1_ENABLED | ASI_OUT_CH_EN_CH2_ENABLED

//等待1ms

h4e wr h00 //选择第0页
h4E WR H75 H60 // PWR_CFG:= PWR_CFG_DEFAULT | PWR_CFG_ADC_PDZ_ON | PWR_CFG_PLL_PDZ_ON

然后、时钟在 GPO1上使用大约2.8MHz 运行。

问题在于数据似乎不包含任何有用的数据。 我只收到噪音、但没有声音。 我还必须使用高增益来查看任何信号。
有趣的是、如果麦克风根本未通电、数据信号看起来类似。

音频信号中可以看到响亮的声音(例如麦克风附近的咔嗒声)、即使您在收听录制的音频时无法识别这些声音也是如此。 它看起来像是单个振荡。

如果将 ADC 配置为对模拟信号进行采样、它会正常工作、因此我的配置过程存在问题。

由于在对模拟麦克风进行采样时 I2C 和 I2S 工作正常、因此应该不会出现问题。

您有什么想法、为什么我没有通过 I2S 收到任何有用的数据? 我的配置中是否缺少一些必需的参数?

提前感谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    只是为了澄清..

    麦克风的时钟频率是否为2.8Mhz?

    是否存在打开数据输出的切换?

    选择线路接地是否与主板上的麦克风选择相对应?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    麦克风的时钟频率是否为2.8Mhz?

    是的、2.8MHz 是麦克风的时钟频率。

    是否存在打开数据输出的切换?

    这是信号(时钟和数据)的屏幕截图。


    选择线路接地是否与主板上的麦克风选择相对应?

    接地意味着将分线板上的选择引脚设置为 GND。 (在 ESP32上、我仅评估通过 I2S 发送的左声道、但结果不会随选择的电压而变化。)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您可以在麦克风的数据线上放置一个截止频率为100kHz 的 RC 低通滤波器、输出将显示麦克风输出的模拟等效滤波器。 如果1K 信号作为声音馈送到麦克风、则 C 端的电压应具有正弦波。