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.

[参考译文] PCA9546A:向芯片发送地址(0x70)+ WR 时无确认。

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1319464/pca9546a-no-ack-when-sending-the-address-0x70-wr-to-chip

器件型号:PCA9546A

大家好。

首先介绍一些背景。

我正在开发一个具有四个相同插件模块插槽的装置。 只要这些模块上的 I2C 器件都是相同的、因此具有相同的地址。 为了管理此操作、我添加了一个 PCA9546A 芯片来选择要与之通信的插槽。 这些插槽距离 PCA9546A 一英寸(25mm)以内、而 PCA9546A 与控制它的 MCU 的距离大致相同。  我将两个 PNP 晶体管配置为线路上的恒定电流上拉、并将其替换为1k5电阻器、以检查是否存在问题。 我以100kHz 的频率运行。

当对 PCA9546A 寻址以选择通道时、SDA 和 CLK 线路输出正确的信号(由示波器、逻辑分析仪和 Active-Pro 调试器进行验证)、但 PCA9546A 没有 Ack 信号。 我将软件更改为扫描从0到0x7F 的所有 I2C 地址以查找器件、但找不到器件。

然后、我将引脚焊接到电路板上并连接到外部 I2C 设备(总线扩展器)、扫描在0x27处找到地址、 然后、我绕过了 PCA9546A、基本上将 MCU 直接连接到其中一个插槽上、并插接一个模块、然后再次进行扫描、该扫描会在地址0x38和0x50处检测模块上的两个 I2C 器件。

我想可以肯定地说、问题不在我的硬件/固件上、而不是 PCA9546A 芯片上。 我已经对电路板布局进行了几次检查、所有连接都正常。 3个地址引脚接地、/RESET 引脚连接到 MCU 并被正确驱动。 正如其他 I2C 器件所验证的、SDA 和 SCL 线也是正确的。  

我为原型制作了5块电路板、并使用完全相同的结果对全部5块电路板进行了测试、因此这不应该是单个芯片问题。

我的问题是、其他人有没有遇到同样的问题?

此致

