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.

[参考译文] DS90UB927Q-Q1:在复位寄存器0x01写入期间进行 NACK (启用远程自动断电)

Guru**** 2460850 points


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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1486981/ds90ub927q-q1-nack-during-reset-register-0x01-write-enabling-remote-auto-power-down

器件型号:DS90UB927Q-Q1

工具与软件:

尊敬的 TI 专家!

您能否说明 远程自动断电模式的预期行为?

我注意到(尽管数据表中未提及?) 当 启用远程自动断电时(未检测到 FPD III 链路)、无法通过 I2C 访问器件、并且所有寄存器在检测到链路并启动后都处于 POR 状态(即使在 复位寄存器0x01中的远程自动断电位被取消置位后)。 虽然未记录此行为、但此行为可重现、并且可以解决。

我目前遇到的问题相当偶发、例如、将复位寄存器0x01中的位7 (远程自动断电)置为有效有时会成功、但在许多情况下、如果进行写入操作时没有 FPD III Link、则会导致 I2C 总线上出现 NACK。 执行此写入操作后、不能访问任何寄存器、直到建立 FPD III 链路。

我的问题是:这个 NACK 应该被忽视吗? 串行器是否可能如此之早进入睡眠模式、以至于它甚至无法确认将其设置为 远程 自动  断电模式的此写入周期?

是否可以通过任何方法来确定此特定写入是否成功、并且这不会影响 I2C 总线上的信号质量?

此致、

Alexander Sverdlin。

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

    尊敬的 Alexander:

    本节更详细地介绍了远程自动断电模式。  

    虽然没有记录、但此行为可重现、并且可以解决。

    您提出的权变措施是什么?

    启用远程自动断电模式且断开 FPD-Link、随着它进入"睡眠模式"、SER 预计不会与 I2C 通信。 但是、一旦再次连接 FPD-Link、您应该能够与 SER 通信。 如果您在 FPD-Link 断开时使此位生效、SER 将立即进入"睡眠模式"并仅保持在"睡眠模式"、直到再次连接 FPD-Link。 这是您观察到的行为吗?

    [quote userid="593104" url="~/support/interface-group/interface/f/interface-forum/1486981/ds90ub927q-q1-nack-during-reset-register-0x01-write-enabling-remote-auto-power-down 我的问题是:是否可以忽略这个否定确认? 串行器是否可能过早进入睡眠模式、以至于它甚至无法确认此写入周期、从而将其设置为 远程 自动  断电模式?[/QUOT]

    启用远程自动断电模式后、一旦断开 FPD-Link 电缆、串行器就会进入睡眠模式。 睡眠模式意味着 您不再能够与 SER 进行 I2C 通信、因此应采用 NACK。  

    BR、

    Esther

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

    感谢您发送编修。  
    我担心为启用 远程自动断电而编写的内容经常使用 NACK、而不是后续的 I2C 访问。

    因此、串行器中的内部 I2C 从器件甚至在进入睡眠状态时不会完成事务。

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

    关于已记录的行为... 嗯、它可以总结为"要恢复正常运行、必须禁用远程自动断电功能"、但数据表并未提到所有寄存器都将复位为其 POR 值。 我甚至怀疑是否确实必须清除 reg_0x01[7]、因为无论如何芯片会完全复位。 因此、观察到的行为与产品说明书并不符。

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

    尊敬的 Alexander:

    因此串行器中的内部 I2C 从设备甚至在进入休眠状态时都无法完成该事务。

    是的、是这样。  

    设置此位的做法是正确的、每次断开并重新连接 FPD-Link 之后、寄存器值都将恢复为其默认值、而在正常操作中、无论 FPD-Link 状态如何、寄存器值都将保持您编程设置的值。  

    因此、要恢复正常运行、需要禁用该位、因为每次断开并再次重新连接 FPD-Link 时它都会继续将寄存器恢复为默认值。  

    您仍需要 设置 reg_0x01[7]= 0才能正常运行、因为在重新连接 FPD-Link 后、该位不受"睡眠模式"影响、并保持为1、直到 将其设置为0。  

    我理解这是数据表中存在的一个混淆点、并将其作为更新说明的注释。 谢谢!

    BR、

    Esther