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.

[参考译文] TLV320AIC3105:回放和录制停止工作

Guru**** 2390755 points
Other Parts Discussed in Thread: TLV320AIC3105, TLV320AIC3105EVM-K

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/653338/tlv320aic3105-playback-and-record-stop-working

部件号:TLV320AIC3105

您好,

我在测试播放和录制时遇到了tlv320aic3105的问题。 打开音频板,配置tlv320aic3105,测试播放和录制,它们看起来很好;但在测试播放和录制后,tlv320aic3105停止工作,我必须重置tlv320aic3105才能使播放和录制再次工作。 我不知道为什么tlv320aic3105停止工作。

此致,

Bruce

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

    很抱歉,TLV320AIC3105出现了一些问题。 我很乐意为您提供帮助,但首先让我们了解更多信息。

    1:您是否正在使用TLV320AIC3105EVM-K? 还是您自己的设计?

    2:当您说它停止工作时,您是否能够读/写寄存器?

    3:您测试播放/录制的流程是什么? 我只是好奇,因为你说回放/录音可以工作,但它停止工作,所以在回放之间的哪一点,录音可以工作,设备是否停止工作?

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

    感谢您的回复。

    我使用的是我们自己的设计。 我正在使用aplay/arecord命令来测试播放/录制。

    当代码停止工作时,我仍然能够写入/读取寄存器。

    我可以在打开主板电源后播放和录制(处理器和编解码器);一段时间后(几分钟或1~2小时),编解码器停止工作,我无法再播放和录制。 我必须关闭系统并重新启动才能使其正常工作。 另外,录音时有很大的噪音。


    此致,
    Bruce
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的,您能否确认所有寄存器都正确?
    如果您正在使用PLL,您是否可以共享P,R,J,D设置和PLL_CLK频率?

    -读取ADC/DAC溢出标志的寄存器11。
    -尝试执行软件重置(写入0x80到寄存器0),然后重新初始化编解码器并查看它是否工作。

    我假设编解码器连接到某种DSP或处理器,我只想看看编解码器或处理器是否导致了问题。

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

    您好,Steve,

    以下是捕获的寄存器值:

    第0页/注册3:0x20 (P=8,Q=4,PLL已禁用)

    第0页/注册4:0x04 (J=1)

    第0页/注册5:0x0

    第0页/注册6:0x0 (D=0)

    第0页/寄存器11:0xC1 (ADC溢出)

    我检查了系统时钟是2457.6万,FS ref (采样率)是4.8万。

    它看起来ADC已溢出。 我正在执行软件重置(将0x80写入第0/register 1页),但它不起作用,我必须关闭系统(主机处理器AM335x和tlv320aic3105)并重新启动以使它们再次工作。

    当编解码器播放和录制工作时,录制有很大的背景噪音。

     

    此致,

    Bruce

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

    我曾尝试将此线程“拆分”到Sitara处理器论坛中。 我希望这条线能在那里得到一些推动力。

    同时,请参阅下面的wiki页面,其中包含有关ALSA驱动程序问题的一些建议:

    processors.wiki.ti.com/.../AM335x_Audio_Driver's_Guide
    processors.wiki.ti.com/.../Processor_SDK_Linux_Audio
    processors.wiki.ti.com/.../Linux_Core_Audio_User's_Guide

    并参阅以下有关Sitara处理器的ALSA McASP问题的论坛帖子
    e2e.ti.com/.../19.2338万 -使用arecord -f cd | aplay进行回送
    e2e.ti.com/.../44.7311万 -帧同步计时不满足

    我对您正在使用的ALSA驱动程序配置的McASP设置很好奇。 我对McASP时钟配置感兴趣-谁在驱动时钟? 如果McASP记录了任何溢出/下溢。

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

    以下是设备树中的I2S配置:

    /* ping分配*/
    McASP0_PINS_DEFAULT:McASP0_PINS_DEFAULT {
    pinctrl-single,pins =<
    0x190 (PIN_INPUT_PLUUP | MUX_MODE0)/*(A13) McASP0_aclkx.McASP0_aclkx */
    0x194 (PIN_INPUT_PULUP | MUX_MODE0)/*(B13) McASP0_FSX.McASP0_FSX */

    0x198 (PIN_INPUT_PLUUP | MUX_MODE0)/*(D12) McASP0_axr0.McASP0_axr0 */
    0x19c ( PIN_OUTPT_PLUUP | MUX_Mode2 )/*(C12) McASP0_ahclkr.McASP0_axr2 */

    0x06c (PIN_OUTPT_PULLDOWN | MUX_MODE7)/* GPMC_A11.GPIO1_27 */

    >;
    };


    i2c2{
    状态="正常";
    tlv320aic3x:tlv320aic3x@18{
    兼容="ti,tlv320aic3x";
    REG =<0x18>;
    状态="正常";

    ai3x-micbias vg =<MICBIAS_AVDDV>;
    /* a3x-micbias vg =<0x3>;*/
    /*调节器*/
    AVDD-SUPPLY =<&vaudio_3V3>;
    IOVdd-supply =<&vaudio_3V3>;
    DRVDD-SUPPLY =<&vaudio_3V3>;
    DVDD-supply =<&vaudio_1v8>;
    };
    };


    &McASP0 {
    pinctrl-names ="default";
    pinctrl-0 =<&McASP0_PINS_DEFAULT>;
    状态="正常";
    OP模式=<0>; /* MCASP_IIS_MODE */
    TDM插槽=<2>;
    num-serializer =<16>;
    serial-dir =</* 0:非活动,1:TX,2:Rx */
    2 0 1 0
    0 0 0 0
    0 0 0 0
    0 0 0 0
    >;
    tx-num-evt =<32>;
    rx-num-evt =<32>;
    };

    /*声卡*/
    /{
    CLK_McASP0_FIXED:CLK_McASP0_FIXED {
    #clock-cells =<0>;
    兼容="固定时钟";
    时钟频率=<2457.6万>;
    };

    CLK_McASP0:CLK_McASP0 {
    #clock-cells =<0>;
    兼容="GPIO栅极时钟";
    Clocks =<&clk_McASP0_fixed>;

    enable-GPIOs =<&GPIO1 27 0>;/* GPIO1_27上的BeagleBone Black Clk启用*
    };


    声音{
    兼容="ti,da850-EVM-audio";
    TI,型号="DA850 EVM";
    TI,音频编解码器=<&tlv320aic3x>;
    TI,McASP-controller =<&McASP0>;
    TI,音频路由=
    "耳机插孔", "HPLOUT",
    "耳机插孔", "HPROUT",
    "LINE1L", "线路输入",
    "LINE1R", "线路输入";
    Clocks =<&clk_McASP0_fixed>;
    Clock-names ="MCLK";
    };
    };

    在DaVinci EVM.c中,
    静态结构snd_so_da_link da850_evm_dai ={
    .name ="TLV320AIC3X",
    .STREAM_NAME ="AIC3X",
    CPU_DAI_NAME="DaVinci-McAF.0",
    codec_dae_name ="tlv320aic3x-hifi",
    codec_name ="tlv320aic3x-codec.1-0018",
    .platform_name ="DaVinci-Mcasp.0",
    .init = evm_aic3x_init,
    ops =&EVM_ops,
    .da_fmt = snd_so_DAIFMT_I2S | snd_so_DAIFMT_CBM_CFM |
    Snd_SOC_DAIFMT_NB_NF,
    };

    由于我对McSP0的发送器和接收器都使用TX时钟,因此清除了DaVinci MCASP_ACLKXCTL_REG的TX_Async位,以便在DaVinci-McASP.c中设置同步模式

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

    感谢你的帮助。

    在我的情况下,编解码器是主要的。 问题是:运行播放或录制后,离开主板一段时间(半小时~ 2小时),播放或录制不再工作。 我必须重新启动编解码器板才能使其重新工作。

    此致,
    Bruce
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们的编解码器上确实有溢出标志,您是否也可以检查McASP?
    -Steve
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Bruce,

    您是否仍遇到问题? 或者这个问题是否已经解决?

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

    您好,Steve,

    TLV320AIC3105现在工作正常,我重新配置了芯片以解决ADC溢出问题。

    谢谢!

    Bruce