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.

[参考译文] TAS5828M:I2S:时钟检测故障

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1293168/tas5828m-i2s-clock-detection-fault

器件型号:TAS5828M

您好!

以下是我的设置:
* TAS5828以 I2S 模式通过 McBSP 连接到 TMS320F28377 (I2S 信号良好)。
* PBTL、24V、8欧姆负载。
*输出信号: sinus, 20V, 333Hz. 负载功率:25W。

一切正常,但有一些有趣的...

*大多数原型都不存在问题,这项25W 输出功率的测试正常运行了一个小时。
*我有 两个报告时钟故障的原型:寄存器0x71、位2、 CLK_FAULT_IR0时钟故障。 一旦出现时钟故障、该位就设置为1。 D 类输出设置为 Hi-Z。
*该故障在开始测试几分钟后出现,并导致短暂的高阻态。 不好

现在、我尝试通过设置 CLOCK_DET_CTRL 寄存器0x29=0x7C 来禁用时钟检测功能:忽略所有时钟检测故障。

并且:一切都运行正常。 否高阻态。 无错误输出采样(范围上持续=无限)。

有什么我应该知道的东西吗? 我没有在数据表中读出任何内容吗?

此致、
埃德温

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

    您好、Edwin:

    您能否提供原理图? 您是否设置了故障触发波形捕获、以便在观察到时钟故障时观察任何其他信号? 是否触发了任何其他故障?

    此致、
    路易斯

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

    您好!

    这里是原理图,没有什么特别的,在数据表中有很多建议...  3个 GPIO 引脚未使用、因为一切都通过 I2C 运行。

    *功率输出信号:没有什么特别的,只会是高阻态。
    寄存器0x71,位2, CLK_FAULT_IR0是唯一的一位,其他一切都是0 ... 寄存器0x70和0x72为0。 因此、没有其他故障。
    *当 IC 变热时,在较高负载下一次打印时会发生这种情况。 没有负载或在较低的电源电压下、没有问题。 因此、我确信 I2S 信号是正确的。

    即使没有错误、时钟故障检测也可能检测到错误吗?

    此致、
    埃德温

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

    您好、Edwin:

    您能否在驱动此高输出功率的高温条件下捕获 I2S 总线。 此外、您是否可以检查警告位以查看是否标记了过热警告?

    此致、

    路易斯

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

    您好!

    软件使用 I2C 检查标志。 每秒读取寄存器0x70、0x71和0x72 10次。 警告寄存器0x73。

    CLOCK FAULT 位是唯一获得值为1的位。 其他值保持0。 很有趣

    此致、
    埃德温

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

    您好、 Edwin。

    我有一些需要与您确认的问题:

    1.有多少 样机有这样的问题? 如果是、您可以帮助进行测试、A 到 B 和 B 到 A 测试吗? 交换两块板上的芯片、查看是否出现同样的情况。

    2. 您能否将0x40写入寄存器0x29以观察问题是否仍然存在?

    3.您是否还可以将0x20写入寄存器0x29以观察问题是否仍然存在?

    4.您是否还可以将 0x08写入 寄存器0x29以观察问题是否仍然存在?

    1是判断这是否是单个芯片的问题。

    2、3、4将判断这是由内部 OSC 时钟的问题引起的。

    Br.

    魏秋。

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

    您好!

    我有五个原型、其中一个展示了这种行为。 更改物理 IC 是我可以做的事情、但我不想做(相当困难、IC 旁边有很多其他器件)。

    并且:我今天将检查确切的故障源... 并在下一条消息中写入结果...

    此致、
    埃德温

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

    ... 一切都很有趣。 我尝试了不同的时钟故障检测值、并查明发生了哪些错误:

    *将寄存器0x29写入0x10是一种解决方案/权变措施:因此这是一个" FS 错误"。 帧同步错误? 很有趣
    *我无法想象  当功率放大器温度升高时 UC/DSP 具有不同的 McBSP/I2S 输出信号。
    *正如我之前写的: I2S 信号完全是数据表显示的。

    *但是:有一件特殊的事情。 采样率不是常用值。 它的(数学)值是 40064.10256: 200m/78/64 ... 好的、确切的值取决于 DSP 时钟晶振容差。 但我无法想象这可能会引起兴趣。 (寄存器0x28设置为0x00... 自动检测)

    这种行为是否有合理的解释?

    谢谢、此致、
    埃德温

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

    您好、 Edwin。

    根据您的说明、这个问题似乎是由较低的 FS 频率引起的。 FS 的容差大约为10%、下限值大约为40.03kHz。 考虑到内部 OSC 频率因高温会产生一些偏移、  40064.10256Hz 无任何裕度。

    我们强烈增加 FS 频率、并再次尝试。

    Br.

    魏秋。

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

    您好!

    谢谢、这很有趣。 我的应用程序的一些附加信息:
    *我用 TAS5828M 相功率 DAC 的音频信号.
    *我对内部 DSP 功能不感兴趣... 只是过流/过热问题就没有问题。
    * DSP/uC 中会运行复杂的数学计算。 因此、较高的采样率不会有任何好处。


    我是否正确理解情况?
    * TAS5828M 通过将输入信号与内部基准振荡器进行比较、执行一定的采样率(=帧同步)单声道校准。
    * 阈值 窗口约为+/- 10%...  基准振荡器将 根据 IC 温度改变其基准... 当然。
    *因此、40kHz 可能正常、但可能会导致检测到采样率错误。

    所以、有两种可能的解决方案:
    1.将采样率更改为建议值(32k2 44k、48k、...)。   由于软件复杂性、没有用处。
    2.开启采样率,对寄存器0x29中的位进行设置。 这是首选解决方案、因为可能需要将采样率降低至38kHz 或36kHz。 这些值不是常用值。

    如果 我通过关闭采样率监控来解决这个问题、我会说:问题已解决! 这种行为合适吗?

    谢谢、此致、
    埃德温

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

    您好、Edwin。

    我是否正确理解这种情况?
    * TAS5828M 通过将输入信号与内部基准振荡器进行比较、执行一定的采样率(=帧同步)单声道校准。
    * 阈值 窗口约为+/- 10%...  基准振荡器将 根据 IC 温度改变其基准... 当然。
    *因此,40kHz 可能是可以的,但可能会导致检测到采样率错误。

    是的、您的理解是正确的。

    [报价 userid="67938" url="~/support/audio-group/audio/f/audio-forum/1293168/tas5828m-i2s-clock-detection-fault/4914833 #4914833"]因此,有两种可能的解决方案;
    1.将采样率更改为建议值(32k2 44k、48k、...)。   由于软件复杂性、没有用处。
    2.开启采样率,对寄存器0x29中的位进行设置。 这是首选解决方案、因为可能需要将采样率降低至38kHz 或36kHz。 这些值不是常用值。[/引号]

    我们强烈建议使用解决方案1。 因为采样率偏差较大会导致开关频率或音频性能出现问题。

    Br.

    魏秋。

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

    您好!

    谢谢、现在我对这些东西有了更好的了解。 最后一个问题是:

    您是否建议将 FS 设置为44kHz、因为它是最近的频率? 或者我应该使用自动检测吗?

    和:句子"如果输入 FS 为44.1kHz/88.2kHz/176.4kHz、则需要手动设置。" 是 e 有点奇怪... 这是否意味着我仍然需要将其设置为44kHz?

    谢谢、此致、
    埃德温

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

    您好、Edwin。

    手动将采样率设置为44.1kHz 会更好。

    Br.

    魏秋。

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

    您好!

    谢谢。 我只想实施一切。 但它现在变得有趣...

    我想我必须设置 SIG_CH_CTRL 寄存器0x28 (请参阅最后一条消息的照片)。 现在我将它初始化为0x00... 自动检测。

    哪个值是正确的? FSMODE 只是一个位,但我应该把 b1000=0x8写入其中... 很难。 我认为数据表中出现了错误。 我应该向寄存器0x28写入哪个值?
    我要把它设置为0x08 ... 位长度自动检测且[FSMODE、3x reserved]=b1000=0x08?

    还有一点,我刚刚测试了 FS_MON 寄存器(寄存器 0x37 )... 其值为0x09…… 采样率48 kHz ... 表(表8-23)中没有44.1kHz 的位组合。

    非常感谢、此致、
    埃德温

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

    我刚刚尝试了寄存器0x28=0x08 ... 连续计时错误、因而出现静音。

    此致、
    埃德温

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

    您好、Edwin。

    抱歉数据表中出现错误、我们稍后会进行修改。

    Bit0~bit 3要 设置 FS、设置44.1kHz 要写入0x08。

    自动检测无法检测44.1kHz 采样率。

    我刚尝试过寄存器0x28=0x08 ... 连续计时错误,因此静音。

    40k 样本接近44.1kHz 的下限(+/- 10%)。 您能否尝试提高采样率并再次尝试一下?

    Br.

    魏秋。

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

    您好!

    我将继续以40kHz 的采样率和自动检测进行操作。 它运行良好、这就是我需要的。

    最好的问候和感谢的帮助!
    埃德温