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.

[参考译文] TAS5760L:寄存器0x1000中报告的时钟错误

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1297759/tas5760l-clock-error-reported-in-registers-0x1000

器件型号:TAS5760L

大家好!

我将在原型中使用 ESP32、同时随 TI TAS5760L 一起使用。 I2C 总线正常工作、我可以读取和写入寄存器。

目前、我从寄存器获得以下输出:

寄存器值放大器被禁用:

TAS5760L 我是谁:0x82
TAS5760L 电源控制:0xFD
TAS5760L 数字控制:0x14
TAS5760L 模拟控制:0xD1
TAS5760L 卷配置:0x83
TAS5760L 故障:0x1000

寄存器值放大器启用:

TAS5760L 我是谁:0x82
TAS5760L 电源控制:0xFD
TAS5760L 数字控制:0x14
TAS5760L 模拟控制:0xD1
TAS5760L 卷配置:0x80
TAS5760L 故障:0x1000

如您所见、启用后、输出取消静音、关断状态发送为高电平。 不过、我不断收到故障、SD_FAULT 线路不断闪烁(未锁存)、这意味着在阅读数据表时、它是时钟错误。

我找到了很多有关此芯片的帖子、他们说数据表错误、并且您不能将 MCLK 绑定到 SCLK (我假设这是指物理连接)。

请您对我需要做些什么来解决此问题有什么建议吗?

此致、

克里斯托弗

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

    尊敬的  Christopher:

    您的系统使用的 MCLK、SCLK 和 FCLK 的频率是多少?

    您能否使用示波器来测试时钟信号是否正常?

    此致、

    波长

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

    您好、

    感谢您答复:

    • LRCK = 44.102kHz
    • BCLK = 1.41126MHz
    • MCLK = 11.2902MHz

    此后、我将 PWM 模拟控制编辑为8倍(352.8kHz - B10010001)

    处于播放曲目模式时的寄存器:

    TAS5760L 我是谁:0x82
    TAS5760L 功率控制:0xFE
    TAS5760L 数字控制:0x14
    TAS5760L 模拟控制:0x91
    TAS5760L 卷配置:0x80
    TAS5760L 故障:0x1000

    我知道 I2S 的工作方式与切换至 Maxim I2S 放大器时一样、它会立即播放。 我显然缺少一些东西。

    此致、

    克里斯托弗

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

    你好,Christopher  

    然而我一直收到错误,sd_fault 行持续闪烁(不锁存),

    我可以询问我们是否将 SPK_FAULT 引脚和 SPK_SD 引脚连接在一起、或者我们是否确定没有一直从 MCU 切换 SPK_SD 引脚? 您是否可以分享您的原理图、我们可以 先进行检查。

    chao zhang 说:
    TAS5760L 错误:0x1000

    关于该故障寄存器、我对您的值有点困惑、为什么它有4位十六进制数字? 根据数据表、它应该只有2位数字、您能否确认正确的值?  

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

    Hi Shadow He,

    感谢您的答复。

    否、我尚未将 SPK_FAULT 和 SPK_SD 绑定在一起、尽管我知道您可以在其他 TI 放大器中将二者绑定在一起。 它们连接到微控制器以实现完全控制。

    之所以使用四位数、只是因为我将 输出设置 为二进制、以确保准确地根据故障表进行了计算。

    此致、

    Christopher。

    P.S.我实际上已经解决了这个问题、我很快就会发布、放大器现在已完全工作。

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

    大家好!

    我最终解决了这个问题。 这是一种混合的情况下,

    1) 1)在代码内、我必须启用 ESP32的 MCLK 引脚、该引脚只能在三个引脚上启用

    • GPIO0
    • GPIO1
    • GPIO3

    但是、GPIO 1和3是 UART 的 RX 和 TX 引脚、因此不应使用。 最后、我的 ESP32开发套件上未提供 GPIO0。 我必须将开发套件交换到暴露 GPIO0的更大模型。  

    使用音频库、按如下方式启用引脚:

    • audio.setPinout(I2S_BCLK、I2S_LRC、I2S_DOUT、I2S_DIN、I2S_MCLK);

    2)我们都做了,登记失明! 我用于设置输出的函数在电源控制寄存器上返回到前面。 在我的开场问题中、它显示了在 环路中0xFD 处的功率控制、这些被切换到了0xFE。

    3) 3)即使设置了控制寄存器、我发现启动顺序需要包含对 SPK_SD 引脚和寄存器进行物理设置、请参阅以下功能列表、希望我的功能名称能清晰易懂。

    configureDigitalCtrlRegisters ();(0x14)
    configureanalogCtrlRegisters ();(0xD1 -因为我正在 PBTL 模式下使用放大器)
    digitalWrite (spkShutDown、HIGH);物理启用引脚
    startUpRegisters();(
    unmuteRegisters ();(根据数据表为0xFD
    volumeLowSetRegister ();减小初始音量

    此致、

    克里斯托弗