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.

[参考译文] TCA6424:设计回顾

Guru**** 2391175 points
Other Parts Discussed in Thread: TCA6424A, TCA6424

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1084877/tca6424-design-review

部件号:TCA6424

大家好,团队

我们的客户设计使用 TCA6424A。 由于交付问题,他们决定根据  数据表的勘误表使用 TCA6424作为替代产品。

但是,他们发现中断的行为与上一个芯片不同。 GE 立即取消了断言(见附图)。

——从寄存器00h 中读取永远不是我们的最后一个命令。 我们始终按此顺序依次阅读登记册00h,01h 和02h。

—我们没有连接其他 I2C 从动装置(只有 STM32作为主控装置)

中断仅在1 us 左右激活,并立即被解除断言。 您看到它的几个激活来自一个弹跳开关,因为它们在电子(中断线)上有一个 RC 滤波器,这些短脉冲将被滤波。

据客户称 ,他们观察到的行为与勘误表无关,他们怀疑芯片与 TCA6424A 的差异大于勘误表中列出的差异。

下面是其他信息的示意图:

TCA6424取代了 HMI (单独 PCB)上的 U3,并通过电线连接到底板。 基板上有一个 STM32 (I2C 的另一侧)。 为了获得更好的有线信号质量,他们在两侧实施了 PCA9615。  

您能否帮助客户处理与 TCA6424A 相同的芯片?

此致,

