主题中讨论的其他器件: TCAL6416R、TCAL6416
工具与软件:
您好、TI 专家:
我们面临着一个问题 I2C 主从通信设置 并需要有关是否使用的指导 TCA4307 I2C 缓冲器 您可以解决该问题。
系统概述:
- 主器件: ESP32-S3
- 从器件: STM32G0控制器(多个从器件)
- I2C 总线设置:
- 上拉电阻器: 4.7kΩ 靠近主站(也会使用进行测试 2.2kΩ )
- 从器件会使用逐位动态添加 即插即用 概念
- 默认从器件地址: 0x01 (由主器件动态重新分配)
面临的问题:
- 首先、我们进行连接 从器件1 (0x01) 稍后将其地址更改为 0x60 .
- 然后我们再添加 从器件2 (0x01) 并更新其地址 0x61 电机。
- 添加第二个从机(或后续从机)时出现问题:
- 。 SCL 线被持续拉低 导致整个 I2C 总线挂起。
- 这表明其中一个从器件是 无限延展 、阻止通信。
- 手动复位其中一个从器件可恢复通信、但添加第三个从器件则会再次导致问题。
故障排除完成:
- 更改了中的上拉电阻器 4.7kΩ 至2.2kΩ →μ A 问题仍然存在
- 已验证逻辑分析仪数据→μ V 时钟线被其中一个器件保持为低电平
- 可疑原因: 总线电容在初始化期间增加或意外的从器件行为
可能的解决方案–需要确认:
我们发现了这一点 TI TCA4307 I2C 缓冲器 具有:
- 自动时钟和数据恢复 (防止由于时钟延展而导致总线挂起)
- 电容隔离 (添加新的从器件时减少总线负载)
- 热插拔支持 (在不中断的情况下实现动态从器件添加)
我们要确认:
- TCA4307是否能解决从器件在即插即用操作期间将 SCL 拉至低电平的问题?
- 将 TCA4307用于多个 STM32G0从器件时、我们是否需要额外配置?
- 是否有任何其他 TI 解决方案更适合此场景?
对于如何高效解决此问题的任何见解或建议、我们表示感谢。
提前感谢您的支持!