This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] BQ40Z50:BQ40Z50-R3会破坏 I2C 通信

Guru**** 2551300 points
Other Parts Discussed in Thread: BQ40Z50

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1303650/bq40z50-bq40z50-r3-disrupts-i2c-communication

器件型号:BQ40Z50

我有一个使用 BQ40Z50-R3的设计。 此器件在与 Lumissil "IS31FL3193" RGB 驱动器共享的100kHz SMBus/I2C 总线上。 我们致力于在 SMBus 和 I2C 事务之间保持兼容的电压和时序。 此总线上还有其他 I2C 器件、但我将仅介绍的问题似乎是 BQ40Z50和 RGB 驱动器之间的交互。

BQ40Z50使用7位地址0x0B 和 RGB 驱动器地址0x68。 我发现、当我们对 RGB 驱动器进行寻址以将数据写入其 RGB 寄存器(0x04、0x05、0x06)和数据更新寄存器(0x07)时、BQ40Z50偶尔会通过两种方式中断 I2C 通信:

1)如果我们从不与 BQ40Z50通信(但它位于总线上的"正在侦听")、那么通常情况下、RGB 驱动器会在地址+R/NW 事务之后否定选择其中一个寄存器写入、但事务将没有 STOP 转换

2) 2)如果我们与 BQ40Z50进行通信(每秒读取一次电池容量和温度)、然后在几十毫秒后与 RGB 驱动器进行通信、则 BQ40Z50将中断 I2C、将数据线保持在低电平、从而停止主器件(我们的 MCU) 从时钟周期6或10中的7进行计时、可用于最后一个数据字节事务。

3) 3)在1)或2)下、如果我从总线断开 BQ40Z50、则 RGB 驱动器 I2C 通信全部按预期完成(接受失败的电池 SMBus 通信)

4) 4)如果我通过 I2C/SMBus 缓冲器隔离 BQ40Z50 (在本例中为 Diodes Inc."PI6ULS5V9511A")并且仅在与 BQ40Z50通信期间启用缓冲器、则所有 RGB I2C 事务也可以。

因此、证据表明、即使从未解决 BQ40Z50的 I2C 也会出现中断。  

我请注意、 根据 SMBus 规范、 从器件*地址* 0x04、0x05、0x06和0x07是"保留供将来使用"、并且巧合的是、我们写入的 RGB *寄存器*为0x04、0x05、0x06和0x07、 但我想不出为什么在解决 BQ40Z50以外的其他器件后、BQ40Z50会因数据/寄存器写入而烦恼?

请告诉我、上述问题是否为已知问题、或 BQ40Z50的勘误表中是否包含此问题?

非常感谢、
Oli.


附注:我找不到 BQ40Z50-R3的勘误表、因此、如果它存在、请您告诉我吗?!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Oli:

    我们是否有可能在第3节中收到此通信的示波器捕获? 这将使我们更好地了解可能发生的情况。

    此致、

    安东尼·巴尔迪诺

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Anthony:

    a)良好的 I2C 通信到 RGB 驱动器-案例3)从我的第一篇文章:

    b)在上面的1)和第二个寄存器访问之间放大:

    c)在总线上使用 BQ40Z50时、RGB 驱动器 I2C 事务有时没有完成的 NACK -案例1)我的第一篇文章中

    D)当 BQ40Z50在总线上时、有时 RGB I2C 事务在写入寄存器和数据值之前被 NACK 和停止:



    如果此处的图像分辨率不足以进行检查、我可以发送 Picoscope .psdata 文件。

    如果您需要更多信息或图表、请告诉我。 此外、是否可以发布 BQ40Z50-R3和任何后续修订版的勘误表?

    非常感谢、
    Oli.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    P.S.忽略我的文章中的第四个图像,它是一个意外的副本的第一个图像。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Oli:

    关于 bq40z50-R3的勘误表、我认为此器件不存在勘误表。 但是、包含 bq40z50每个固件版本的错误修复的更改列表可通过以下链接找到:

    https://www.ti.com/tool/download/BQ40Z50-DEVICE-FW 

    此外、您能否告诉我您正在使用哪个固件版本? 我们建议使用固件的最新版本、您也可以通过该链接找到这些版本。

    关于通信问题、您能否看一下 RGB 驱动器的 I2C 通信规范与 bq40z50的 SMBus 规范有何比较?

    此致、

    安东尼·巴尔迪诺

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Anthony:

    感谢链接到 BQ40Z50固件版本之间的更改列表。 我注意到、在" BQ40Z50-R3到 BQ40Z50-R4更改列表"(SLUAAE2)的第2页上、提到了"Auto-Nack"功能已更改、因此现在可以 在 R4中的初始命令序列后将其禁用、 我想知道这是否与我在上面描述的问题有关?



    由于我在 BQ40Z50 TRM 中找不到"Auto NACK"、您能否详细说明更改列表中表的这一行(如上所示代码段)的含义?

    与此同时-这可能需要一点时间-我将尝试几个不同的测试、以尝试获取有关 BQ40Z50与我们的 RGB LED 控制器 IC 在同一总线上时的交互的更多线索、并将在本文中发布任何发现。

    此致、
    Oli.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Oli:

    SMBus 中的 PEC 位用于校验和计算。 在这种情况下、似乎进行了更改以便更好地对包含数据的非 PEC 位进行通信。

    如果可能、您能否向我发送电量监测计的.gg 文件、以便我了解这是否会导致问题?

    此致、

    安东尼·巴尔迪诺