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.

[参考译文] TAS2555:关于 TAS2555如何响应 I2S 输入的问题

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1202085/tas2555-question-regarding-how-the-tas2555-responds-to-i2s-inputs

器件型号:TAS2555

伊凡、您好!

 当我通过 I2S 向 TAS2555发送有限的音频数据流时、我对 TAS2555的行为感到困惑。 我希望你能帮助我了解正在发生的事情。

测试程序将一个包含192个 L/R 样本的表流式传输、其中4kHz 正弦波的振幅增大。 将所有192个 L/R 样本传输到 TAS2555后、I2S 将关闭。 表中的第一个样本为零值、但之后、表中的值立即开始生成幅度增加的4kHz 正弦波。

我还要说明一点、我已经在 Amp Init ()调用(ROM 模式1)和 DMA/I2S 初始化之间设置了100mS 的延迟、以确保放大器应该为输入做好准备(请参阅下面的代码)。

AMP_I2CInit ();  //ROM 模式1

DelayMsWatchdog (100、WDT_MAIN);

DMA_AMP_Init ();

CY_DMA_CHANNEL_Enable (DMA_AMP_HW、DMA_AMP_DW_CHANNEL);
I2S_AMP_Start ();

在下面的示波器迹线中 、黄色迹线显示 I2S WCLK、 蓝色迹线显示 TAS2555音频输出。  

我有两个问题:

1) 1)我希望放大器的音频输出基本上与 I2S 输入"同步"响应。 然而、音频输出似乎明显延迟(相对于 I2S 流)约1ms。  您能解释一下这种延迟吗?

2) I2S 值流结束后、我希望看到直流音频信号、因为没有新的 I2S 值传输到放大器中。 相反、放大器的音频输出似乎 始终继续驱动4kHz 信号的一部分? 您能解释一下吗?

谢谢。

丰富

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

    您好、Rich:

    您能否共享用于 TAS2555的寄存器配置?

    此致、
    -Ivan Salazar
    应用工程师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    void Amp_I2CInit ()
      //页0
      Amp2555_i2cRegWrite (0x000x00);
      //第0本书
      Amp2555_i2cRegWrite (0x7f0x00);
      //软件复位
      Amp2555_i2cRegWrite (0x010x01);
      //使用延迟>= 100us
      BlockingDelayMs (0x01);
      //静音/断电/复位结束
      // PLL 开始
      Amp2555_i2cRegWrite (0x000x00);
      Amp2555_i2cRegWrite (0x7f0x00);
      Amp2555_i2cRegWrite (0x000x01);
      Amp2555_i2cRegWrite (0x730x0F);
      Amp2555_i2cRegWrite (0x740x0d);
      Amp2555_i2cRegWrite (0x000x00);
      Amp2555_i2cRegWrite (0x7f0x64);
      Amp2555_i2cRegWrite (0x1b0x01);
      Amp2555_i2cRegWrite (0x1c0x07);
      Amp2555_i2cRegWrite (0x1d0x00);
      Amp2555_i2cRegWrite (0x1E0x00);
      Amp2555_i2cRegWrite (0x200x07);
      Amp2555_i2cRegWrite (0x220x08);
      Amp2555_i2cRegWrite (0x020x10);
      Amp2555_i2cRegWrite (0x210x04);
      Amp2555_i2cRegWrite (0x010x08);
      Amp2555_i2cRegWrite (0x2b0x00);
      Amp2555_i2cRegWrite (0x2C0x20);
      Amp2555_i2cRegWrite (0x1f0x20);
      Amp2555_i2cRegWrite (0x2a0x40);
      // PLL 结束
      Amp2555_i2cRegWrite (0x000x00);
      Amp2555_i2cRegWrite (0x7f0x00);
      Amp2555_i2cRegWrite (0x220x02);
      //加电1.
      //页0
      Amp2555_i2cRegWrite (0x000x00);
      //第0本书
      Amp2555_i2cRegWrite (0x7f0x00);
      // DSP、PLL、Ndiv、MDAC、mAdc 加电
      Amp2555_i2cRegWrite (0x040xF8);
      //加电3.
      //页0
      Amp2555_i2cRegWrite (0x000x00);
      //第0本书
      Amp2555_i2cRegWrite (0x7f0x00);
      // LASSD,升压加电
      Amp2555_i2cRegWrite (0x050xa0);
      // LASSD,升压 Vsense 和 Isense 加电
      Amp2555_i2cRegWrite (0x050xa3);
      Amp2555_i2cRegWrite (TAS2555_REG_SPEAKER_CONTROL、0x3c);/*最小增益*/
      //开始取消静音
      //延迟
      BlockingDelayMs (0x01);
      //页0
      Amp2555_i2cRegWrite (0x000x00);
      //第0本书
      Amp2555_i2cRegWrite (0x7f0x00);
      // CLASSD,Isense 已取消静音
      Amp2555_i2cRegWrite (0x070x00);
      //本书100
      Amp2555_i2cRegWrite (0x7f0x64);
      // D 类软取消静音
      Amp2555_i2cRegWrite (0x070x00);
      //取消静音结束
    }