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.

[参考译文] TLV320AIC34:LINE2LP_x 和 LINE2LM_x 至 HPLOT_x 音频路径、但无声音

Guru**** 2482105 points


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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/847994/tlv320aic34-line2lp_x-and-line2lm_x-to-hplout_x-audio-path-but-no-sound

器件型号:TLV320AIC34

您好、E2E 论坛、

我目前正在进行电路板检查、只需将差分音频信号旁路到 LINE2LP_A 和 LINE2LM_A 输入端口、并以差分方式输出 HPLOT_A 和 HPLOC_A 端口的声音。 我一直在使用 i2c Linux 驱动程序配置音频编解码器。 我一直在运行 i2cset 命令和 i2cdump 命令来验证我的配置更改。 以下是我一直写入的以下寄存器:

1 reg 20:将 LINE2LP_x 和 LINE2LM_x 添加到左侧 ADC 控制寄存器(将输入设置为差分)
十六进制地址= 0x14  
值= 0xf8
2. reg 40:高功率输出级控制寄存器(将输出设置为差动)
十六进制地址= 0x28
值= 30
3. reg 45:将 LINE2LP_x 和 LINE2LM_x 路由到 HPLOT_x 音量控制寄存器(将 LINE2LP 输入路由到 HLPOUT)
十六进制地址= 0x2D
0x80
4. reg 51:HPLOT_x 输出电平控制寄存器(取消对 HPLOUT 的静音,将增益设置为9dB)
十六进制地址= 0x33
值= 0x98
 
5. reg 52:将 LINE2LP_x 和 LINE2LM_x 路由到 HPLOC_x 音量控制寄存 器(将 LINE2LP 输入路由到 HLPCOM)
十六进制地址= 0x34
值= 0x80
6. reg 58:HPLCOM_x 输出电平控制寄存 器(撤消 HPLCOM 的静音,将增益设置为9dB)
十六进制地址= 0x3A
值= 0x98
我已查看驱动 程序 tlv320aic3x.c 代码并提取了将 LINE2LP_x 和 LINE2LM_x 芯片初始化为 HPLOT_x 音频路径所需的寄存器。 任何建议都是有用的。 此外、您能否通过命令行连接 snd-soc–tlv320aic3x 内核驱动程序? 我正在将驱动程序添加到我的内核映像中。
谢谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我已经在第18页的数据表中附上了 tvl320aic34的架构方框图图像。 我已突出显示了我要配置的旁路音频路径。

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

    你好 Jonathan、

    查看您的寄存器设置、我注意到您没有为 HPLOUT 和 HPCOM 驱动器完全上电。 我要将寄存器51和58中的 D0位更改为1。 您当前正在写入0。  

    至于您第二个有关内核驱动程序的问题、很遗憾、我不熟悉驱动程序实现、无法对此进行评论。 我们还不支持与驱动程序相关的问题。  

    希望我的建议能解决您的问题!

    此致、

    Aaron

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

    Aaron、您好!

    我启用了这两个位、但没有解决我的问题。 我确实注意到、寄存器51和58的位 D1现在有效、因此读回的值为0x9B (对于两个寄存器)。 我将增益设置为最高、只是为了确保我能够听到扬声器发出的一些噪声。 是否应将该 D1位设置为0?

    此致、

    Jonathan Chew

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

    Jonathan、

    这实际上是数据表打印错误。 以下是将在当前正在进行的下一个数据表修订版中实施的更正列表。

    寄存器51、58、65、72、86和93–D1当前读取  

    "D1 = 0、此时"已应用所有已编程的增益来*在此处输入输出名称*"

    当"尚未应用所有编程增益*在此输入输出名称*时"D1 = 1

    D1 = 1时的复位值

    这应改为:

    D1 = 0、此时"尚未应用所有要在此处输入输出名称*的已编程增益"

    "D1 = 1"已应用所有编程增益*在此输入输出名称*"

    D1 = 0时的复位值

    寄存器86和96 - D0为 R/W


    关于您的配置、

    我可以在 EVM 上使用您的配置、并在 HPLOUT 和 HPLCOM 的输出上看到 Line2L 信号

    请注意、您的当前配置中已将 HPLCOM 配置为 HPLOUT 的差分输出。   因此、如果您希望它们具有相同相位的相同信号、则需要在寄存器37中配置 D5-4。 (HPLCOM 输出驱动器配置)

    此致、

    -Steve Wilson

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

    您好 Steve、

    感谢您对数据表打印错误的澄清。 这让我感到欣慰的是、我的配置正在 EVM 上工作、因此在其他地方可能会出现问题。 我确实注意到寄存器37被设置为0x00 (默认值)、因此、已经将 HPLCOM 视为 HPLOUT 的差分信号。 要将音频信号配置为相位对齐、我不必对该寄存器进行任何更改?

    谢谢、

    Jonathan Chew

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

    您好 Steve、

    更多信息、这是我当前寄存器映射的样子:

    如果您可以转储工作中的 EVM 配置寄存器或进行修改以查看是否有任何问题突出、这将非常有帮助。 在有一个工作寄存器映射的情况下、我可以将此线程标记为已解析。 此外、是否有一个状态寄存器可以指示音频信号进入编解码器?

    谢谢、
    Jonathan Chew

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

    你好 Jonathan、

    您在初始帖子中提供的寄存器只是更改过的寄存器。 所有其他设置为默认值。 我明天可以提供准确的寄存器设置。  

    此致、

    Aaron

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

    Aaron、您好!

    我能够绕过声音。 感谢您的帮助!

    此致、

    Jonathan Chew