主题中讨论的其他器件: BQ25887、 BQ24270、USB2ANY、 BQ24160、BQ24765 、 BQ24250
您好!
我的 BQ24271存在一个问题、导致 I2C 总线冲突。 我的总线图如下所示。
I2C 总线上有6个器件以100kHz 的频率运行、其中 PIC uC 作为主器件。 有两个电池管理部分、由于电量监测计共享相同的 I2C 地址、因此这些部分已拆分为两个总线、其中有一个 MUX 用于控制 SDA 线路。 鉴于元件在时间和成本 上的可用性、选择 SPDT 多路复用器相对于特定的 I2C 多路复用器、同时切换 SCL 和 SDA。设计意图是当取消选定总线上的 MUX 为高阻态时、通过 SDA 上拉电阻、 从器件永远不会接收到 START 条件。
我可以可靠地读取和写入除 BQ24271之外的所有器件、我还可以通过 BM1S 总线读取/写入 MAX17055。 但是、当我写入/读取 共享 BM1S 总线的 BQ24271时、我会遇到总线冲突(大多数情况下、虽然偶尔不会发生)。 由于总线上的其余器件为36h、20h 和50h、因此不存在地址冲突。
如图所示、在 SCL 上有4k7上拉至 Vdd、在 MUX 两侧有10k 上拉电阻、因此在 SDA 线路上有5k 上拉至 Vdd 的组合。 VDD 为3V。
我已经在多路复用器两侧的总线上用示波器观察了波形、所有信号都有一个良好的平坦顶部、因此寄生电容和信号看起来都很干净、没有令人担忧的影响。
我得到的问题是、如果我保持总线选择静态、并且还将 MUX 从板上移除并将硬接线 SDA 连接到 SDA (BM1S)、从而使其成为没有 SDA (BM2S)的单总线、以防 MUX 发生奇怪的情况。
观察 BQ24271和 BQ25887之间的直流特性、可以看到它们是相同的、尽管灌电流的测试条件不同。
非常感谢任何帮助。
安迪