克里斯

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

    PS。 我从 TI store 订购了10个 PCA9546APWR 芯片、将在分线板上安装一些芯片、并在它们到达后进行测试。

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

    嘿、Chris、

    感谢您在此处提出并提供了所有详细信息。 这里需要注意的几个方面:

    1.能否提供原理图/布局? 只是仔细检查 SDA 和 SCL 等布线和连接。 我们以前已经看到,这些是偶然的交换。  

    2.我对提供的波形有点困惑-这个特定的图像不代表启动条件(当 SDA 变为低电平时、时钟线需要为高电平)。 可能是我错了的意图的范围射击。  

    3.很高兴看到您已经订购了一些部件安装到分线板上。 理想情况下、这样不会有问题、那么我们将能够判断 PCB 实施和分线板之间是否存在差异。  

    此致、

    亚历克斯

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

    你好、Alex。

    感谢您的回复。 请提供您的 TI 电子邮件地址、以便我将您请求的信息发送给您。 我不能把原理图发布在公共论坛上。

    我将研究启动条件、但回顾一下、这不是上次运行的轨迹、因为我必须使用逻辑分析仪引脚绕过 PCA 开关。 一旦确定与电路板的更多连接、我就会立即重新运行更新。

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

    您好,Alex

    屏幕截图上的绿色点表示启动条件、白色方框表示 Ack 应位于的位置。

    第一个字符来自其中一个设备(地址0x38),并发送第二个字节,第二个字符(地址0x70)来自 PCA 交换机,该交换机不会通过 Ack 响应。 对我来说、这表明 SDA 和 SCK 线路正常、但我将再次对其进行双跳。

    这两个地址都来自0到0x7F 的所有地址的相同扫描  

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

    您好,Alex

    为了加快进度、我将在不泄露专有信息的情况下为您提供您所需的信息。 请参阅我在其他回复中提供的其他信息。

    处理器连接:

    PCA9546A 连接:为了进行测试、我还将晶体管电路替换为1k5上拉电阻器。

    处理器配置:

    SDA 的 PCB:

    PCA 引脚15至 MCU 引脚35。 黄色点为引脚1。

    SCK 的 PCB:

    PCA 引脚14至 MCU 引脚34

    为帮助直观查看 PCB、这里提供了一张图。 逆时针旋转90度以与上方布局对齐

    如果您还有其他需要、请告诉我。

    此致

    克里斯

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

    Chris、您好!

    非常感谢所有附加信息。  

    在任何给定的时间有多少个通道打开? 1个或更多个?


    是否也可以从示波器而不是数字分析器的角度查看 I2C 信号? 我们无法看到对 I2C 分析很重要的 RC 或 VOL 值。 是否可以探测开关的 SDA/SCL 总线?


    所订购样片的任何更新? 我真的很好奇、当通过分线板在 PCB 上旁路时、该器件是否能正常工作。

    对于所有问题、很抱歉。 这一步比较复杂、因为涉及到很多器件、所以需要立即找到解决方案。  

    此致、

    亚历克斯

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

    您好,Alex

    我想您没有提到这一点。 我甚至在发送其地址时无法从交换机获得 Ack、因此没有通道打开。 该开关也是唯一连接到 MCU 的 I2C 器件。 当我将 MCU 直接连接到承载 I2C 器件的插槽之一时、我可以与其他 I2C 器件通信、而不会出现任何问题。

    我将上传视频、以展示绕过开关后端口扩展器对 I2C 命令的响应。 此外、还连接了2字节传输的示波器跟踪、示波器跟踪位于连接到开关的 MCU I2C 连接上。

    我收到了 TI 发出的器件已发货通知、但尚未发货日期。

    此致

    克里斯

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

    该范围跟踪显示了对地址0111000的工作访问;请显示对 PCA9546A 的访问。 (但波形看起来不错。)

    信号电压看起来为4V。不是应该是3.3V 吗?

    在/RESET 引脚处测得的电压是多少?

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

    高克莱门斯

    我已将板重新接线、以便将 MCU 直接连接到板上的其中一个插槽。 PCA9546A 和扩展器现在均连接到 MCU、因此信号与示波器布线上的信号相同。 我还更改了固件以解决扩展器问题、因为我需要继续进行开发。 发送交换机地址不会对信号产生任何差异、只是不同的位、如先前提交的逻辑布线所示。

    其余引脚处于逻辑高电平、但即使它为低电平、根据文档、也应该仅影响四个传出通道。

    电压有问题、因为时隙中的电路板采用5V 逻辑运行、而我的 MCU 为3.3V。 开关应处理逻辑电平转换、但由于它被绕过、因此没有发生。 话虽如此、在直接连接到插槽之前、信号在示波器上看起来是相同的、电平介于~0、2V 到~3、1V 之间。

    我的感觉是、我的板上安装了一批有故障的芯片、因为所有5个芯片都不能正常工作。

    让我更详细地说明我为得出这一结论所遵循的进程。

    我在 MCU 上使 SDA 和 SCL 线路悬空、同时仍连接上拉电阻器。 然后、我将 Arduino 板(teensy 4.0)连接到我的板上、并运行 I2C 地址扫描程序、它无法"找到" PCA9546A。 然后、我将 I2C 扩展器从字符 LCD 显示接口连接到电路板、并运行 I2C 地址扫描程序、发现扩展器位于0x27。 当时我绕过 PCA9546A 直接与槽模块通信、一切正常工作。  

    收到我从 TI 订购的 IC 后、我会首先将一个放在分线板上、如果它正常工作、则在 PCB 上更换一个进行测试。

    此致

    克里斯

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

    Chris、您好!

    感谢您分享所有这些额外的信息。 在进一步调查之前、我想我们现在需要查看分线板和 PCB 器件更换的结果。 完成后、请告知我们!

    此致、

    亚历克斯

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

    您好,Alex

    根据 DHL、部件将在周一交付、 一旦有了、我将会做必要的工作。

    此致

    克里斯

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

    降压转换器。

    现在是时候让我吃一堆谦卑的 pie 了。

    除了 Vcc 引脚上没有电源外、PCB 上到 PCA9546A 的所有连接均为100%。

    我收到了我订购的部件、并将其中一个放在输出板上、当我进行地址扫描时就可以看到它。 Vcc 引脚通电后、它也可以在我的 PCB 上工作。

    我已经为负责我们 PCB 布局的公司提供了此信息、他们将会纠正此信息。

    感谢您提供宝贵意见、非常感谢大家

    祝您度过美好的一天。

    克里斯