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.

[参考译文] TAS6424E-Q1:Tas6424不断报告无效时钟错误

Guru**** 2444180 points


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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1372138/tas6424e-q1-tas6424-keeps-reporting-invalid-clock-error

器件型号:TAS6424E-Q1
主题中讨论的其他器件:TAS6424

工具与软件:

Tas6424的 TDM 时钟和数据由 SoC 端输出。

SoC 侧播放的 wav 文件的格式为8通道、32位、采样率为48000。

使用示波器测量放大器的输入引脚、并且 BCLK、FSclk 和 Data 都正确。

另外、也正确测量了 Tas6424的以下电源引脚、测量结果如下:

VBAT/PVDD 均为12V

VDD 为3.3V

引脚:待机和静音也在高电平下被测量。

1.上电后、将 tas6424的待机和静音引脚设置为高电平。

2.然后设置以下寄存器:

1) SAP 控制(串行音频端口控制)寄存器(地址= 0x03)设置为0x46 (​​也尝试了0x44、0x45、0x43等其他值、结果相同)

2) 2)将通道状态控制寄存器(地址= 0x04)设置为0x0;

然后、软件遵循数据表中注释提示的过程:10.2.1.2.2数字输入和串行音频端口

但是、只要通道状态控制寄存器(地址= 0x04)设置为0x0 (PLAY 状态)、全局故障1寄存器(地址= 0x11)的值将变为0x10 (即:无效时钟)、软件将使用其他控制3寄存器(地址= 0x21) FAULT 的位7 (CLEAR)来清除错误;

1)如果 SoC 侧不播放 wav 文件、通道状态报告寄存器(地址= 0x0F)的值为缺省值0x55 (Hi-Z 状态);

2) 2)如果 SoC 侧正在播放 WAV 文件、则通道状态报告寄存器(地址= 0x0F)的值将变为0xAA (静音状态);

全局故障1寄存器(地址= 0x11)的值将变为0x0。 直至播放结束

3) SoC 侧完成播放后、通道状态报告寄存器(地址= 0x0F)的值将成为默认值0x55 (Hi-Z 状态);全局故障1寄存器(地址= 0x11)的值将变为0x10 (即:无效时钟)。

这个循环重复、扬声器从不输出任何声音。

紧急,请尽快回复,谢谢!

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

    您好!

    您是否已将 MCLK 引脚连接到 SCLK 引脚?  如果您遇到时钟错误、通常意味着缺少时钟或 FSYNC 和 SCLK 不进行相位同步。   

    此致、
    Gregg Scott

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

    感谢您的回复!

    MCLK 引脚和 SCLK 引脚连接在一起。

    我阅读产品说明书、发现该阶段涉及多个相关寄存器的设置。

    此外、我是否需要参阅"9.3.8.3.2阻抗相位参考测量"和"9.3.8.3.3阻抗相位测量"以进行测量?

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

    您好!

    这些指的是交流负载诊断的使用。  我认为这些与您的问题无关。

    我将使用您的本地应用程序工程师  我们将很快作出回应。

    此致、
    Gregg Scott

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

    您好 Gregg Scott、

    1) 1)"关于 MCLK 引脚和 SCLK 引脚连接在一起。"

    我添加了此寄存器的设置:

     根据表9-40、将其他控制4寄存器(地址= 0x26)的位3设置为1。 其他控制4字段说明:

    "1:当 MCLK/BCLK 以相同频率运行时、反转 MCLK/BCLK 相位关系"

    2) 2)关于相位控制、我添加了以下寄存器设置:

    a)根据表9-12将杂项控制2寄存器(地址= 0x02)的值设置为0x65 (或0x66、0x67)。 其他控制2字段说明:

    "010:保留(默认值、必须更改)

    100:保留

    101:CH1- 0、CH2- 210、CH3- 60、CH4- 270

    110:ch1- 0、ch2- 225、ch3- 90、ch4- 315 1.

    111:CH1- 0、CH2- 240、CH3- 120、CH4- 360"

    b)根据表9-41、将杂项控制5寄存器(地址= 0x28)的位5设置为1。 MISC 控制5字段说明:

    "1:支持的相位偏移"

     

    最后、根据表9-12、将待机引脚/静音引脚设置为高电平。 其他控制2字段说明:

    "警告:其他控制5寄存器的位5中的 MSB 必须先设置为"1"、器件才能退出待机模式。"

    但结果仍然与之前相同。

    请问是否有其他原因?

    请再次帮助分析它,谢谢!

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

    相位控制是通道之间 PWM 的相位控制。  这不会导致故障。   

    您能否提供 Fsync 频率、SCLK/MCLK 频率和 TDM 时隙大小?   在 TDM 模式下、SCLK 必须是128Fs 或256Fs。

    回复您的原始帖子。

    1. 如果您告诉该器件进入 PLAY 状态并且它保持在 Hi-Z 中、则表明存在故障或负载诊断故障。  
    2. 它不能进入静音状态、除非你告诉它进入该状态。  通过 I2C 命令或/Mute 引脚。
    3. 时钟故障是自动恢复的、因此它将在发生时钟错误时恢复、然后再次发生故障。

    此致、
    Gregg Scott

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

    您好 Gregg Scott:

    Fsync:  48000Hz

    SCLK/MCLK: 12.288MHz

    TDM 时隙大小为32位、8个通道。

    SCLK/FsyncFsync

    '如果您告诉该器件进入 PLAY 状态、并且它保持在 Hi-Z 状态、则表明存在故障或负载诊断故障。'

    是的、我检查了所有寄存器、它是时钟错误(全局故障1寄存器(地址= 0x11)的值为0x10)。 没有其他故障。

    "它不能进入静音状态、除非您告诉它进入该状态。  /Mute 引脚对电池充电。"

    我将"静音"引脚设置为高电平(取消静音)、因为数据表显示低电平有效(静音)。

    设置其他寄存器后、我最终通过通道状态控制寄存器(地址= 0x04)将所有4个通道设置为播放状态。

    之后、我没有使用 I2C 命令来设置该寄存器以进行状态切换。

    当故障发生时、该寄存器的值也处于 PLAY 状态。

    请继续协助分析、谢谢!

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

    感谢您发送波形的屏幕截图。  FSync 脉冲是否至少为2 x SCLK?  从我所能看到的内容来看、它已经足够宽了。   

    SCLK 相位是否与 FSync 同步?  我无法从屏幕截图中辨别。

    Gregg Scott