马文

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

    嗨,玛丽文,

    我认为,此设备上的勘误表是,每当您阅读寄存器0x00时,INT 引脚都可能被错误地取消断言。 当他们说的时候

    “这通常意味着设备的最后一次操作是读取输入寄存器。 但是,命令字节可能是用00h 编写的,而没有继续读取输入寄存器。 从设备读取后,如果没有写入其他命令字节,则该字节将保持为00h。”

    这并不意味着勘误表只有在寄存器0x00被读取为最后一次时才会发生,这意味着即使您向寄存器中写入了0x00,这也是最后一次写入,也可能会发生勘误表。 如果可能,您可以提供 INT 引脚,SDA 和 SCL 信号线的范围图,我想看看 INT 引脚的命令是什么。

    最佳

    克里斯

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

    你好,克里斯和马文

    我们希望已经完成了所希望的测量。 也许马文可以将图像上传到此案例。

    这2个测量值显示(黄色=中断,蓝色= SDA,紫色= SCL):

    1. I2C 通信(由 STM32端发起,不涉及中断)

    2.由于 TCA6424上的按键(弹出)而导致的中断。 STM32无法检测到

    我们已经检查并添加了固件以进行测试,因此我们永远不会以地址或数据的形式发送0x00。 但这并没有改变行为。

    与此同时,我们在数据表中发现了一个奇怪的段落:

    在 TCA6424中,发出任何 I 2C 命令(读或写)后,输入模式下的端口输入的上升或下降边缘不会立即产生中断。 为了捕获 TCA6424中的 INT,用户需要在停止信号后再添加一个 SCL 时钟脉冲。”

    我们尚未实施此附加时钟脉冲。  TCA6424A 不需要此功能。 甚至在标准 I2C 通信中也没有定义它。 这听起来像是对我的一种攻击。

    这是否是我们行为的根本原因?

    为什么在勘误表部分没有提到这一点,对我来说,这听起来很明显是勘误表?

    STM32 IC2驱动程序是否有任何可解决此问题的设置? 我们希望有一个干净的解决方案来解决这个问题,而不是一个难题。

     TCA6424A 是否也能与此附加时钟脉冲配合使用?

    这种时钟脉冲是否会影响/干扰其他 I2C 设备,因为我们必须将其添加到 I2C 驱动器中?

    感谢您的支持

    罗马

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

    Chris 和 Roman,您好!

    以下是上述图片:

       

    我希望这能有所帮助。

    此致,

    马文

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

    大家好,

    我将仔细阅读这些内容,并在明天返回给您。

    最佳

    克里斯

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

    抱歉耽误你的时间,

    输入端口发生变化时,您能否显示 INT 引脚的范围图? INT 引脚仅在输入端口从其存储状态更改值时才会更改。 因此,在范围快照中,您可以显示自己是否切换输入端口,并查看 INT 是否已设置。

    对于第二个范围,我有点困惑。 您是否自行将 INT 拉低而 MCU 却未读取? 这不是 TCA6424的问题,而是 MCU 的问题。

    您提出的这一额外时钟周期是此设备中断勘误表的一部分。 TCA6424A 不需要这种功能,但它将使用额外的时钟周期。 要格外小心,所有 I2C 设备的设计都是为了在发送9个时钟周期时重置 SMBus 寄存器。 这将允许您在巴士停机的情况下正常通信。

    只有当您的输入端口在设备发出 I2C 命令时更改了值时,才需要此额外时钟周期,如果没有 I2C 通信,INT 应在输入端口更改了其值后立即触发。 即使您没有额外的时钟周期,INT 最终也应该在 I2C 命令读取输入端口后触发,它只是不会立即发出。 这是勘误表的全部内容,不是此设备的预期行为,因此没有为此问题定义计时。

    TCA6426A 的可用性一旦提高,我强烈建议您过渡到该设备。 兼容性下降。

    最佳

    克里斯

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

    尊敬的 Chris

    只是为了澄清。 迄今为止,我们的设备一直在运行 TCA6424A。

    但由于交货问题,我们不得不与 TCA6424一起生产一批产品,我们可以通过经纪人组织这批产品。 我们没有其他选择。

    奇怪的事情:

    TCA6424现已按照我们的预期运行。 中断被正确地拉低,只要更换引脚,中断就会保持低水平。

    输入由 RC 元素过滤,不显示任何弹跳。 上升时间80毫秒,下降时间80毫秒。 很抱歉,我很难将该图解上传到 taht 论坛。

    但我不理解为什么中断现在是正确的:

    与此同时,我们已确保不会将00作为地址或数据写入最后一封邮件。 但我们尝试了这种固件更改,但没有影响 Int.

    在测量正确的行为之前,我已将一根导线焊接到印刷电路板上的1个输入引脚。 但在所有输入引脚之前,中断行为都相同。

    对我来说,失败的中断在我们中显示出跳动,而输入信号不断地发出而不是跳动,这是毫无意义的。

    我们的问题似乎已经解决。

    不好的是,我们不知道为什么。 我们不知道为什么我们在 TCA6424上遇到了一些小问题。

    如果你有想法。 欢迎大家分享。 我更有信心下一批生产的产品能正常工作。

    此致

    罗马

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

    罗马,

    看到 INT 弹起时针脚输入的样子会很有趣。 我一直在谈论设计这个问题,当导致中断的输入引脚返回到其原始值时,这些中断可以被取消断言,而无需读取输入寄存器。 输入引脚上可能会有一些噪音,从而导致中断断言和断言。

    我还在考虑此设备的额外时钟周期要求。 此设备的设计非常陈旧,但为了满足额外时钟要求并保持所有 I2C 写入不变,您只需立即向假冒设备地址发送写入即可。 将发生的是 MCU 将看到一个小问题,它可以继续通信,而无需在额外的时钟周期中进行代码处理。 这样就可以满足额外时钟周期要求。 显然,使用此设备,如果没有额外的时钟周期,INT 可能会一直处于低位,并且它永远不会断言。 因此,每次写入此设备后,您都必须立即向另一台设备发送虚假写入,以便始终有额外的时钟周期。

    我将要看看我是否可以使用此设备,以便我可以在实验室中对其进行测试,以验证这是否是一个合适的解决方案。 幸运的是,如果这是一个修复程序,那么您应该可以在 TCA6424A 中进行交换,而不必更改软件。

    最佳

    克里斯

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

    尊敬的 Chris

    由于 RC 滤波器(参见原理图)是为输入引脚设计的,因此在输入引脚上发出噪音(特别是弹跳)是不现实的。 问题是,自星期三芯片工作正常以来,我们无法再现最初的故障行为(不再对中断进行断言)。

    它可能是焊接不良(例如 RC 元件的焊料 C 不良),通过操纵 PCB 来固定。 尽管这种做法没有多大意义,但由于在多个输入引脚上观察到了这种行为。 但是,我们很快就得到了 TCA6424生产的批次,并将对其进行测试,以确定我们是否有相同的行为。

    另一件事可能是您的固件更改修复了它,尽管我们在更改的开发过程中没有看到它。 我们将使用旧固件版本重新测试中断,以查看是否再次对中断进行断言。

    此致

    罗马

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

    好吧,罗马

    请保持更新。 我问我的团队是否有任何非 A 设备可在实验室测试,但我们没有该设备的库存。 如果无法重新创建问题,则很难准确调试问题所在。

    最佳

    克里斯