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.

[参考译文] TCA8418:GPIO_DAT_STAT#"读取这两次以清除它们"????

Guru**** 2482225 points
Other Parts Discussed in Thread: TCA8418, TCA9555

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/673472/tca8418-gpio_dat_stat-read-these-twice-to-clear-them

器件型号:TCA8418
主题中讨论的其他器件: TCA9555

 TCA8418数据表显示:-

8.6.2.8 GPIO 数据状态寄存器、GPIO_DAT_STAT1-3 (地址0x14–0x16)

这些寄存器显示了当读取输入和输出时的 GPIO 状态。 阅读两次以清除它们

请有人解释"阅读这些两次以清除它们"在这方面的含义。

我想/希望当配置为 GPIO 输入时、它们只会反映当前输入状态。

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

    嘿、John、

    遗憾的是、我还没有机会在实验室中使用该器件(只订购了一些器件、但需要为其设置测试) 但是、数据表似乎表明每25ms 扫描一次 GPIO、根据我的理解、它们会检查先前读取的值、以查看引脚的状态是否发生变化(可能使用两个触发器来存储此数据)。 如果之前的状态和当前状态都相同(例如都为低电平)、则器件将得出按钮被按下的结论(不是磁通/弹跳)、并将数据移动到 FIFO 中。 此逻辑用于器件的键盘模式。

    将其作为通用输入、我假设器件应存储之前扫描的最后一个值和当前值。

    谢谢、

    -Bobby

    2018年3月19日(星期一)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Bobby、

    如果我们在设计中使用此芯片、我们将配置所有 GPIO 作为输入。 (无矩阵、不扫描、只是为了获得额外的 PIO、一点去抖、有限的 ESD 保护和上拉电阻)。

    从8.6.2.15 (去抖禁用寄存器)中的说明中、我认为在仅 GPIO 模式下、去抖时间为~50 μ s。 对于我们的应用而言、25毫秒的延迟太大、因此我非常感谢您在 GPIO 输入模式下为该寄存器提供的任何更多指示以及预期的任何延迟。

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

    嘿、John、

    "根据8.6.2.15 (去抖禁用寄存器)中的说明、我认为在仅 GPIO 模式下、去抖时间为~50 μ s。"

    去抖时间似乎最大为60ms。 我可能会相信数据表的这一部分。 如前所述、我相信寄存器中的值将是最后两次扫描的延迟值(间隔25ms、因此如果我理解正确、最大延迟将为50ms)。 最好查看我们的 IO 扩展器、因为延迟值似乎不适合您的应用。

    我们确实有具有 ESD 保护和内部上拉电阻的 IO 扩展器。 一个示例是具有100k 内部上拉电阻和2k HBM 和1k CDM ESD 保护的 TCA9555。 多个封装选项和器件默认设置为输入、无需像 TCA8418那样配置寄存器。 它唯一没有的功能是去抖功能。

    您可以在此处找到其他 I/O 扩展器:

    请务必查找 TCA 系列、因为它们具有更高的成本竞争力、并修复了 PCA 系列中的一些错误。

    谢谢、

    -Bobby

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

    Bobby、

    感谢您提供参考。 既然我们清楚地知道我们不需要/不需要矩阵、那么我们将查看其他芯片。

    John