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.

[参考译文] TLV320AIC3104:在 HPL 和 HPR 上无法获得音频

Guru**** 2482225 points
Other Parts Discussed in Thread: AM5718, TLV320AIC3104

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/863001/tlv320aic3104-not-getting-audio-at-hpl-and-hpr

器件型号:TLV320AIC3104
主题中讨论的其他器件:AM5718

您好!

我们使用 AM5718处理器开发了定制板、并使用 ti-processor-sdk-linux-am57xx-evm-05.02.00.10、我们有一个音频编解码器 TLV320AIC3104。 当我们播放的音频文件中包含 MCLK、WCLK、BCLK 和 DIN 以及 i2c SCLK 和 sda、但在 HPL 和 HPR 中没有收到音频时、我们无法理解可能是什么问题、请帮助我们解决此问题。 请找到随附的 Davinci-McAP.c 文件和 DTS 文件。

谢谢、此致
Venkata Prasad.P

e2e.ti.com/.../davinci_2D00_mcasp.c_2600_dts.zip

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

    Venkata、您好!

    遗憾的是、我们不支持任何与驱动程序相关的问题或代码修改。 如果您可以提供寄存器转储、以便我了解器件的配置情况、这将大有帮助。  

    此致、

    Aaron

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

    您好、先生、

    请找到所附的寄存器转储。

    e2e.ti.com/.../Register_5F00_dump_5F00_aplay.zip

    谢谢、此致、
    Venkata Prasad.P

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

    Venkata、您好!

    很抱歉、但我在理解 ReG_address 和 Value 格式时遇到了一些问题。 您能解释一下如何阅读此内容吗? 它看起来不像十六进制或十进制。 一些见解会有所帮助。

    同时、我可以提供一些有关可能的寄存器配置的信息供您检查。  

    1.确保 ASI 设置配置正确。  

    2.检查 DAC 是否已通电且未静音

    3.检查输出是否正确配置

    此致、

    Aaron

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

    您好!

    这些是我们对达芬奇-McASP.c 文件中的寄存器转储所做的更改。

     静态空 McASP_START_TX (结构 DaVinci_McASP * McASP)

    printk (Kern_info "/**** McASP3配置 寄存器转储寄存器******* /\n");
    mcasp3_base = ioremap (0x48468000、4096);
    for (ui_temp = 0;ui_temp<1024;ui_temp++)

       值= __raW_readl (mcasp3_base +(ui_temp*4));     
       printk (Kern_info "Reg_address =%x,value =%x \n ",(0x48468000 +(ui_temp*4),value);

    谢谢、此致
    Venkata Prasad.P

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

    Venkata、您好!

    是否可以发送十六进制或十进制格式的寄存器转储。

    此致、

    Aaron

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

    您好、先生、

    REGISTER_ADDRESS 和值仅以十六进制格式打印。

    谢谢、此致
    Venkata Prasad.P

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、先生、
       通过 使用 i2c 工具设置寄存器值、我们将在 HPL 和 HPR 输出处获得音频、如下所示。
    我正在使用 Apply file.wav &在后台播放音频文件、并设置以下寄存器值、然后只有我们才能获得音频信号。 默认情况下,我们需要设置这些值以获取音频。

    i2cset -f -y 0 0x18 0x40 0x80  //* DAC_R1路由到 HPROUT。 寄存器64
    i2cset -f -y 0 0x18 0x3D 0x80 /* DAC_L1路由到 HPROUT。 寄存器61
    i2cset -f -y 0 0x18 0x33 0x0F  /* HPLOUT 输出电位控制寄存器51
    i2cset -f -y 0 0x18 0x41 0x0F  /* HPROUT 输出电压控制寄存器65
    i2cset -f -y 0 0x18 0x32 0x80 //* DAC_R1路由到 HPLOUT。 寄存器50
    i2cset -f -y 0 0x18 0x2F 0x80 // DAC_L1 路由到 HPLOUT 寄存器47  
    i2cset -f -y 0 0x18 0x2C 0x00  //右 DACchannelis not sadm静 音。 设置0dB 寄存器44
    i2cset -f -y 0 0x18 0x2B 0x00  //左侧 DACchannelis not sleaded。 设置0dB 寄存器43

    谢谢、此致
    P. Venkata Prasad。

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

    Venkata、您好!  

    感谢您提供的信息!

    LDAC 和 RDAC 是否已在寄存器37中通电?

    此致、
    Aaron

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

    您好、先生、

    是的、 LDAC 和 RDAC 仅处于开机状态、寄存器37 (0x25)的值为0xc0。

    我们需要在播放文件后写入寄存 器、然后只有我们才能获得音频。 我们必须在驱动程序中设置上述寄存器值。

    低于我们在播放音频文件时获得的寄存器值。

    root@am57xx-EVM:~# aplay file_example_WAV_1MG.wav &
    [1] 774
    播放波'file_example_wav_1mg.wav':[427.646352] 输入 DaVinci_McASP_set_Dai_fmt ()
    有符号16位小端序、速率8000Hz、立体声
    [427.653153] case snd_SOC_DAIFMT_CBM_CFM
    root@am57xx-EVM:~#[427.717523] CM_L4PER2_MCASP3_CLKCTRL 7000002


    root@am57xx-EVM:~# i2cget -f -y 0 0x18 0x40
    0xaf
    root@am57xx-EVM:~# i2cget -f -y 0 0x18 0x3D
    0x00
    root@am57xx-EVM:~# i2cget -f -y 0 0x18 0x33
    0x0B
    root@am57xx-EVM:~# i2cget -f -y 0 0x18 0x41
    0x0B
    root@am57xx-EVM:~# i2cget -f -y 0 0x18 0x32
    0x00
    root@am57xx-EVM:~# i2cget -f -y 0 0x18 0x2F
    0xaf
    root@am57xx-EVM:~# i2cget -f -y 0 0x18 0x2C
    0x28
    root@am57xx-EVM:~# i2cget -f -y 0 0x18 0x2b
    0x28
    root@am57xx-EVM:~#

    请帮助我们解决此问题。

    谢谢、此致
    P. Venkata Prasad。

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

    Venkata、您好!

    似乎您找到了正确的寄存器、可以使用以下寄存器在输出端获取音频:  

    i2cset -f -y 0 0x18 0x40 0x80  //* DAC_R1路由到 HPROUT。 寄存器64
    i2cset -f -y 0 0x18 0x3D 0x80 /* DAC_L1路由到 HPROUT。 寄存器61
    i2cset -f -y 0 0x18 0x33 0x0F  /* HPLOUT 输出电位控制寄存器51
    i2cset -f -y 0 0x18 0x41 0x0F  /* HPROUT 输出电压控制寄存器65
    i2cset -f -y 0 0x18 0x32 0x80 //* DAC_R1路由到 HPLOUT。 寄存器50
    i2cset -f -y 0 0x18 0x2F 0x80 // DAC_L1 路由到 HPLOUT 寄存器47  
    i2cset -f -y 0 0x18 0x2C 0x00  //右 DACchannelis not sadm静 音。 设置0dB 寄存器44
    i2cset -f -y 0 0x18 0x2B 0x00  //左侧 DACchannelis not sleaded。 设置0dB 寄存器43

    但默认情况下、您将获得:

    root@am57xx-EVM:~# i2cget -f -y 0 0x18 0x40 0xaf
    root@am57xx-EVM:~# i2cget -f -y 0 0x18 0x3D 0x00
    root@am57xx-EVM:~# i2cget -f -y 0 0x18 0x33 0x0B
    root@am57xx-EVM:~# i2cget -f -y 0 0x18 0x41 0x0B
    root@am57xx-EVM:~# i2cget -f -y 0 0x18 0x32 0x00
    root@am57xx-EVM:~# i2cget -f -y 0 0x18 0x2F 0xaf
    root@am57xx-EVM:~# i2cget -f -y 0 0x18 0x2C 0x28
    root@am57xx-EVM:~# i2cget -f -y 0 0x18 0x2b 0x28
    root@am57xx-EVM:~#

    您希望默认设置上述第一组? 我的理解是否正确? 如果是、那么这是一个驱动程序/编码问题、很遗憾、我无法帮助支持这一点。  

    此致、

    Aaron