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.

[参考译文] TLV320AIC3107:设置麦克风偏置

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1068943/tlv320aic3107-setting-mic-bias

部件号:TLV320AIC3107

您好,

我不知道如何切换麦克风偏置电压级别。 我在下面将链接粘贴到驱动程序。

ALSA 中的控件无法让我选择电压级别。

https://www.ti.com/tool/TLV320AIC31XX-DRIVERS

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

    您好,

    通过 I2C 寄存器更改 MICBIAS 级别,以下是寄存器地址和值。

    此致。

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

    他,

    如果您不使用 Linux 和驱动程序,就会出现这种情况。
    驱动程序使 I2C 总线保持繁忙状态,因此您无法通过 i2c 命令通过总线进行通信。

    我必须使用 amixer 控件(ALSA),但 MICBIAS 没有控件

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

    您可以修改注册并重新加载吗?

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

    你好,吕克,

    您可以在固件或 DTS 中设置 MICBIAS。

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

    以下是 tlv320aic31xx.c 文件中的 MICBIAS 代码:

    fwnode_property_read_u32(aic31xx->dev->fwnode“ai31xx-micbias -vg”
    				&micbias);
    	开关(micbias 值){
    	 Case MICBIAS_2_0V
    	Case MICBIAS_2_5V
    	Case MICBIAS_AVDDV:aicBIAS_2_0v
    		;vbias = vg_bias = vig_vig_3xx-> vbias;vg/ vbias = vbias 
    		
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好,拉斐尔,

    我也注意到了这一点,但我不知道如何在操作期间切换 MICBIAS。

    所有其他函数在 ALSA 中都有一个可以切换的名称,但 amixer 控件中的 MICBIAS 没有打开。

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

    你好,吕克,这是一个供你参考的命令示例。

    i2cset -y -f 2 0x4c 0x11 0x00  

    这意味着在设备0x4C 地址处设置 I2C 总线2,并将0x11注册为0x00

    如果要同时运行2命令,可以使用:

    i2cset -y -f 2 0x4c 0x11 0x00和 i2cget -y -f 2 0x4c 0x19

    这意味着在设备0x4C 地址处设置 I2C 总线2,并将0x11注册为0x00,在设备0x4C 地址处获取 I2C 总线2,同时注册0x19。

    “&”是运行2命令的关键字。

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

    你好,拉斐尔,

    这确实是在没有 Linux 驱动程序的情况下执行此操作的方法。

    Linux ALSA 阻止我们编写 i2cset 或 i2cget 等命令。
    相反,我们必须使用:amixer cset name="name in driver"

    例如,驱动程序中有这些名称:amixer cset name="HP DAC Playback Volume"
    .c 和.h 的组合将使寄存器控件被删除。

    不幸的是,这些都不是我能看到的改变 MICBIAS 的名称。

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

    你好,吕克,

    为了让您知道这是中国团队的春节休假,下周拉斐尔将会回到您的面前。

    此致。

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

    你好,吕克,

    您可以在函数 HW_params 中添加代码以设置 MICBIAS。

    嗨 Peter,

    您能否共享 MICBIAS 寄存器的地址和值?

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

    MICBIAS 位于第0页 ,寄存器25,我认为 Luc 需要为不同的输入设置值。

    你好,吕克,

    请告诉我们拉斐尔的上述建议是否适合您。

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

    我会考虑这一点。

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

    谢谢。