1847351_zh-CN

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

1847351_zh-CN

1847351_zh-CN

I2C 从设备无法在 LPCXpresso55S69-EVK R3 板上将 !ACK 位上的 SDA 驱动为低电平

目前正在尝试使用 FlexComm1 I2C 总线上的 LPCXpresso55S69 开发板和 Microchip USB2534 开发板。我们已经使用 ST Nucleo-U575 板通过 I2C 成功与 Microchip 板通信。

USB2534 在总线上寻址时无法响应。附件是地址字节的示波器输出。可以看出,USB2534 *正在*尝试在 !ACK 位期间拉低 SDA,但不能。值得注意的是,该图显示的是从 LPC 开发板上移除 R71 和 R72 并用外部 10k 总线上拉电阻替换它们后的结果。由于 LPC 板上原有的 2.2kOhm 电阻,!ACK 下降甚至更弱。使用板载上拉电阻时,SDA 线在 !ACK 时会降至 ~3V,而使用 4.7kOhm 时则会降至 ~2.5V,然后在 10kOm 时降至 ~2V,如图所示。因此这似乎不是一个协议问题,因为 USB2534 显然正在尝试执行 !ACK。

尽管我们使用 MCUXpresso IDE 和最新的 SDK 代码为 FlexComm1 生成 I2C 初始化序列,但我们仍然怀疑 LPC 端可能存在一些设置不正确的情况。I2C 设置完成后,读取 PIO0_13(FC1_SDA)的 IOCON 寄存器会得到 0x5105。这表明 EGP 位(位 14)尚未清除,这意味着引脚应该作为 GPIO 而不是 I2C 运行。尽管如此,正如示波器上所见,I2C 外设实际上仍在运行。我们确实尝试编辑启动代码以确保 EGP 被清除,但这没有帮助。我们的其他想法包括保留 EGP 设置并设置 OD 位(位 9)以启用漏极开路。另一种可能性是设置 ECS(位 13)来切换外围设备以使用(大概)内部上拉电阻。然而,这些都是猜测,如果有人有其他想法,我们将不胜感激。


shared image.jpg

LPC55xx回复:I2C 从设备无法在 LPCXpresso55S69-EVK R3 开发板上将 SDA 驱动至 !ACK 位低电平

你好-

从我的帖子中看不清楚,但附加的原理图来自 Microchip USB2534 评估板,以显示 I2C 跳线引脚上的不寻常设置。如上所述,一旦我们意识到 USB2534 上没有引脚可以直接访问 I2C 总线,我们就破解了电路板,并且 LPC 运行良好(尽管仍然很奇怪为什么 ICON EGP 位等没有设置)。

回复:I2C 从设备无法在 LPCXpresso55S69-EVK R3 开发板上将 SDA 驱动至 !ACK 位低电平

Hello @E66man 

从您分享的原理图来看,似乎不要将 Flexcomm1 用作 I2C。

Alice_Yang_0-1713430034854.png


请检查并确认使用的I2C引脚。


BR

爱丽丝


回复:I2C 从设备无法在 LPCXpresso55S69-EVK R3 开发板上将 SDA 驱动至 !ACK 位低电平

所以问题最终出在 USB2534 集线器板上。图像右上角的电路板允许访问的唯一 I2C 裸露引脚位于 10k 上拉电阻的错误一侧(同样值得注意的是,没有用于连接外部电路板的裸露接地引脚)。我们最终不得不移除 U8 插座并安装接头针,以便能够正确连接总线。看起来 Microchip 确实希望您购买他们的 ProConnect 工具来使用该主板做任何事情。

但仍然令人好奇的是,当 LPC55S69 正确执行 I2C 时,IOCON 中的所有相关位(功能位 0:3 除外)似乎都没有设置。

usb2534_circuit.jpg

标记 (1)
无评分
版本历史
最后更新:
‎01-06-2026 01:28 AM
更新人: