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.

[参考译文] TAS5731M:TAS5731M:无声音、寄存器0x02未显示错误

Guru**** 2482105 points
Other Parts Discussed in Thread: PCM9211, TAS5731M, PCM5102A, PCM2706

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1118806/tas5731m-tas5731m-no-sound-register-0x02-show-no-errors

器件型号:TAS5731M
主题中讨论的其它部件:PCM9211PCM5102APCM2706

我有一个定制 PCB、其原理图与 EVM 板相同。
我正在尝试初始化芯片、我有一个处理 i2c 通信。

但我无法从放大器中获得任何声音。

I2S 信号由 PCM9211中的 DAC 生成。
主输出总线通过33Ohm 电阻连接到 TAS5731M。

另一个 DAC (PCM5102a) 连接到 PCM9211的另一个输出、我有音频。

在上一个主题中、您可以选择获取 EVM、但它不需要。

我有另一款基于同一 TAS IC 的产品来测试我的初始化初始化序列、因此它可以正常工作。
(请参阅下面所附的逻辑2.X 的初始化序列)

我将 PVDD 设置为12V、AVDD 和 DVDD 为3.3V。
在 bootrap 电容器上、我有大约12V 的电压。 输出 A、B、C、D 为6V
在 VREG 上:3.1V
在 VR_DIG 上、我具有:1.8V
在 GVDD_OUT 上:7.0V
在 SSTIMER 上:3.1V


这是 TAS 的后置初始化寄存器转储:

I: Device on address 0x001B
I: Device initialized on address 0x001B: 1
V: Going to enable PCM9211
I: Device found on address 0x0040
I: Device initialized on address 0x0040: 1
V: Going to configure PCM9211
I: Main Mux: 2
I: Aux Mux: 2
I: DIT Mux: 4
I: ---TAS5731M-------------
I: Reg 0x0000: 0b1101100(0x006C)
I: Reg 0x0001: 0b0(0x0000)
I: Reg 0x0002: 0b0(0x0000)
I: Reg 0x0003: 0b10100000(0x00A0)
I: Reg 0x0004: 0b101(0x0005)
I: Reg 0x0005: 0b1010(0x000A)
I: Reg 0x0006: 0b0(0x0000)
I: Reg 0x0007: 0b1001000(0x0048)
I: Reg 0x0008: 0b110000(0x0030)
I: Reg 0x0009: 0b110000(0x0030)
I: Reg 0x000A: 0b110000(0x0030)
I: Reg 0x000E: 0b11010001(0x00D1)
I: Reg 0x0010: 0b111(0x0007)
I: Reg 0x0011: 0b10111000(0x00B8)
I: Reg 0x0012: 0b1100000(0x0060)
I: Reg 0x0013: 0b10100000(0x00A0)
I: Reg 0x0014: 0b1001000(0x0048)
I: Reg 0x0019: 0b110000(0x0030)
I: Reg 0x001A: 0b1111(0x00F)
I: Reg 0x001B: 0b11000000(0x00C0)
I: Reg 0x001C: 0b10(0x0002)
I: Reg 0x0020: 0b01000100111101111110010(0x0000897772)
I: Reg 0x0021: 0b00100000011(0x00000403)
I: Reg 0x0025: 0b110100111000101(0x000121345)
I: ------------------------



