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.

[参考译文] TAS2559:扬声器处于静音状态、输出端无任何内容

Guru**** 2481465 points
Other Parts Discussed in Thread: TAS2559, TAS2557

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/826683/tas2559-speaker-is-silent-and-nothing-at-the-output

器件型号:TAS2559
主题中讨论的其他器件: TAS2557

尊敬的 TI 团队和论坛发烧友:

我们有一个定制 PCB、其中根据以下原理图连接了 TAS2559音频放大器:

I2S 音频数据流与主 CPU 提供的所有时钟(即 TAS2559为 I2S 从器件)位于 ASI2输入端。 测量所有电压、时钟和音频数据并验证为正常、I2C 通信和所有 TAS2559寄存器均已正确初始化(如下所示)、但目前扬声器上没有任何内容(连接在 JP1上)。 我们可能在寄存器初始化中缺少一些内容、因此如果有人能帮助我们、我将不胜感激。

下面是一些详细信息:

1.设置


TAS2559 I2C 地址设置为0x4d、如[1]所示。
SPI 禁用、I2C 启用。
MCLK 为24.567Mhz、WLCK 为48kHz。
音频连接到 ASI2。  I2S 音频数据由主机 CPU (它是 MCLK 主器件)提供、TAS2559是从器件。
SPK_P 和 SPK_M 线路没有电容器和电感器-直接连接到8R 扬声器。
集成了 TI Git 的 TAS2559音频驱动 器、该驱动器可正确加载 PPC3生成的 bin 文件并将其下载到 AMP 中。
已尝试以下自定义 I2C 配置。

无论采用何种设置、D 类输出线路始终为低电平。


2. 示波器测量

BCLK2 - 3.072Mhz、0-3.3V 范围
DIN2 - 0-3.3V 范围
WCLK2 - 48kHz、0-3.3V 范围
MCLK1 - 24.567Mhz、0-3.3V 范围
数据格式为 I2S 16位 LSB。

 

TAS2559 I2C 配置

POR 后、器件会像在[2]上一样进行软件重置和配置
i2cset -y 2 0x4d 0x00 0x00 b
i2cset -y 2 0x4d 0x7f 0x00 b
i2cset -y 2 0x4d 0x01 0x01 b
睡眠1
i2cset -y 2 0x4d 0x22 0x01 b #使用默认系数并在 ROM 模式1下运行 DSP
i2cset -y 2 0x4d 0x05 0xA3 #为模拟块加电
i2cset -y 2 0x4d 0x04 0xB8 #为 DSP 和时钟分频器加电
i2cset -y 2 0x4d 0x07 0x00 #取消模拟块静音
i2cset -y 2 0x4d 0x7f 0x64 #切换到 book100
i2cset -y 2 0x4d 0x07 0x00 #音频回放的软步进取消静音

i2cset -y 2 0x4d 0x00 0x01 b #页
i2cset -y 2 0x4d 0x7f 0x00 b # book

i2cset -y 2 0x4d 0x41 0x01 b # GPIO5 in -位时钟
i2cset -y 2 0x4d 0x42 0x01 b # GPIO6 in -字时钟
i2cset -y 2 0x4d 0x44 0x01 b # GPIO8 in - data in

之后、状态为:
# i2cset -y 2 0x4d 0x00 0x00 b
# i2cset -y 2 0x4d 0x7f 0x00 b
编号
# i2cget -y 2 0x4d 0x04
0xb8.
# i2cget -y 2 0x4d 0x05
0xa3.
# i2cget -y 2 0x4d 0x06
0x7c
# i2cget -y 2 0x4d 0x07
0x00
# i2cget -y 2 0x4d 0x22
0x01
# i2cget -y 2 0x4d 0x35
0x00
# i2cget -y 2 0x4d 0x65
0x00
# i2cget -y 2 0x4d 0x68
0x00
# i2cget -y 2 0x4d 0x6C
0x00
# i2cget -y 2 0x4d 0x79
0x00
编号

3. TAS2559音频驱动程序也已尝试

PPC2的 bin 文件由集成的 TAS2559驱动程序生成/转储并加载


Git:/git.ti.com/tas2557sw-android/tas2559-android-driver.git

但是、扬声器输出端仍然没有任何东西。

4、I2S 数据已确认正确无误

我们已将 WM8524GEDT 音频编解码器连接到与 ASI2引脚相同的 I2S 总线引脚。 因此、我们获得了正确的模拟音频输出、这意味着 I2S 数据流和时钟是正确的。

5. ASI1输入也被尝试

 

我们还尝试在 ASI2引脚和 ASI1测试点之间焊接蓝色导线、因此 I2S 数据也会路由到 ASI1输入。

根据数据表、复位后、TAS2559处于 DSP 模式1、且 ASI1输入被启用、这意味着我们应该将 I2S 音频直接路由到扬声器、而无需任何 I2C 寄存器初始化。

不幸的是,结果仍然是一样的--对发言者保持沉默。

参考文献:

[1] TAS2559、SLASEE8B–2016年11月–2019年2月修订版、"表1. I 2 C 地址选择"
[2] TAS2559、SLASEE8B–2016年11月–2019年2月修订版9.5.2器件加电和取消静音序列

您是否知道我们如何在扬声器上启用 D 类输出和输出"内容"(即使它不是 ASI2中的数据)? 如何验证 TAS2559是否正常工作、以及是否存在寄存器配置问题? 有一些未记录的寄存器簿和页面(如100号簿的 IRAM 引导)、因此我们可能会错过一些内容?

任何帮助解决发言人静音问题的帮助都是非常欢迎的。

