主题中讨论的其他器件:BQ76942、 BQ76952、、、 ISO1640
大家好!
我一直在测试 ISO1641B IC 以在 MCU 主器件和 BQ76942 AFE 从器件(地址0x60)之间执行隔离式 I2C 通信。 遗憾的是、我无法成功;隔离器似乎未能将一些时钟脉冲从 SCL1传递到 SCL2。 我附上了示波器中显示此问题的图像:
- 粉色:SDA2 (从器件)
- 绿色:SDA1 (主器件)
- 黄色:SCL2 (从器件)
- 蓝色:SCL1 (主器件)
主器件(蓝色)发送的一些时钟不会传递到从器件(黄色)。 发生这种情况后、总线进入 BUS_BUSY 状态、看不到进一步的通信。 此外、每次我 重新启动主器件和从器件时、我都会观察到相同的波形-每次都削波完全相同的 SCL 脉冲。
- VCC1相对于 GND1为3.3伏。 SCL1和 SDA1 使用4.7k 电阻器上拉至 VCC1。
- VCC2短接至 VCC1、GND2短接至 GND1。
- SCL2和 SDA2使用2K 电阻器上拉至 VCC2。
我在从侧尝试了许多电阻器:2K、4.7K、6.8K、10K 和20K。 所有这些都显示出非常类似的 SCL2缺失的症状。 主侧始终有到 VCC1的4.7K 上拉电阻
我尝试过50kHz、100kHz 和400kHz 波特率。 SCL 时钟也经常错过。
我还尝试了向 VCC2提供5V 电源、但没有效果。
有 一个更令人困惑的 行为、我希望这可能有助于缩小问题范围:
从 I2C 总线移除 BQ76952从器件后、隔离器看起来确实在工作。 SCL2完全匹配 SCL1。
同样、当我尝试与地址0x40进行通信(不在总线上)时、SCL2匹配 SCL1。
当我将 MCU 的 I2C 总线直接连接到从 器件的 I2C 总线时、我能够在没有隔离器的情况下在 MCU 和从器件之间进行通信。 那么、 从器件肯定会工作。 同样、我 能够通过该隔离器与不同的从设备(MPU9250传感器)进行通信、而不会出现问题。 隔离器似乎也能正常工作。
为什么某些 SCL 脉冲会丢失、我该如何解决该问题?
谢谢。
阿鲁什