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.

[参考译文] TLV320AIC3254:MICBIAS 问题

Guru**** 2482225 points


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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/868142/tlv320aic3254-micbias-issue

器件型号:TLV320AIC3254

美好的一天!

我们基于 AIC3254编解码器开发了音频子系统。 在 TI 提供的指南和参考设计的帮助下、我们成功地将编解码器连接到我们的主机处理器。 LOL/LOR 和 HPL/HPR 均可正确播放。 但我们遇到了一个问题- MICBIAS 引脚似乎没有加电。 我们将麦克风(ICS-40619)直接连接到麦克风、如方案所示:

麦克风各消耗165uA 的电流、因此 MICBIAS 引脚的3mA 拉电流能力应为 ENOUH。 我们还通过麦克风 PCB 迹线清楚地检测磁干扰、并在主机系统的输入通道上看到磁干扰、因此 ADC 和布线正常。 据我们所见,唯一的问题是 MICBIAS 没有为麦克风加电。

我们使用内部 LDO、因此我们将 LDOSEL 引脚连接到 VDDIO (1v8)。 电源连接方案:

我们按照指南初始化和设置编解码器的寄存器。 未从采用任何可能配置的 MICBIAS 引脚检测到响应。

您能告诉我们如何解决此问题吗?

此致、
Tony。

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

    您好、Tony、

    我没有看到任何明显的电路问题。 MICBIAS 放大器确实可以支持高达3mA 的负载电流、因此它应该能够为三个此类麦克风供电。 通过寄存器配置打开 MICBIAS 引脚时、是否可以移除麦克风并检查其电压。

    您还可以共享您正在使用的寄存器配置脚本吗? 我可以检查是否有任何寄存器配置不正确/缺失。

    此致。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    遗憾的是,不可能清除这些漫画--我们不能将它们归还。 但我们检查了 MICBIAS 引脚之间的电阻 
    和接地-它大约为1兆欧姆、因此引脚看起来不错。 我们还使用了示波器并观察了其在的启动、复位、启动和停止期间的行为
    录音-切勿切换。

    这是我们初始化编解码器寄存器的函数。

    静态 int aic32x4_codec_probe (struct snd_soc_codec *编解码器){ struct aic32x4_priv* aic32x4 = snd_soc_get_drvdata (编解码器); if (gpio_in_valid (aic32x4->rnstn_gpio))){ nDelay (10); r32x1_gpio_set_gpio->r32x4; } SND_SoC_WRITE (编解码器、AIC32X4_RESET、 0x01);//通过软件复位 SND_SoC_WRITE (编解码器、AIC32X4_LDOCTL、 0x09);//加电 AVDD LDO snd_soc_write (编解码器、AIC32X4_PWRCFG、 0x08);//在存在外部 AVDD 电源 的情况下禁用弱 AVDD SND_SoC_WRITE (编解码器、AIC32X4_LDOCTL、 0x01);//启用主模拟电源控制-加电 AVDD LDO SND_SoC_WRITE (编解码器、AIC32X4_CMMODE、 0x3B);//将全芯片共模设置为0.9V SND_SoC_WRITE (编解码器、AIC32X4_ADCPOWUNE、0x00);//选择 ADC PTM_R4 SND_SoC_WRITE (编解码器、AIC32X4_LDACPWRCTRL、0x00);//选择 DAC PTM_P3/4 SND_Soc ( 编解码器、0xCSC_WRITE、0x00) 0x32);//设置 MICPGA 启动延迟3.1ms SND_SoC_WRITE (编解码器、0xFB、 0x01);//将 REF 充电时间设置为40ms SND_SoC_WRITE (编解码器、AIC32X4_MICBIAS、 0x68);//将麦克风偏置(通过 LDOIN 上电)设置为2.5V (CM = 0.9V) snd_soc_write (编解码器、AIC32X4_CLKMUX、0x07); snd_soc_write (编解码器、AIC32X4_PLLPR、0x92); SND_SoC_WRITE (编解码器、AIC32X4_PLLJ、0x20); SND_SoC_WRITE (编解码器、AIC32X4_PLLDMSB、0x00); SND_SoC_WRITE (编解码器、 AIC32X4_PLLDLSB、0x00); SND_SoC_WRITE (编解码器、AIC32X4_NADC、0x84); SND_SoC_WRITE (编解码器、AIC32X4_mAdc、0x84); SND_SoC_WRITE (编解码器、AIC32X4_AOSR、0x80); SND_SoC_WRITE (编解码器、AIC32X4_NDAC、0x84); SND_SoC_WRITE (编解码器、 AIC32X4_MDAC、0x84); //将 D-OSR 设置为128 snd_SoC_write (CODEC、AIC32X4_DOSRMSB、0x00); snd_SoC_write (CODEC、AIC32X4_DOSRLSB、0x80); snd_soc_write (codec、AIC32X4_DACLGAUP、0xD4); //LOL 和 Lor 路由 snd_soc_write (codec、AIC32X4_LOLROUTE、0x08);//0x00 - no sound snd_soc_write (codec、AIC32X4_LOUTE、0x08 );/AIC32X4_LOSc (0x00、0x00、0xUSCCODEC)/NO_RUSCCODEC、0x64_RUS_RUS_WRITE、0x00、0x64_ON、0xUSCCODEC、0xUS_ON、0x00、0xUSCCODEC、0xUS_ON、0xUSCCODEC、 0xUS_ON、0xUSCCODEC、0xUS_ON、0x8_ON、0x08 ///LOL 增益至29db snd_soc_write (codec、AIC32X4_LORGAIN、0x1d);//lor 增益至29db /HPL 和 HPR 增益 snd_soc_write (codec、AIC32X4_HPGAIN、0x1d);//HPL 增益至29db snd_soc_write (v32x4 、acc 和 v3d);/ r32x4_dc (v/rbv/v3d (codecc 至38d_ac) //RDAC 卷至-38.5db /*麦克风 PGA 路由*/ snd_soc_write (codec、AIC32X4_LMICPGANIN、0x14);//IN2R 10K、IN3R 10k snd_soc_write (codec、 AIC32X4_LMICPGAPIN、0x14);//IN2L 10K、IN3L 10k SND_SoC_WRITE (编解码器、AIC32X4_RMICPGANIN、 0x10);//IN1L_10K SND_SoC_WRITE (编解码器、AIC32X4_RMICPGAPIN、0x40);//IN1R_10K SND_SoC_WRITE (编解码器、 AIC32X4_LMICPGAVOL、0x00);//取消左麦克风 PGA 的静音、增益至0dB SND_SoC_WRITE (编解码器、AIC32X4_RMICPGAVOL、0x00);//取消右麦克风 PGA 的静音、增益至0dB SND_SoC_WRITE (编解码器、AIC32X4_ADCETOL、0xC0);AIC32X4_ADCGA (加电)和 AIC32SC_WRITE (加电) 0x00);//UMUTE 左右 ADC SND_SoC_WRITE (编解码器、AIC32X4_PWRCFG、 0x08);//禁用 AVDD 与 DVDD SND_SoC_WRITE 的弱连接(编解码器、0x98、 0x28);//将左混音器放大 器静音 nd_soc_write (编解码器、0x99、 0x28);//将右侧混音器放大 器静音 nd_soc_write (CODEC、AIC32X4_OUTPWRCTL、0x0C);//输入共模 返回0; }
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Tony、

    您是否可以更改配置、以便在为所有其他模拟块加电后为麦克风偏置放大器加电?

    您可以尝试如下所示的操作:

    (1)从snd_soc_write(codec, AIC32X4_MICBIAS,0x68))器件初始化函数中删除 MICBIAS 配置。

    (2)在器件初始化函数的末尾(或在 ADC 上电后)添加 MICBIAS 配置、延迟可能为1或2秒。

    此致。

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

    你好 Diljith!

    我们解决了这个问题。

    我们将 P1_R123 (基准加电配置寄存器)从0x01更改为0x05 (加电时间= 40ms 时强制基准加电)。

    然后、我们将 P1_R51 (MICBIAS 配置寄存器)初始化从编解码器探针函数(在启动时仅调用一次)移动到主编解码器更新函数、该函数在播放或记录时调用。

    之后、我们实现了所需的同步立体声回放和立体声录音。

    此致、
    Tony。