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.

[参考译文] PCA9548A:器件有时无法切换、这是否是已知问题、是否有权变措施?

Guru**** 2394305 points
Other Parts Discussed in Thread: PCA9548A, TCA9548A

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/782386/pca9548a-the-device-fails-to-switch-sometimes-is-this-a-known-issue-and-are-there-workarounds

器件型号:PCA9548A
主题中讨论的其他器件: TCA9548A

您好!

我们有一个使用 PCA9548A 开关的系统、该器件大部分时间工作正常、但有时我们发现器件无法切换。  我们已经验证了控制寄存器的设置是否正确、但是在监控 SDA 和 SCX 线与 SDA 和 SCL 时、我们看不到数据或时钟。  我们可以将器件切换到另一个通道、然后返回、一切都正常。  我想知道 这是否为已知情况、是否有描述任何恢复方法的勘误表、以及原因是什么。

感谢您的任何帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此外、我们还验证了当故障发生时、有一个完整的控制寄存器事务、包括正确的定时停止。 我们在标准模式下运行、并已确保 tsps 参数也正确。 请注意、这是一种非常间歇的情况、但确实发生了、我们正在寻找一些见解和可能的根本原因、尤其是当这是已知情况时。

    再次感谢!
    卡尔顿
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、卡尔顿、

    您是否具有在为设备提供切换命令后不切换的事务范围?

    我知道发生这种情况的唯一情况是、如果您不在 I2C 总线上提供停止条件。 接收到写命令后、该器件会在激活通道之前等待 I2C 停止。

    "我想知道这是否为已知情况、是否有描述任何恢复方法的勘误表、以及原因是什么。"
    如果器件的状态机未正确复位、则可能会错过命令。 确保器件的 Vcc 斜坡符合第20页第11.1节中的电源建议。

    如果遇到 POR 错误的问题、可以通过切换 RESET 引脚手动复位器件。 在 SCL 上发送9个时钟脉冲也有助于复位器件的状态机。

    如果您有该器件的原理图、我也很高兴查看它、看看是否有任何可能导致问题的弹出内容。

    最后、您是否曾尝试使用 TCA9548A 器件? TCA 线通常更便宜、引脚分配相同、并修复了前一个系列中的错误(在本例中、它使 POR 限制更宽、从而更容易在启动时获得良好的复位)。

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

    您好、Bobby、

    感谢您的快速响应。  遗憾的是、我无法发布原理图、但我可以说我们已经非常仔细地检查了电路本身、以确保所有电路都已正确解耦、电压在上电时保持稳定、并且我们还在使用之前手动复位器件。  

    在大多数情况下、开关工作正常、只是它通常无法切换到所选总线、就好像命令没有在有效停止时完成一样。  下图显示了一个到所选总线的良好开关、一个远离该总线的良好开关、以及一个故障开关。  我们有一种权变措施、如果我们在 sdx/SCX 总线上看到器件未响应、则强制我们重试开关、但这种方法有效、我只想了解更多信息。  您提到您有一个看起来是直接替换的更新器件、我认为这是因为设计改进、这种类型的间歇性改进是其中之一吗?  我将研究使用较新器件的可能性、因为它比替换器件更好、但现在我已将现有电路板与旧器件组装在一起。

    顶部的两条走线是 SDA 和 SCL、下面的走线是 所选总线的 SC2或时钟。

    此致

    卡尔顿

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

    如果我们查看 SC2、最后一幅图像似乎并不表示故障情况。 您发送的数据为0x08、表示通道3已开启、所有其他通道均已关闭。 您没有探针观察通道3。 您是否能够验证通道3未激活? (如果您尝试通过通道2进行通信、则需要发送0x04h)。

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

    忘记处理您的其他评论之一:

    "您提到您有一个看起来是直接替换的更新器件、我认为这是因为设计改进、这种类型的间歇性改进是其中之一吗? " TCA9548A 没有解决间歇性连接问题、这是我第一次听到这种干扰。

    从您发送的波形中、我看不到任何东西会弹出。 您可能需要检查您的空闲状态(在执行启动条件之前您等待了多长时间)。 I2C 要求停止和启动之间的等待时间为4.7us (标准模式)和1.3us (快速模式)。 我怀疑这是一个问题,但可能是一个需要牢记的问题。 (图表中的时间划分似乎表明每 div 为40uS、因此您很可能满足此要求)

    -Bobby

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    另一个需要注意的事项是:
    您能检查一下停止条件的设置时间是多少吗? 标准模式和快速模式需要4us 和0.6us。 这可能是看到有效停止条件之间的差异。

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

    您好、Bobby、

    已附加显示停止位的时序、是的、正确答案是 SC3我在之前的所有三张照片中显示的是 SC3、而不是前面所示的 SC2。  我的缺点是、但正如您在布线中看到的、切换到 SC3并关闭它是正确的、而在最后一张图片中、它不会切换到 SC3。

    这里是停止位的时序、我将查看停止到开始时间、以查看我们是否违反了。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    刚刚检查了系统、我们在停止和启动之间的时间几乎为11us。。。 (如上图所示)...
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、卡尔顿、

    感谢您检查停止设置时间。

    "正如您在布线中看到的、切换到 SC3并将其关闭是正确的、而在最后一张图片中、切换到 SC3不是正确的。"
    是的、我注意到了这一点。 我想您看看通道3、因为其他两个波形似乎也表明了这一点。 发送数据字节0x08h 时、我确实会看到开关 ACK。 我唯一能想到的另一件事是某种噪声或耦合到复位引脚上的东西。 您是否能够在开关无法实际切换时监控复位引脚?

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

    您好、Bobby、

    我将在今天晚些时候进行设置并发布示波器截图。  感谢您的提示、当我们重新阅读数据表时、我们对复位时序感到困惑、因为存在一些模糊之处。  我们读取它、因为复位脉冲可能会窄至6ns (tw)、并且如果 SDA 在最大500ns (trst)内变高、则可以解释停止。 然后、我们读取 0 ns 的 Trec 值、并感到困惑、因为数据表中的波形有点模糊了所写的内容(而不是澄清)。  

    您能否详细说明一个随机发生6ns 脉冲(即来自噪声)的复位场景、也就是说、如果当时 SDA 处于高电平、芯片是否会认为已发出 STOP?

    非常感谢您的支持!

    卡尔顿

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

    "当我们重新阅读数据表时、我们对复位时序感到困惑、因为存在一些模糊之处。 . "
    RESET 引脚主要用于在 SDA 被锁存为低电平的情况下(这被称为阻塞总线、有多种方法发生这种情况)使器件返回默认状态(所有通道均关闭)、同时启用 SDA 通道之一。 因此、您所指的第一个参数是禁用通道所需的时间(如果主器件空闲、主 SDA 通道被拉至高电平、因为没有其他人控制总线)。 因此、如果您将 RESET 保持在低电平并释放、则预计在500ns 内器件的通道将全部被禁用、并且在此之后可以与 TCA9548A 进行通信(以前不会因为总线卡滞)。 从本质上讲、您可以使用 TCA9548A 通过复位引脚功能隔离卡住的总线。

    "您能否详细说明一个随机发生6ns 脉冲(即来自噪声)的复位场景、也就是说、如果当时 SDA 处于高电平、芯片是否会认为发出了 STOP?"
    复位引脚可能会在很短的时间内下降、原因可能有多种。 我怀疑主要原因是串扰。 如果布线与复位布线在同一平面上或直接在顶部/底部平行、则两条布线的覆铜加上两者之间的绝缘体将形成寄生电容。 凭借非常强的驱动强度、您可以生成快速 di/dt、这可能导致电流从一条走线暂时从一条走线流向另一条走线、流经由两条走线形成的寄生电容。 di/dt 越快、影响就越大。 您可能会看到复位信号在很短的时间内出现下降、上拉电阻器在复位引脚上越弱、复位所需的时间就越长、恢复到高电平状态。 因此、如果这是问题、那么我们可能需要为复位引脚提供更强的上拉电阻器。 我还会检查在 I2C 事务期间是否有任何信号驱动为低电平(并并行/交叉复位 PCB 迹线)、我们在该事务中看到开关无法实际切换。 因为我们看到了 TCA9548A ACK、所以我怀疑如果问题被复位、它将在 ACK 之后不久发生。

    "如果当时 SDA 处于高电平、芯片是否认为发出了停止信号?"
    注意:SDA/SCL 引脚的状态与复位引脚无关、复位引脚本身只是复位状态机并将通道设置为全部禁用、例如上电复位/ powercycle。

    在开始追逐这个兔子之前、我们可能需要密切观察复位引脚。 我们希望放大到发生故障的切换期间 ACK 之后。 确保示波器以我们看到的足够分辨率对其进行采样。 如果这也是原因、使复位上拉电阻器变弱也会增加发生这种情况的机会。

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

    您好、Bobby、

    为了关闭此功能、我们在周末监控了复位线路、电路没有跳闸一次。  请注意、我们仍然遇到了故障、但我们的纠正措施已经解决了这些故障。  我们有足够高的采样率、我们可以很清楚地看到、没有发生复位。  总之、我要感谢您的支持。  如果您没有再次听到我的声音、请随时关闭。

    此致

    卡尔顿

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

    感谢您回来。

    作为一个附加选项、如果您有其他问题/信息不想在线分享、您可以通过 duynguyen@ti.com 与我联系。

    我们还可以对器件执行故障分析、以查看器件是否受到任何损坏、这可能是您看到器件出现这些故障的原因。 (如果这是您希望采用的方法、请给我发送电子邮件、我将与我们的一位质量工程师联系)。

    谢谢、
    -Bobby