感谢您的参与!

此致、

Daniel

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

    Daniel、您好!

    我们的团队将查看此问题、我们将尽快回答。

    此致、
    Luis Fernando Rodríguez S.

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

    Daniel、您好!

    加电期间、您在器件的输出(SPKP 和 SPKM)上看到了什么?

    • 它是否开始切换、然后关闭?
    • 它是否一直在切换?
    • 它是否根本不进行开关?

    我想知道 D 类器件是否已启用和保护、只是启用、而是静默启用还是未启用。
    此外、您是否在未连接扬声器的情况下尝试过。

    我将很快审核您的配置并提供反馈。

    此致、
    -Ivan Salazar
    应用工程师-低功耗音频和传动器

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

    您好、Ivan、

    非常感谢您的反馈。

    在上电期间和 I2S 音频流期间、我们始终只能看到0电压。 我们已尝试使用和不使用扬声器。 当我们有扬声器时、 我们在引导或回放期间不会听到任何"弹出"的声音。 我们还使用示波器测量了 D 类输出、但我们没有看到0 (零)伏以外的任何值。 它看起来像是未启用 D 类或以某种方式静音。 任何关于如何核实这一点的想法都将受到欢迎。  

    谢谢、

    Daniel

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

    Daniel:

    似乎没有启用 D 类。 也许未成功写入寄存器。

    从您原来的帖子项目符号3中、这个 I2C 配置序列不足以完全初始化器件。 为了获得更好的结果、应使用"终端系统集成"面板生成带有 I2C 命令的 cfg 文件。 这将包括所有必要的配置。

    同样、从您原来的帖子要点3 (重复)中、我有一个问题:当您生成 bin 文件时、您是否设置了正确的 I2C 从地址?
    您提到过使用0x4D、默认情况下为0x4C。

    建议使用 ASI1进行音频回放。

    此致、
    -Ivan Salazar
    应用工程师-低功耗音频和传动器

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

    尊敬的 Ivan:

    我们执行了以下操作:

    1) 1)我们将 I2S 数据流移至 ASI1 (我们将 ASI2保持未连接状态)

    2) 2)我们通过 PPC3的"终端系统集成"面板生成了 CFG 文件(您可以找到所附的配置文件)

    3) 3)生成的 CFG 文件已成功写入 TAS2559芯片。 我们已使用 I2C 逻辑分析仪验证了这一事实。

    4) 4)我们一直在向 ASI1馈送 I2S 数据、并且在每个配置脚本之后、我们都在检查扬声器输出。

    扬声器在所有配置脚本之后保持静音。 但是、扬声器在加载以下脚本后会产生单个 Puck/POP/clack

    combined_configuration_0_ROMMode1_48KHz.cfg
    combined_configuration_1_calibration_RAMMode_Configuration_48KHz.cfg

    我们加载了所有配置脚本、但扬声器输出端仍然没有声音。 此外还附加了所有 TAS2557寄存器的转储(在加载配置脚本后)。

    有什么想法吗?

    我们还有以下问题:

    我们是否需要从"debug_cfg"文件夹加载所有配置脚本以实现某些扬声器输出? (除了我们未加载的 DEV_B 脚本、因为我们没有 DEV_B)

    加载不同配置脚本是否有特定的顺序?

    非常感谢您的帮助!

    此致、

    Daniel

    e2e.ti.com/.../3034.TAS2559_5F00_generated_5F00_configuration_5F00_190808.rar

    e2e.ti.com/.../5811.tas2559_5F00_i2c_5F00_registers_5F00_dump.txt

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

    尊敬的 Dani:

    我将检查您的附件、但从您的描述中、似乎设备已启用、但可能会因某种保护而关闭。

    同时、我想询问有关您的原理图的一些信息:

    • 我在输出端看到 R1/R2和 C42/C43。 R1和 R2是0欧姆电阻器?
    • 如果这些是0欧姆电阻器、您能否尝试以下选项之一:
      • 使用一些铁氧体磁珠替代0欧姆电阻器
      • 移除 C42和 C43、并将 R1和 R2保持为0欧姆

    该 D 类输出中的容性负载不是很好、这就是我要求尝试上述方法的原因。

    此致、
    -Ivan Salazar
    应用工程师-低功耗音频和传动器

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

    Daniel:

    我在 EVM 上下载并测试了您的配置、它工作正常。
    存在一些数字失真、但最有可能是由于您选择的时钟配置。 我不知道您选择了什么作为时钟源以及它的频率是多少。

    要初始化器件、必须写入组合型配置_0_ROMMode1_48kHz 文件。 该 cfg 文件组合了所有必需的配置,因此您无需按顺序运行不同的 cfgs。

    此致、
    -Ivan Salazar
    应用工程师-低功耗音频和传动器

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

    您好、Ivan、

    最后、我们解决了问题!  

    不确定是因为具有用于立体声输出的互补 D 类放大器的 TAS2559的硬件依赖性(我们没有此类放大器、因此我们希望将唯一的 TAS2559用于单声道输出)、还是 PPC3固件配置的硬件依赖性、 配置器件进行立体声回放(我们有单声道)、但根本原因是什么、当我们为单声道 TAS2557 D 类放大器生成 PPC3配置、并将该配置加载到 TAS2559中时、放大器工作正常、我们有扬声器输出。 工作配置已附加!

    再次感谢您的支持!

    此致、

    Daniel

    e2e.ti.com/.../tas2557_5F00_rom1_5F00_MCLK_5F00_24_5F00_567_5F00_combined_5F00_configuration_5F00_0_5F00_ROMMode1_5F00_48KHz.cfg