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.

[参考译文] TAS5760M:软件控制中的 I2C NACK 问题

Guru**** 2436970 points
Other Parts Discussed in Thread: TAS5760M

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1293551/tas5760m-i2c-nack-issue-in-software-control

器件型号:TAS5760M

尊敬的团队:

在通过 I2C 控制端口访问寄存器时、我们的 LSI 无法从器件获取 ACK 这一问题。

这种现象出现在我们的多个测试板上。

在访问 I2C 控制端口时、我们已确认满足数据表中的启动序列。

我们附上了测得的波形。 您能介绍一下吗? 从器件地址为0x6C、正确。

我们还确认符合数据表中 I2C 控制端口的交流特性。 因此、我们认为波形不存在问题。

同样、从地址0x6D 不返回 ACK。

您是否报告过任何类似问题?

您能就这个问题提供您的建议吗?

此致、

伊藤琢磨

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

    您好、Takuma、

    我们的同事请病假。  

    当他来公司的时候,他会相信你。

    此致、

    邓尼·彭

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

    大家好、Donny、

    请告诉他照顾自己。

    然而,我什么时候会听到他的回复?

    此致、

    伊藤琢磨

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

    你好,Takuma

     您的波形看起来确实是这样的。 但 I2C 几乎不会出现任何问题。

     AVDD 和 DVDD 的电源情况如何? 我们发送到 MCLK/SCLK/LRCK 的时钟是否稳定?频率是多少? SPK_SD 和 SPK_FAULT 引脚的状态是什么?

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

    高阴影

    AVDD 的电压为12V 或24V。 DVDD 为3.3V。

    MCLK/SCLK/LRCK 是稳定的。 频率分别为22.579 MHz、2.822 MHz、和44.1kHz。 我们 认为这符合产品说明书。

    SPK_SD 的状态为低电平、但即使它为高电平、也无法获得 ACK。
    SPK_FAULT 状态始终为高电平。 该引脚未置于低电平。

    还有其他我应该检查的东西吗?

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

    你好,Takuma

     现在看起来更奇怪。  

     我可以问一下我们现在测试了多少个样本吗? 我们是否能够在 EVM 上放置1PCS 进行仔细检查?   

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

    高阴影

    有两块开发板和三台或更多的原型机。 我们拥有的每个电路板都无法通信。

    我们是否能够在 EVM 上放置1个 PCS 来仔细检查?  [/报价]

    我们正在计划尝试您建议的方法。

    顺便说一下、我们的 LSI 与 TAS5760M 以外的器件成功实现 I2C 通信。 如果您有这样的经验、能否告诉我您是如何解决的? 有什么我应该检查的吗?

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

    你好,Takuma

      对于该器件、我们仍然可以检查是否需要将两个 SPK_GAIN 引脚拉高以便使器件进入软件控制模式。  

      另一个视角很难想象、I2C 功能 实际上非常稳定。

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

    尊敬的 Ito-San:

    抱歉、打断一下。
    很遗憾、我无法找到此问题的根本原因。
    PBTL/SCL 和 FREQ/SDA 可能会通过上拉电阻器连接到 DVDD。 如果 I2C 主器件的电源电压 VCC 上电慢于 DVDD、请尝试通过上拉电阻器将 PBTL/SCL 和 FREQ/SDA 连接到 VCC。

    此致、
    加藤

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

    尊敬的 Kato-San:

    感谢您与我们联系。
    由于 VCC 和 DVDD 是相同的电源、因此上电时序是相同的。

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

    Shadow、

    非常感谢您提供的所有建议。
    我们重新检查 I2C 数据保持时间、发现它不符合 TAS5760M 数据表中的规格。
    在校正数据保持时间后、我能够从 TAS5760M 获得一个 ACK。

    我还有一个问题。 TAS5760M 数据表中未提及最大保持时间。
    另一方面、根据"UM10204 I2C 总线规范和用户手册"、快速模式下的最大保持时间为0.9us。

    您能否告诉我为什么 TAS5760M 数据表和"UM10204 I2C 总线规范和用户手册"存在差异?
    如果有差异、以 TAS5760数据表为准吗?

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

    你好,Takuma

    我们重新检查了 I2C 数据保持时间,发现它不符合 TAS5760M 数据表中的规范。
    校正数据保持时间后、我能够从 TAS5760M 获得一个 ACK。

    我们发现了问题。 我很好奇、 您是说启动条件下的保持时间为0.6us? 从波形可以看出、时间似乎足够长、可能 SDA 在 SCL 拉至低电平之前不应上升、这是一个很好的捕捉。

    我还有一个问题。 TAS5760M 数据表中未提及最大保持时间。
    另一方面,根据"UM10204 I2C-bus 规范和用户手册",快速模式下的最大保持时间为0.9us。

    你指的是 TVD;dat 和 TVD;ack 吗? 似乎只有这两个值具有最大0.9us 的要求。

    它们都具有注释4、指出"只有当器件不加长 SCL 信号的低周期(TLOW)时才必须满足这个最大值。 如果时钟延伸到 SCL、在它释放时钟前、数据必须在设置时间内有效。"

    这里试图说数据设置时间实际上是最重要的值、我们需要首先保证。  在 SCL 的低电平期间、如果需要更改数据、则会出现冲洗/下降时间、而我们要求的 tsu;dat/TVD;dat/tvd;ack 也需要保证数据设置时间。 最小低电平周期 SCL 为1.3us、最大上升/下降时间为0.3us、我们必须保证0.1us 数据设置时间。 因此、如果您计算该值、则仅剩最大值0.9us。 正是处于拐角情况需要此要求。 因此、如果您延长 SCL 的低电平周期、我们通常会遇到的情况是、0.9us 的要求就消失了。 TAS5760数据表仅删除了该要求、我们更旧的器件仍然存在该要求、许多客户提到这一要求毫无意义。

    您能告诉我为什么 TAS5760M 数据表和"UM10204 I2C-bus 规范和用户手册"存在差异吗?
    如果存在差异、是否以 TAS5760数据表为准?

    不应该有太大的差异、TAS6760要求应该全部来自此标准。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们发现了这个问题,这是个亮点。 我很好奇、 您是说启动条件下的保持时间为0.6us? 从波形可以看出、时间似乎足够、可能 SDA 在 SCL 下拉至低电平之前不应上升、这是一个很好的捕获结果。[/报价]

    我说过数据保持时间意味着 THD;DAT。 由于"THD;DAT"为负、I2C 通信失败。

    你指的是 TVD;dat 和 TVD;ack 吗? 似乎只有这两个值具有最大0.9us 的要求。

    [/报价]

    我指的是"THD;DAT"的最大值。 I2C 标准规定"标准模式和快速模式的最大 THD;DAT 可以是3.45 μs 和0.9 μs。"

    感谢您的解释。 我能够理解为什么 TAS5760M 中删除了"THD;DAT"的最大值。 我也明白,没有太大的差异。

    [/quote]