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.

[参考译文] TAS5720A-Q1:时钟容差? SCLK,MCLK,LRCLK?

Guru**** 2392565 points
Other Parts Discussed in Thread: TAS5720A-Q1

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/666052/tas5720a-q1-clock-tolerances-sclk-mclk-lrclk

部件号:TAS5720A-Q1

您好,

我正在尝试使FS 16kHz,SCLK = 32*FS,MCLK = 256*FS模式工作,这是数据表中单速软件控制模式所允许的。

理想情况下,这需要4.096 MHz MCLK,但我的MCLK源仅为纯4.0 MHz (以及由此衍生的所有其他时钟),

这意味着2.3 % 低于理想值,尽管数据表中没有提到频率容差。

该部件一直给我一个稳定的CLKE错误(寄存器8中的第3位),它应该是非锁定的,

因此,这意味着错误无法恢复。

我尝试在时钟已打开后重新切换/SPK_SD并重新编程寄存器,但这没有帮助。

(可能不相关的信息:虽然该部件仅驱动一个扬声器,但在两个I2S通道中都有相同的16位I2S数据,

我尝试过,但尝试过BTL和PBTL设置,但没有变化)。

 

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

    您是否尝试注入4.096MHz信号并检查时钟错误是否消失?

    此致,

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

    不能,驱动I2S流的部分驱动所有时钟和数据线,并产生4.0 MHz MCLK

    我没有办法修改它。

    同时,我们订购了部件的TI评估套件。 我希望它有一个工作的16kHz单声道示例。

    我不想做任何比这更新奇的事,我真的怀疑2.3 % 时钟频率错误会导致数字时钟错误问题。

    这就是我在范围内看到的内容:

    MCLK:4 MHz

    SCLK:0.5 MHz

    LRCK:15.625 kHz

    寄存器设置包括:

    00->00

    01->FD (使用FC重置设备)

    02->14 (也试过13和15)

    03->80

    04->彩色血流多普勒

    05->彩色血流多普勒

    06->D1 (同时尝试51)

    07->00

    08->00 (我写00,但它返回08,因为有CLKE位)

    09..0F都读为00,我不写。

    10->FF

    11->FC

    无论我做什么,第8条始终是08

    此外,数据表中存在一个矛盾:

    在表10中,对于第3位,它提到单速采样率仅为32 ,44.1 和48 kHz

    但在表5中,它显示了七种支持的采样率,一直降至12 kHz,因此我的15.625 而不是16.000 kHz应该不是问题。

    您是否有16kHz单声道的寄存器设置示例?  或者,我使用的设置是否有任何问题?

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

    您好,Mike:

    首先,我可以确认TAS5720A-Q1支持16kHz。  

    我假设您的系统中MCLK与LRCK的比率为256,SCLK与LRCK的比率为32,正确吗?  如果这些比率不同,将报告时钟错误。

    此外,极有可能不接受LRCK率(15.625kHz)。  我建议您使用真正的4.096MHz MCLK。

    Andy

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    所以,作为一项实验,我把MCLK的频率提高了一倍。 现在是8.0 MHz。 SCLK (即/8)现在为1MHz,LRCLK (即/256)现在为31.25 kHz。 CLKE位保持设置。 这个问题显然不是由于15.625 和16.000 之间的2.3 % 差异,而是由于其他原因。

    我已经向您展示了我的注册设置(这些设置无效),现在您向我展示了您的注册设置(您声称它有效)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我找到导致问题的原因。
    尽管寄存器0x01中存在/SPK_SD位,但即使在“软件控制模式”下,我们确实需要在对I2C寄存器编程时强制硬件/SPK_SD引脚低电平,然后将其提高到高电平。 尽管名称相同,但在寄存器1中播放比特不是同一件事。 在对任何寄存器编程之前,我将其脉冲低至1毫秒,现在我有15.625 kHz的工作音频。