这是播放声音时的寄存器转储(您可以在寄存器0x02上看到没有错误):
I: ---TAS5731M-------------
I: Reg 0x0000: 0b1101100(0x006C)
I: Reg 0x0001: 0b0(0x0000)
I: Reg 0x0002: 0b0(0x0000)
I: Reg 0x0003: 0b10100000(0x00A0)
I: Reg 0x0004: 0b101(0x0005)
I: Reg 0x0005: 0b1010(0x000A)
I: Reg 0x0006: 0b0(0x0000)
I: Reg 0x0007: 0b1001000(0x0048)
I: Reg 0x0008: 0b110000(0x0030)
I: Reg 0x0009: 0b110000(0x0030)
I: Reg 0x000A: 0b110000(0x0030)
I: Reg 0x000E: 0b11010001(0x00D1)
I: Reg 0x0010: 0b111(0x0007)
I: Reg 0x0011: 0b10111000(0x00B8)
I: Reg 0x0012: 0b1100000(0x0060)
I: Reg 0x0013: 0b10100000(0x00A0)
I: Reg 0x0014: 0b1001000(0x0048)
I: Reg 0x0019: 0b110000(0x0030)
I: Reg 0x001A: 0b1111(0x00F)
I: Reg 0x001B: 0b11000000(0x00C0)
I: Reg 0x001C: 0b10(0x0002)
I: Reg 0x0020: 0b01000100111101111110010(0x0000897772)
I: Reg 0x0021: 0b00100000011(0x00000403)
I: Reg 0x0025: 0b110100111000101(0x000121345)
I: ------------------------


如果我在不执行关机步骤的情况下断开电源、使用备用硬件、则扬声器会碰到一个凸点。
我不会使用我的当前设计。 扬声器完全静音。

PCB 和原理图与我之前的帖子相同。


e2e.ti.com/.../Session-TAS.zip

