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.

[参考译文] TAS2505 示例序列

Guru**** 2631795 points

Other Parts Discussed in Thread: TAS2505, SYSCONFIG

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1572185/tas2505-example-sequence

部件号: TAS2505
主题: SysConfig 中讨论的其他器件

工具/软件:

您好团队:

我们正在尝试将 TAS2505 DAC 与 TI AM62Px SOC 集成在一起。 我们的连接如下、我们使用 BCLK、而 MCLK 未使用。

我尝试了 ti.com/lit/ug/slau472c/slau472c.pdf?MCLK=1759243187940 第 5.1 节中的示例序列、但这是为了使用 ts 进行设置。

您能否分享从 SOC 初始化 DAC 时需要遵循的正确序列? 以下是我们的联系。

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

    尊敬的 Rakesh:

    请分享您的 BCLK 和 WCLK 频率、然后我可以提供有关如何在 TAS2505 中设置 PLL/时钟树的建议。

    此致、
    -伊凡·萨拉扎尔
    应用工程师

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

    你好 Ivan Salazar ,

    感谢您的快速反馈。 我将 TI SDK 用于 AM62Px、SysConfig 中的配置如下:

    此致、

    Rakesh

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

    我会回顾您的意见、明天回来联系您。

    此致、
    -伊凡·萨拉扎尔
    应用工程师

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

    你好 Ivan Salazar,

    您能否提供您对顺序的反馈?

    谢谢!

    此致、

    Rakesh

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

    您可以尝试使用以下 PLL 设置之一:

    第一个示例包含在此脚本中;您可以将添加到初始化的其余部分:

    # Page switch to Page 0
    w 30 00 00
    # PLL_CLKIN=BCLK.CODEC_CLKIN=PLL_CLK.BCLK should be 3MHz
    w 30 04 07
    # PLL pwr ON.PLL_P=1.PLL_R=1
    w 30 05 91
    # PLL_J=28
    w 30 06 1c
    # PLL_D=0
    w 30 07 00
    w 30 08 00
    # DAC NDAC Powered up, NDAC=7
    w 30 0b 87
    # DAC MDAC Powered up, MDAC=2
    w 30 0c 82
    # DAC OSR(9:0)-> DOSR=128
    w 30 0d 00
    # DAC OSR(9:0)-> DOSR=128
    w 30 0e 80

    该比率与使用 48kHz 和 3.072MHz 时相同。

    此致、
    -伊凡·萨拉扎尔
    应用工程师

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

    你好 Ivan Salazar ,

    感谢您的反馈。 如果可能、您能否共享完整的初始化序列? 我们 之前尝试过的方法如下:

        TAS2505_WRITE_REG(0x00, 0x00);   /* Page 0 */
        TAS2505_WRITE_REG(0x01, 0x01);   /* Soft reset */
        TAS2505_WRITE_REG(0x00, 0x01);   /* Page 1 */
        TAS2505_WRITE_REG(0x02, 0x00);   /* LDO 1.8V, level shifters ON */
         
        /* --- Back to Page 0: processing + clocks --- */
        TAS2505_WRITE_REG(0x00, 0x00);   /* Page 0 */
        TAS2505_WRITE_REG(0x3C, 0x01);   /* PRB1 */
         
        /* CLOCKING: BYPASS PLL, use MCASP BCLK directly */
        TAS2505_WRITE_REG(0x04, 0x01);   /* CODEC_CLKIN = BCLK */
        TAS2505_WRITE_REG(0x05, 0x00);   /* PLL OFF */
        TAS2505_WRITE_REG(0x06, 0x00);
        TAS2505_WRITE_REG(0x07, 0x00);
        TAS2505_WRITE_REG(0x08, 0x00);
         
        /* SERIAL AUDIO IF: I2S slave, 16-bit word, std polarity */
        TAS2505_WRITE_REG(0x1B, 0x00);
        TAS2505_WRITE_REG(0x1C, 0x00);
        TAS2505_WRITE_REG(0x0B, 0x84);   /* I2S mode, slave */
        TAS2505_WRITE_REG(0x0C, 0x87);   /* 16-bit word */
        TAS2505_WRITE_REG(0x0D, 0x00);
        TAS2505_WRITE_REG(0x0E, 0x80);   /* I2S LR polarity */
         
        /* ROUTING / MIXING: Left DAC from Left data; unmute path */
        TAS2505_WRITE_REG(0x3F, 0xB0);   /* (your path base) */
        TAS2505_WRITE_REG(0x40, 0x00);   /* no attenuation on left mix */
        TAS2505_WRITE_REG(0x41, 0x2F);   /* volume (unmuted) */
         
        /* --- Power up DAC block & set gains --- */
        TAS2505_WRITE_REG(0x00, 0x01);   /* Page 1 */
        TAS2505_WRITE_REG(0x01, 0x10);   /* Power up DAC */
        TAS2505_WRITE_REG(0x03, 0x00);   /* Unmute if this is a global mute */
        TAS2505_WRITE_REG(0x10, 0x1D);   /* DAC gain example */
        TAS2505_WRITE_REG(0x16, 0x00);
        TAS2505_WRITE_REG(0x19, 0x00);
        TAS2505_WRITE_REG(0x2E, 0x00);
        TAS2505_WRITE_REG(0x30, 0x04);
        TAS2505_WRITE_REG(0x2D, 0x02);

    此致、

    Rakesh

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

    您可以将提供的代码片段转换为语法:

    • W 30 YY ZZ -> TAS2505_WRITE_REG (0xYY、0xZZ);
    • W 30 =将命令写入器件 I2C 地址 0x30;您自己的语法不需要这些命令

    似乎您只需使用新设置更新第 11 行至第 15 行。

    此致、
    -伊凡·萨拉扎尔
    应用工程师

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

    谢谢 Ivan。

    我更正如下。 您能否确认其他设置

       /* --- Reset & rails --- */
        TAS2505_WRITE_REG(0x00, 0x00);   /* Page 0 */
        TAS2505_WRITE_REG(0x01, 0x01);   /* Soft reset */
        TAS2505_WRITE_REG(0x00, 0x01);   /* Page 1 */
        TAS2505_WRITE_REG(0x02, 0x00);   /* LDO 1.8V, level shifters ON */
         
        /* --- Back to Page 0: processing + clocks --- */
        TAS2505_WRITE_REG(0x00, 0x00);   /* Page 0 */
        TAS2505_WRITE_REG(0x3C, 0x01);   /* PRB1 */
         
        /* CLOCKING: BYPASS PLL, use MCASP BCLK directly */
        TAS2505_WRITE_REG(0x04, 0x07);   /* CODEC_CLKIN = BCLK */
        TAS2505_WRITE_REG(0x05, 0x91);   /* PLL OFF */
        TAS2505_WRITE_REG(0x06, 0x1C);
        TAS2505_WRITE_REG(0x07, 0x00);
        TAS2505_WRITE_REG(0x08, 0x00);
         
        /* SERIAL AUDIO IF: I2S slave, 16-bit word, std polarity */
        TAS2505_WRITE_REG(0x1B, 0x00);
        TAS2505_WRITE_REG(0x1C, 0x00);
        TAS2505_WRITE_REG(0x0B, 0x87);   /* I2S mode, slave */
        TAS2505_WRITE_REG(0x0C, 0x82);   /* 16-bit word */
        TAS2505_WRITE_REG(0x0D, 0x00);
        TAS2505_WRITE_REG(0x0E, 0x80);   /* I2S LR polarity */
         
        /* ROUTING / MIXING: Left DAC from Left data; unmute path */
        TAS2505_WRITE_REG(0x3F, 0xB0);   /* (your path base) */
        TAS2505_WRITE_REG(0x40, 0x00);   /* no attenuation on left mix */
        TAS2505_WRITE_REG(0x41, 0x2F);   /* volume (unmuted) */
         
        /* --- Power up DAC block & set gains --- */
        TAS2505_WRITE_REG(0x00, 0x01);   /* Page 1 */
        TAS2505_WRITE_REG(0x01, 0x10);   /* Power up DAC */
        TAS2505_WRITE_REG(0x03, 0x00);   /* Unmute if this is a global mute */
        TAS2505_WRITE_REG(0x10, 0x1D);   /* DAC gain example */
        TAS2505_WRITE_REG(0x16, 0x00);
        TAS2505_WRITE_REG(0x19, 0x00);
        TAS2505_WRITE_REG(0x2E, 0x00);
        TAS2505_WRITE_REG(0x30, 0x04);
        TAS2505_WRITE_REG(0x2D, 0x02);

    此外、是否可以验证 DAC 配置是否正确?  (喜欢输出一些测试音调?)

    我们看到 MCASP ISR 达到峰值、但扬声器中没有音调。

    此致

    Rakesh

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

    该脚本具有新的设置、没问题。

    为了检查器件是否具有正确的配置、您可以播放通常的 1kHz 正弦音。 这提供了所产生信号的清晰视图、以检查是否存在失真、饱和等

    此致、
    -伊凡·萨拉扎尔
    应用工程师

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

    你好 Ivan

    感谢您的反馈。 如何测试?

    这是我们的联系:

    我们是否需要向 DIN 引脚发送 1KHz 方波? 如何给出 1KHz 正弦音?

    我们尝试通过 DIN 从 SOC 生成一个方波脉冲、但没有看到任何声音。

    我们如何根据上述电路进行测试?

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

    TAS2505 是一款数字输入音频放大器。 主机 SoC 应以 I2S 或其他音频格式发送数字信号。 SDIN 上的简单方波将无法正常工作。

    要检查放大器输出端的信号、您需要一个低通滤波器、可以是 LC 或 RC、类似于以下任一种:

    AUX-0025/0040/0100 开关放大器测量滤波器|音频精密|全球先进企业

    用于 D 类输出功率和 THD + N 测量的 RC 滤波器框

    此致、
    -伊凡·萨拉扎尔
    应用工程师

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

    您好、Ivan、

    我们测量了  TAS2505 的 DIN 引脚、我们可以看到正在通过 MCASP 外设从 AM62Px SOC 发送 I2S 数据。 但我们无法在扬声器输出中看到任何音频。

    我们可能注意到的一个变化是 0x00/0x1B 寄存器、 音频数据字长应为 32 位、因为我们在 SOC MCASP 配置中设置了 32 位。 (参见第 2 条注释中的图像)-这是正确的吗?

    我们需要检查的任何其他设置?

    您能否检查并确认?

    此致、

    Rakesh

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

    尊敬的 Rakesh:

    是的、您可以设置寄存器 0x1b 来选择 32 位并重试。
    如果您也捕获了 BCLK 和 WCLK、它们是否与您在第二条评论中的描述相匹配?

    您可以使用示波器检查 D 类输出、可以使用 TP81003 或 TP81004。 输出开关是否为 PWM? 还是根本没有信号?
    还请读取第 1 页寄存器 0x2D、它是否显示已启用扬声器输出?

    此致、
    -伊凡·萨拉扎尔
    应用工程师