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.

[参考译文] TCA6424A:图24以及接收到意外命令时的行为

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/729280/tca6424a-figure24-and-behavior-in-case-of-unexpected-command-receive

器件型号:TCA6424A

大家好

如果我们问 TCA6424A、您会介意吗?


在收到意外命令时、我们会遇到一些行为问题。

接收到正确的地址数据 、 TCA6424A 向  主器件发送 ACK。
2. 之后 、接收到不正确的命令数据、 TCA6424A 会由于  不正确的数据而向主器件发送 NACK。
之后  、再次接收到正确的命令数据、TCA6424A 是否向主器件发送 ACK?
   或者、我们是否应该使用虚拟 SCL 信号转到初始条件?


我们 想问 一下图24。 写入输出端口寄存器。
我们确认、在 我们按以下 URL 执行停止条件之前、这些值实际上不会更改;
https://e2e.ti.com/support/interface/f/138/t/728434

TPV 显示"输出数据有效"。 数据表中。
这意味 着 TCA6424A 具有"输出数据 有效"、 这意味着"在 OutputX 上恢复"、
那么、在停止条件之后、实际上输出会反射、对吧?   

我们的客户确认 使用了实际测试。
作为测试的结果、 每次它们改变 输出数据时、数据都会随着 ACK 计时而改变 、直到 它们执行停止条件。

那么、哪一项是正确的?
实时输出 更改。
-STOP 条件结束后、输出 发生变化。

此致、

大田松本

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

    Hirotaka-San、您好!

    "二.  之后 、接收到不正确的命令数据、 TCA6424A 会由于  不正确的数据而向主器件发送 NACK。
    之后  、再次接收到正确的命令数据、 TCA6424A 是否 向主器件发送 ACK?
       或者、我们是否应该使用虚拟 SCL 信号转到初始条件?"

    您是说、如果您在步骤2中为命令字节发送类似0xAA 的内容、然后您不是执行停止条件而是再次开始发送另一个字节、如0x8C?

    理想情况下、如果您在发送错误的命令字节时看到 NACK、则应执行停止条件、然后执行启动条件并重新发送正确的命令字节(再次发送器件地址后)。

    "那么、哪一项是正确的?
    实时输出 更改。
    -停止条件后、输出 发生变化。?"

    我尚未在实验室中确认这一点、但与我们的一位高级工程师交谈时、他告诉我、在完成停止条件之前、我们的器件实际上不会更新其寄存器。 如果客户说每次器件 ACK 时都会看到输出变化、那么我会说输出随 ACK 发生变化。 我稍后可以验证这一点。 我们的高级工程师可能会将 I2C 开关的延迟输出与 IO 扩展器相关联。 (我知道、在发生停止条件之前、我们的开关不会改变通道。) IO 扩展器可能不存在此问题。

    我将就此向您返回。

    谢谢、

    -Bobby

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

    嗨、Hirotaka-San、

    我刚刚运行了一个测试、发现输出在 ACK 而不是停止条件下发生了变化。 它看起来就像我们之前讨论的 I2C 线程、我错了。 STOP 条件规则仅适用于我们的开关、IO 扩展器将在 ACK 条件下反映其值。

    我还将返回并使用正确的答案编辑我们之前的帖子。

    谢谢、
    -Bobby

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

    Bobby San

    非常感谢您的确认。

    我们得到 IO 扩展器将在 ACK 条件下反映其值。

    我们还有关于以下方面的其他问题;
    "二.  之后 、接收到不正确的命令数据、 TCA6424A 会由于  不正确的数据而向主器件发送 NACK。
    " 3. 之后  、再次接收到正确的命令数据、 TCA6424A 是否 向主器件发送 ACK?
       或者、我们是否应该使用虚拟 SCL 信号转到初始条件?"

    您是说、如果您在步骤2中为命令字节发送类似0xAA 的内容、然后您不是执行停止条件而是再次开始发送另一个字节、如0x8C?
    理想情况下、如果您在发送错误的命令字节时看到 NACK、则应执行停止条件、然后执行启动条件并重新发送正确的命令字节(再次发送器件地址后)。
    ->好的, 我们 了解 到最好的建议操作是 执行 STOP 条件和 START 条件,然后重新发送正确的命令字节。
      如果是0xAA (命令字节不正确)->0x8c (命令字节不正确)、 您能 告诉我们以下信息吗?
      -Command 0xAA 被忽略、  然后命令0x8c 是否反映?   器件接收到0x8c 后 、器件是否会向  主器件返回 ACK?
      状态机是什么?(我们猜很难想象、、、)

    我们感谢您的始终帮助。

    此致、

    大田松本

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

    Bobby San

    很抱歉 打扰您、但是如果您对我们的上次更新有一些回答、您能告诉我们吗?

    此致、

    大田松本

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

    我目前没有设置来验证这一点、但我认为主器件将再次否定。

    明天早上我可以为您验证这一点。 请稍等。

    很抱歉耽误你的时间。

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

    Bobby San

    好的、我们正在等待您的更新!
    感谢你的帮助!

    此致、

    大田松本

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

    嗨、Hirotaka-San、

    坏消息:我尝试对 MCU 进行编程以发送地址+写入->(BAD 命令:0xFF)命令->data byte (0x00)并监视示波器上发生的情况。 我能够看到、器件 ACK 用于地址和写入位、而 nack 用于命令字节。 在这之后、我的 MCU 由于 NACK 而停止发送数据、似乎 MCU I2C 库被编程为在从器件发生 NACK 事件时停止与从器件的通信。

    可以自己对此进行位操作、但尝试为此编写程序需要一些时间。 我今天可能没有时间这样做。

    很抱歉耽误你的时间。 我认为 I2C 库在 NACK 后不会停止通信。

    -Bobby

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

    Bobby San

    好的、我们正在等待您的更新。

    此致、

    大田松本

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

    嗨、Hirotaka-San、

    很抱歉耽误你的时间。

    由于命令字节(0xFF)错误、我能够验证在 NACK 后发送字节(0x02)时从器件是否会 NACK。

    再说一次、很抱歉、这需要多长时间。
    -Bobby

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

    Bobby San

    非常感谢您的合作!

    确认后;
    a 错误的命令字节(0xFF)->从器件发送到主器件 NACK
    然后是正确的命令字节(0x02)-> 从器件发送到主器件 NACK

    作为结论、接收到错误的命令字节后、忽略下一个命令字节。
    是这样吗?

    此致、

    大田松本

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

    嗨、Hirotaka-San、

    "结论是、接收到错误的命令字节后、忽略下一个命令字节。
    这是正确的吗?"

    -正确。

    如果您需要其他任何东西、请告诉我。

    谢谢、

    -Bobby

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

    Bobby San

    感谢您的合作!
    好的、我们明白了!

    此致、

    大田松本