如何对此进行故障排除?

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

    你(们)好  

    我想对您的问题进行确认。

    1.在0x02中未输出任何声音,也未找到错误报告。

    2.当您从另一个具有相同芯片的设备更改初始代码时,它可以正常输出声音? 我理解正确吗?

    3.没有声音时,是否确认了电源? 输入时钟信号?  

    例如:MCLK 是否满足数据表中的时序要求?

    谢谢。

    Jesse

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

    1)是的、ABCD 输出为6V (以接地为基准)
    2) 2)如果我采用相同的初始化代码、并使用该代码根据我拥有的相同 TAS IC 配置其他设计。
    3)我已经检查了电压、并且 MCLK 被正确检测(请参阅寄存器0x00)。
       它由24.576MHz 晶体提供、并由 PCM9211进行二分频。

    由于探测导线、MCLK 中存在一些混叠。



    我有一个寄存器0x02的轮询循环、用于停止代码并通过串行方式显示错误。
    我还有一个连接到 TAS 故障引脚的 LED、在这两种情况下都看不到任何错误。

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

    你(们)好

    您能帮助确认我在下面标记的信号。

    point1:确认是否存在 PWM 信号、播放音乐时、占空比是否发生变化。

    如果 point1的占空比没有变化、则确认 point2是否有 I2S 信号输入到芯片。

    2) 2)如果我采用相同的初始化代码、并使用该代码根据我拥有的相同 TAS IC 配置其他设计。

    在另 一个使用相同 IC 的设计中、另一个设计的环绕电路如何? 它们是相同的吗?

    谢谢。

    Jesse

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

    我将进行测试 1。
    关于第2点、我已经使用另一个 I2S 源进行了测试、该源使用 PCM9211将 I2S 总线路由到 TAS IC。
    在本例中、我也没有声音。

    我还将测试其他 I2S 源(来自工作设计)是否对该板产生任何影响、我还将尝试绕过 PCM9211 IC。

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

    大约#1即使在大约387kHz 的频率下播放声音、我也具有50%的占空比。 存在 I2S 信号。
    如果需要、我可以提供一个捕获。

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

    你(们)好  

    大约#1即使在大约387kHz 的频率下播放声音、我也具有50%的占空比

    ->您是指在播放声音但听不到声音时。 ANT 此时、PWM 占空比为50%?

    也就是说、即使没有出现任何声音问题、第1点仍然具有 PWM 信号?

    您似乎正在使用 AD 模式、您是否可以切换到 BD 并确认是否发生了这种情况?

    谢谢

    Jesse

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

    是的、我没有声音、但 I2S 总线上有有效数据。
    存在 PWM、但始终设置为50%占空比。

    公司 将在暑假、我可以看到明天是否可以做一些最后的测试。

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

    好的、我看到您之前说过"在 bootrap 电容器上、我有大约12V 的电压"。

    如何测量电压、那么高自举电压似乎很奇怪。

    通常为6V~7V。

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

    是的、我的错。
    在自举电容器(引脚4、33、42、43)上、我具有大约6.5V 的电压

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

    你(们)好

      Jesse 在这两天的商务旅行中、将在他周三回来后立即回复您。   

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

    你(们)好  

    非常感谢您的确认。

    我检查了您原来的问题、您说过、在其他初始序列中、电路板工作正常。

    您的初始序列是否可能有任何问题?

    谢谢。

    Jesse

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

    您好!

    我拥有一款采用 PBTL 和 BTL 两种配置的 TAS IC 的商业产品(似乎由于大流行病/芯片短缺、它已从架子中退休)。

    我必须在市场上找到一个有效的设计、我无法从我的可用供应商那里找到 EVM 板。
    不是最优雅的解决方案、而是我们找到的唯一解决方案。

    我使用该产品测试我的初始化序列(使用我的 MCU 和我的 Init 代码)、该设计有效。
    我将必须测试使用其 I2S 源是否在我的设计中获得任何声音。 (我使用商业产品测试了 I2S 课程、并且它正常工作)

    在第一个帖子中、我捕获的初始化序列可用。 (您需要逻辑引脚才能打开它)
    如果我可以提供一些图片。

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

    你(们)好

    恐怕我没有工具逻辑解决方案。

    您能给我分享一个屏幕截图吗?

    谢谢。

    Jesse

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

    不幸的是、本周我不在办公室、看起来第一个帖子上附加的转储不完整、它只会继续 PCM9211初始化。

    下周、我将提供一个屏幕截图、说明何时可以访问正确的文件。

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

    我要返回办公室。 这是序列。


    逻辑分析仪捕获的完整初始化序列:

    -- OSC TRIM --
    write to 0x1B ack data: 0x1B 0x00
    -- Soft Mute CH 1/2/4(3) --
    write to 0x1B ack data: 0x06 0x07 
    -- Enable FAULT Pin --
    write to 0x1B ack data: 0x05 0x42
    -- BD Modulation Configure CH 1/2 --
    write to 0x1B ack data: 0x20 0x00 0x89 0x77 0x72
    -- BD Modulation Configure CH 4(3) --
    write to 0x1B ack data: 0x05 0x4A
    -- Mode 2.0 --
    write to 0x1B ack data: 0x05 0x4A 
    -- Modulation Limit --
    write to 0x1B ack data: 0x10 0x07
    -- I2S Format 24Bit --
    write to 0x1B ack data: 0x04 0x05
    -- Channels Delay --
    write to 0x1B ack data: 0x11 0xB8 
    write to 0x1B ack data: 0x12 0x60 
    write to 0x1B ack data: 0x13 0xA0 
    write to 0x1B ack data: 0x14 0x48 
    -- Input MUX Configuration SDIN-L>CH1 SDIN-R>CH2--
    write to 0x1B ack data: 0x20 0x00 0x89 0x77 0x72
    -- Input MUX Configuration CH4(3)>L+R/2 -- 
    write to 0x1B ack data: 0x21 0x00 0x00 0x40 0x03
    -- DAP CH4(3) to 3rd volume control --
    write to 0x1B ack data: 0x0E 0xD1
    -- Channel volumes to 0dB --
    write to 0x1B ack data: 0x08 0x30 
    write to 0x1B ack data: 0x09 0x30 
    write to 0x1B ack data: 0x0A 0x30
    -- Exit Hard Mute --
    write to 0x1B ack data: 0x05 0x0A
    -- SoftMute Master Volume --
    write to 0x1B ack data: 0x07 0xFF
    -- Soft UnMute CH 1/2/4(3) --
    write to 0x1B ack data: 0x06 0x00 
    -- PCM9211 INIT --
    -- END OF PCM9211 INIT --
    -- Set Master Volume (-12dBm) --
    write to 0x1B ack data: 0x07 0x48

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

    你(们)好  

    我注意到您将主音量设置为-12dB、增益是否太小、无法听到声音?

    如何将其调整得更大一点?

    另一个问题是:

    --将 CH 1/2/4 (3)的软静音---
    写入0x1B ACK 数据:0x06 0x00

    我检查了寄存器0x06、如果取消信道1、2、3的静音、它应该是00000111、也就是0F。

    您能帮助确认这是否是问题吗?

    谢谢

    Jesse

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

    我将尝试提高主增益。

    通道静音寄存器。
    我最初通过写入0x7将其静音(在 OSC 调整后的开始)、
    但是、在取消静音之后、我需要根据您提供的表写入0x00。

    我是否误解了该表?

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

    你(们)好  

       静音寄存器设置听起来没有问题。

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

    哦、很抱歉、我误解了您的代码。

    您的理解是正确的。 那么初始代码似乎没有问题。

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

    好的、那么要重新使用:
    代码似乎正常、我的启动顺序似乎正常。
    原理图似乎正确、PCB 布局如何?

    我们设计了一个更简单的板来评估 TAS 芯片
    不带 PCM9211。



    但我们也考虑完全放弃基于此芯片的设计。

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

    你(们)好  

    我确认了 LC 滤波器电流饱和和额定电流的电感为3A 和2.5A。

    您的 pvdd 为12v、您能告诉我您的负载的电阻吗?

    BTW、您能否测量器件启动时流经电感的电流?

    您可以使用导线连接电感器、可以将电流感应夹住导线以测量电流。

    恐怕电流饱和还不够、因此不会发出声音。

    谢谢。

    Jesse

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

    我的负载是6欧姆驱动器、我还尝试了8欧姆驱动器。

    我尝试将电源电压(PVDD)增加到24VDC。
    现在、我几乎听不到来自驾驶员的声音、但也没有其他声音了。

    我可以确认我有调制、并且可以在总线中出现声音时看到信号/占空比发生变化
    (请参阅随附的视频)。


    探针为 x10、0.5V/DIV、2us/DIV。

    接地引线很长、因此信号完整性不是很好。

    我还尝试对电路板进行微调以移除 CBTL、从而为 BD 调制提供合适的滤波器、正如您所建议的那样。 (滤波器专为采用混合设计的 AD 调制而设计)

    我使用 Excel 文件计算新滤波器、在保持22uH 电感器的同时、用0.68uF 的值稳定 CG。
    在本测试中、我使用的是一个8欧姆驱动器。

    使用这个新滤波器、我的音量甚至更低。

    e2e.ti.com/.../TAS.mp4

    明天我将测试电感器电流。 电流是否保持在饱和阈值以下?
    否则、电感器的阻抗会崩溃?

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

    你(们)好  

    您的问题现在似乎变得太小了。 没有声音、我理解正确吗?

    根据您的波形、您的输出似乎没有问题。

    我注意到您上次给我的代码。

    --设置主音量(-12dBm)--
    写入0x1B ACK 数据:0x07 0x48

    似乎您将主音量设置为-12dB、我是否理解正确?  

    您的软件中的音量设置是否太小而无法听到声音?

    当您运行器件时、电感器是否变得很热?

    如果温度很高、我恐怕流经电感器的电流可能太大、从而使有效电感值变得很小。

    谢谢。

    Jesse

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

    主音量已设置为0dB、以便能够听到任何声音。
    5分钟后、电感器会冷触。 IC 明显发热。

    "勉强听"声音意味着我必须将一个5英寸的驾驶员放在我耳朵附近的一个完美的安静环境中、然后我可以听到一些话。 嘈杂总线上的耳塞会发出更多的声音。

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

    非常感谢您的确认。

    它不是很热、因此电流不应太大。

    似乎您具有扬声器的输出。 您是否已确认扬声器两侧的信号? 现在输出了多少电压?

    由于此芯片太旧、我正在尝试获取 EVM 板、在获取 EVM 板后、我将使用您的初始代码来确认此问题。

    谢谢。

    Jesse

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

    测试编纂:
    -PVDD=24V
    -负载8 Ω(驱动器型号:DS90-8)
    LC 滤波器:共模、22uH、0.68uF
    - BD 调制

    我将所有初始化代码减少为:
     - OSC 校准
     -延迟
     -设置 BD 调制
     -设置延迟
     -退出硬模式
     -将主增益设置为0。


    结果与以前一样。

    测量:
    -11.25V ON OUT (ABCD)、
    -在 OUT (ABCD)上对 PWM 信号进行调制。 Singlal 如上所示。
    -后置 LC 滤波器我有一个模拟信号(见图)。 信号是以 GND (5V/DIV)为基准的11Vpp
    -所有输出具有相似的信号振幅。
    - PVDD 稳定、由于 SMPS 转换器存在一些 HF 噪声。
    -我基本上没有驱动器上的任何电压。 (无法测量任何值、这使我检查输出的相位)

    OUT-A (后置 LC 滤波器、以 GND 为基准)
    Analog signal

    OUT-A 和 OUT-B (在 LC 滤波器之前、以 GND 为基准)
    OUTA and OUTB

    抱歉、角度错误的图片、
    但由于某些奇怪的原因、它们就在我的机器上、
    上传后、它们会关闭90度。

    PWM 信号是否正确?
    通过读取 SLAA701A、我期望得到一个不同的波形。

    如果我在 OUT A 和 C 上使用示波器的 DIFF/SUM 模式、我会得到以下波形、但 OUT A 由通道 L 驱动、OUT-C 由通道 R 驱动:
    这与 SLAA701A 中显示的调制更加相似。



    这怎么可能呢?

    寄存器0x25的转储为:
    I:寄存器0x0025:0x0001021345
    我从不设置该寄存器、它处于默认状态。

    我的初始化代码是:

        // CHIP reset
        gpioWrite(_rstPin, 0);
    
        // Await 15 ms before exit reset
        delay(15);
    	
    	gpioWrite(_rstPin, 1);
    	
    	
        // Await 15 ms before trim
        delay(15);
    
        // Run a factory OSC TRIM as stated in datasheet
        ret = write8(TAS571X_OSC_TRIM_REG, 0);
        if (ret)
        {
            Log.error(F("Could not set OSC_TRIM: %d\n"), ret);
            return ret;
        }
    
        // Lets wait 50ms
        delay(50);
    
        // Set chan 1, 2, 3 (4) delays to default values
    	res |= write8(TAS571X_IC_DELAY_PWM_A_REG, 0xB8);
    	res |= write8(TAS571X_IC_DELAY_PWM_B_REG, 0x60);
    	res |= write8(TAS571X_IC_DELAY_PWM_C_REG, 0xA0);
    	res |= write8(TAS571X_IC_DELAY_PWM_D_REG, 0x48);
        if (ret)
        {
    		Log.error(F("Could not set DELAY_PWM: %d\n"), ret);
            return ret;
        }
    
        // Exit Hard Mute (shutdown)
    	ret = updateRegister8(TAS571X_SYS_CTRL_2_REG,
                              TAS571X_SYS_CTRL_2_SDN_MASK, 0x00);
        if (ret)
        {
            Log.error(F("Could not set VOL_CFG: %d\n"), ret);
            return ret;
        }
    	
        // Lets wait 50ms
    	delay(50);
    
        // Set Master Volume
    	ret = write8(TAS571X_MVOL_REG, 0x30);
        if (ret)
        {
            Log.error(F("Could not set master volume: %d\n"), ret);
            return ret;
        }
    
        return ret;
    }

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

    我只是为了确认我已经做了一个与正在运行的商用产品类似的示波器探针(这次我使用其 MCU 来执行初始化。 它使用 BD 模式。 我已经捕获了它们的初始化序列、除了调制限制、它们几乎是相同的、并且它们也设置了 BEQ 和 DRC)。

    OUTA 和 OUTB 两个相位差(第一幅图)、而我们的设计两个输出几乎是相位(第二幅图):




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

    你(们)好

      波形显示我们的器件在空闲状态下工作、您的寄存器设置显示器件不应处于"静音"状态。 我们能否在播放音频时捕获 SDIN 的波形以及 LRCLK 和 SCLK。 希望我们可能会发现一些奇怪的东西。  

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

    在两种情况下、都将暂停/静音源作为入口进行了上述帖子的捕获。

    这是 I2S 总线的逻辑捕捉。 MCLK 超出逻辑分析仪的范围。


    BCLK 具有某种周期性伪影、但我在范围内看不到它。 我认为问题出在我的捕获器件(长探测电缆和接地不良)。
    BCLK、MCLK (非常接近我的示波器限制)、WS、SDIO:


    所有信号都大约为3Vpp (1V/DIV)。 MCLK 和 BCLK 具有0.4US/DIV、而 WS 为20us/DIV。
    BCLK VS WS (1V/DIV 2us/DIV):

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

    你(们)好  

    我尝试了您的代码、它在我们的 EVM 板上不起作用、我不确定它是格式问题还是代码问题。

    但我使用了我们的 EVM 板并配置了默认设置。

    它工作正常、初始文件已转储。

    您能否转换随附到您的格式的 cfg 文件并尝试它是否起作用?

    /cfs-file/__key/communityserver-discussions-components-files/6/i2c-initial-file_5F00_nomute.cfg

    如果您有我们的 EVM 电路板、您还可以使用以下链接设置文件来确认设置。

    /cfs-file/__key/communityserver-discussions-components-files/6/GDE_5F00_file.zip

    谢谢。

    Jesse

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

    我们没有 EVM。
    我已更新代码以输出您提供的序列:

    void tas_init()
    {
        gpioOutput(TAS_PDN_PIN);
        gpioOutput(TAS_RST_PIN);
    
        gpioWrite(TAS_PDN_PIN, LOW);
        gpioWrite(TAS_RST_PIN, LOW);
    
        // Await 15 ms before exit reset
        delay(15);
    
        Log.info(F("Power Sequence\n"));
    
        gpioWrite(TAS_PDN_PIN, HIGH);
        gpioWrite(TAS_RST_PIN, HIGH);
    
        delay(15);
    
        Log.info(F("Trim\n"));
        write8(TAS571X_OSC_TRIM_REG, 0x00);
    
        delay(50);
    
        Log.info(F("Inits Core\n"));
        // soft unmute
        write8(TAS571X_SOFT_MUTE_REG, 0x00);
    
        Log.info(F("Inits Volumes\n"));
        write8(TAS571X_CH3_VOL_REG, 0x30);
        write8(TAS571X_CH2_VOL_REG, 0x30);
        write8(TAS571X_CH1_VOL_REG, 0x30);
    
        Log.info(F("Inits Delays\n"));
        // AD Modulation here
        write8(TAS571X_IC_DELAY_PWM_D_REG, 0x54);
        write8(TAS571X_IC_DELAY_PWM_C_REG, 0xAC);
        write8(TAS571X_IC_DELAY_PWM_B_REG, 0x54);
        write8(TAS571X_IC_DELAY_PWM_A_REG, 0xAC);
    
        Log.info(F("Inits Volumes\n"));
        write8(TAS571X_VOL_CFG_REG, 0x91);
    
        Log.info(F("Input Mux\n"));
        // AD Modulation
        write32(TAS571X_INPUT_MUX_REG, 0x00017772);
    
        write8(TAS571X_MODULATION_LIMIT_REG, 0x02);
    
        //IDK - reserved register?
        write8(0x0B, 0x00);
    
        write8(TAS571X_MODULATION_LIMIT_REG, 0x02);
    
        write8(TAS571X_BKND_ERR_REG, 0x02);
        write8(TAS571X_PWM_CH_SDN_GROUP_REG, 0x30);
    
        write32(TAS571X_PWM_MUX_REG, 0x01021345);
    
        // Bypass EQ
        write32(0x50, 0x80);
        
        write8(TAS571X_SYS_CTRL_2_REG, 0x00);
    
        // Uncomment to hear something
        // write8(TAS571X_MVOL_REG, 0x30);
    }

    这是 I2C 总线的捕捉:

    write to 0x1B ack data: 0x1B 0x00 
    write to 0x1B ack data: 0x06 0x00 
    write to 0x1B ack data: 0x0A 0x30 
    write to 0x1B ack data: 0x09 0x30 
    write to 0x1B ack data: 0x08 0x30 
    write to 0x1B ack data: 0x14 0x54 
    write to 0x1B ack data: 0x13 0xAC 
    write to 0x1B ack data: 0x12 0x54 
    write to 0x1B ack data: 0x11 0xAC 
    write to 0x1B ack data: 0x0E 0x91 
    write to 0x1B ack data: 0x20 0x00 0x01 0x77 0x72 
    write to 0x1B ack data: 0x10 0x02 
    write to 0x1B ack data: 0x0B 0x00 
    write to 0x1B ack data: 0x10 0x02 
    write to 0x1B ack data: 0x1C 0x02 
    write to 0x1B ack data: 0x19 0x30 
    write to 0x1B ack data: 0x25 0x01 0x02 0x13 0x45 
    write to 0x1B ack data: 0x50 0x00 0x00 0x00 0x80 
    write to 0x1B ack data: 0x05 0x00


    如您所见、我绕过了 EQ (只是为了发布更少的代码/转储)、得到的结果与之前相同:
    音量非常低。 我还尝试启用 BEQ 和 DRC、但情况相同。


    我必须将主音量设置为0dBm、因为您提供的初始化序列没有设置该值。 (没有这种情况、我听不到任何声音)
    我尝试过 AD 和 BD 调制、结果是相同的。

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

    你(们)好

    这实在太奇怪了。

    您的输入是否可能太小?  

    我检查了您的 I2S 信号、您使用的是哪种信号、它看起来不是正弦波。

    BTW、以下链接是我们的 EVM 板相关电路和信息。

    也许您可以参考它。

    https://www.ti.com/lit/ug/slou331a/slou331a.pdf?ts=1663117102385&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FTAS5731%253FkeyMatch%253DTAS5731%2526tisearch%253Dsearch-everything%2526usecase%253DGPN

    谢谢。

    Jesse

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

    您好!
    我知道这真的很奇怪。
    我的一个替代来源是 PCM2706、它直接连接到 TAS 的 I2S 总线。 我绕过了 PCM9211。

    USB 芯片连接到 Windows 机器、音量设置为100%格式为16位44Khz。 我已建议 TAS 使用16位字、结果是声音非常小。

    除此之外 、在前面的测试中、我使用了 PCM9211内部 ADC。 (如果需要、我也可以共享该 IC 的初始化序列)
    但基本上、我将其 ADC 配置为独立模式、44kHz、增益为+12dBm。 PCM9211输出到其主总线和"辅助"总线(如果我还记得正确的话、为 MPIOB)。 出于开发目的、MPIOB 连接到 PCM5102A、并且 DAC 能够正确输出强模拟信号。

    是的、屏幕截图显示正在播放歌曲、而不是正弦波。 我还使用信号发生器进行了测试、但结果是音量始终很低。 如有必要、我可以提供1kHz 正弦波的捕捉。

    明天、我们将通过将电感切换为15uH 来排除问题是22uH 电感引起的可能性。

    我开始想知道我们得到的芯片是否在某种程度上存在缺陷。 除使用文档中的 Excel 文件计算出的 LC 滤波器之外、除设计基于您提供的 EVM 文件。
    PCB 布局如第一篇文章所示、LC 滤波器级设计/布局与我们在前面分享的重新设计相同。

    我再次通过真正的 RMS 电压表在扬声器上测量、得到的值约为80-100mV。 (它会因 I2S 总线的声音而异。 100mV 与1kHz 方波一起、任何其他信号都较低)
    我们还注意到、使用方波(陶瓷通孔)的 LC 滤波器的电容器会由于压电感效应而产生振动、其输出的"声音"比驱动器本身更多。

    我们开始在下班后进行测试、以获得更安静的环境、白天的房间噪音使我们无法听到任何声音。