主题中讨论的其他器件: TCA9539
大家好、
我的客户在 TCA9539-Q1上看到一些有关多个 I2C 读取的奇怪行为、我们不确定发生了什么情况。
下面是他们的板的设计情况:
- SDA、SCL 上具有1.5K 上拉电阻的400kHz I2C 总线
- 总线总线电容为~90pF
- 我们有4个 TCA9539器件、它们都位于不同的地址(A0-A1)上
- 地址引脚硬连接到各自的电源轨
- 电源轨在运行期间保持稳定(即总线突降<Vcc_GH))
- RESET 引脚在运行期间保持稳定
- 将 I2C 速度降低到100KHz 会使问题变得更加频繁!
- 这些问题在各个电路板上都是一致的
- 将输出职责分配给不同的 TCA 器件会导致该器件出现 I2C 问题-即、问题不仅限于特定的 IC、而是分配 IC 的功能。
- 其他3个 TCA 器件配置为输入、没有问题。
他们观察到以下情况:
我们的软件在循环中执行以下操作:
- 从器件0x77读取 PORT0配置(地址0x06)
- 从器件0x77读取 PORT0输出(地址0x02)
- 从器件0x77写入 PORT0输出(地址0x02)
此事务在一段时间内(数千个事务)成功、并在从器件获取其地址时突然失败。 我们的主设备会延迟20us、并在放弃之前重试3次。 从器件全部进行3次插孔。 如果我们持续重试、从器件将在大约20-50次重试后突然开始响应。 如果我们删除步骤1并且仅执行步骤2和3中的操作、则事务永远不会失败。 重复读取 Portx 输出配置寄存器是否有效?
下面是一些示波器截图、用于说明正在发生的情况:
谢谢、
Mitchell




