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.

[参考译文] TCA6416A:TCAL6416中断清除与中断丢失风险之间的关系

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1348955/tca6416a-tcal6416-interrupt-clear-vs-risk-to-miss-an-interrupt

器件型号:TCA6416A
主题中讨论的其他器件: TCAL6416TCA8418E、TCA6416

您好!

我们需要将 TCA (L) 6416A 用作 IO 扩展器、其中许多 IO 用作输入。

中断输出用于避免轮询、但如 TCA6416A 的数据表第9页所述、当在 I2C 读取周期的 ACK/NACK 期间清除挂起的中断时、我们不能接受缺少中断的风险。

是否有选项可以在不添加额外硬件的情况下消除此风险?

谢谢。

贝尔特

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

    如果中断在 ACK 期间发生、或者输入返回到其旧值、中断可被复位。

    为避免这种情况、您需要额外的硬件。

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

    您好、BERT、

    为了进一步了解这种情况、您需要特别关注以下情况:在输入端口寄存器的读取操作期间输入与原始状态相比发生变化(因此触发了中断)、i2c 总线 ACK/NACK 位的第9个时钟周期内输入发生变化?  

    此致、

    泰勒

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

    Tyler、Clemens、

    感谢您的回复。

    是的、我们担心读取周期的 ACK/NACK 期间缺少输入更改。 我们考虑在输入前使用74HCS373锁存器。 可以在处理中断之前通过软件禁用锁存、然后启用中断。 但是、SW 不满意、因为这需要对现成的软件进行更改。 有什么建议吗?

    Br、

    贝尔特

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

    您好、BERT、

    我没有看到任何可在 TCAL6416内添加的功能中的 ACK/NACK 位期间检测或锁存中断的功能集。 我在这里同意 Clemens 的观点、即很可能需要额外的硬件、例如您对74HCS373的建议。  

    我发现 这里的线程 具有类似的问题。

    根据 Bobby 的观点、可使用 TCA8418E、因为它包含一个10字节 FIFO、此 FIFO 可在 ACK/NACK 位达到某一阈值期间跟踪包括输入。 当然、如果有多个输入超过10字节 FIFO 限制、FIFO 会移出数据的第一个字节、或丢弃任何大于10字节的内容。  

    至于 TCA7408、我唯一的解决方案问题是我不知道这款器件的长期采购来源。 如果此器件在将来停产、我也不会感到意外。 我没有看到 TCA8418E 或任何 TCA/tcal IO 扩展器产品线的 EOL 问题。  

    此致、

    泰勒

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

    您好、Tyler:

    谢谢您的建议、我将查看一下。 目前很明显、如果我们要使用 TCA6416、我们必须预见额外的硬件。 没问题、只是我要知道。

    谢谢。

    贝尔特