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.

[参考译文] BQ76942:I2C 地址

Guru**** 1646690 points
Other Parts Discussed in Thread: INA228, BQSTUDIO, BQ76942EVM, BQ76942, ISO1641
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1291050/bq76942-i2c-address

器件型号:BQ76942
主题中讨论的其他器件:INA228BQSTUDIO、、、、 ISO1641

您好!

在我的电路中、我使用 BQ7694202PFBR IC 来测量8节电池的电芯电压。
问题是我的 I2C 扫描仪在0x08地址上找到它、但根据我的理解、它应该是0x10? 有什么想法吗?

非常感谢、
此致、
Dejan。

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

    Dejan、您好!

    默认7位地址为0x08。 产生完整地址字节0x10 (读取)或0x11 (写入)的 R/W 位。

    此致、

    马克斯·韦博肯

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

    您好!

    我还有一个问题。 在同一 I2C 总线上、我有三个 INA228A IC 和一个 BQ7694202 IC。 INA228器件具有7位地址:0x44、0x45、0x47、wheras BQ 具有7位地址:0x08。

    看起来存在一些"共存问题"、因为我使用的 I2C 扫描仪在没有任何问题的情况下找到总线上的所有 INA 地址、而对于 BQ 则不是很容易-我收到一条消息:地址0x08错误处存在未知器件。

    如果我从 PCB 中卸载所有 INA、I2C 扫描仪会在0x08地址找到器件、而不会出现任何错误。 我看到的唯一区别是 INA IC 不具有 CRC、而 BQ IC 具有 CRC。 不确定是否可以为默认具有 CRC 的 BQ7694202PBFR 器件禁用 CRC?

    非常感谢、此致、Dejan。

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

    Dejan、您好!

    您可以更改  设置:配置:通信类型 对于 I2C 100kHz、设置为0x07;对于 I2C 400kHz、设置为0x08、两者都没有 CRC。

    我建议阅读 第9.2节 TRM以了解有关操作方法的更多详细信息。

    您还可以考虑将该信息保存在 OTP 中(指向与之相关的常见问题解答的链接)、因为通信类型将在器件复位时重置为默认值。

    此致、

    马克斯·韦博肯

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

    您好!

    我购买了 BQ76942EVM 板、因为我认为对安装在板上的 BQ7694202 IC (具有启用的 CRC 和3.3V REG1 LDO)进行编程会更容易、但看起来 BQSTUDIO 无法识别启用了 CRC 的 IC?
    我还购买了一些禁用了 CRC 的基本 BQ76942 IC、但默认情况下也禁用了 REG1 LDO。 我正在搜索命令列表、但在 BQSTUDIO 中没有看到任何旨在启用寄存器中 REG1 LDO 的命令? 我是否需要手动写入命令? 另外、我还要搜索命令来更改器件的 I2C 地址。 我想我还需要手动写它吗?
    首先、我要更改 I2C 地址并在寄存器中启用 REG1、在确保一切正常后、我要对 OTP 进行编程。

    编辑//
    我在"数据存储器"部分找到了更改 I2C 地址和 REG 值的可能性。
    看起来大多数值(包括 I2C 地址)在数据存储器中默认为零。 不过、我试图更改 I2C 地址、然后点击了 Write_All 按钮、但似乎 I2C 地址没有更改。 是否仅在点击"Program OTP"按钮后才发生更改? 在编程 OTP 之前、我是否需要填写所有字段(例如 CFETOFF Pin Config、DCHG Pin Config ...)、或者我是否可以仅对所需字段进行编程? 我之所以问这个问题、是因为大多数字段都是零、我不确定如果在对 OTP 进行编程之前未更改它们的值会发生什么情况。

    非常感谢、
    此致、
    Dejan。

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

    Dejan、您好!

    bqStudio 应能与 I2C CRC 配合使用。 您能否仔细查看此常见问题解答中的步骤: (+)[FAQ] BQ76952EVM:为什么我的 BQ769x2器件无法与 BQStudio 连接? -电源管理论坛-电源管理- TI E2E 支持论坛

    bqStudio 需要注意的一点是、每个窗口会异步运行。 因此、我们建议在写入数据存储器时关闭寄存器窗口中的扫描功能、以防止 I2C 总线上的任何冲突。 您应该不需要将地址写入 OTP、您应该能够发送 SWAP_COMM_MODE 子命令以更改地址。 请注意、如果器件复位、该地址将恢复为默认值。

    您能向我介绍一下您要更改地址的步骤吗?

    此致、

    马克斯·韦博肯

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

    您好、Max:

    我解决了一个问题,看起来在后台有另一个同时运行的程序实例,正在引起一个问题。

    在"数据存储器"部分放入新的 I2C 地址后、在依次按 Write_All 和 SWAP_COMM_MODE 按钮后更改地址。 我还尝试了更改 REG12和 REG0寄存器值、并且可以确认我只需按 Write_All 按钮即可更改 LDO 稳压器的输出。

    这个问题仍然悬而未决–在我对所选的 I2C 地址、REG12和 REG0值感到满意后...-我可以仅将所需寄存器的值编程到 OTP、还是需要正确填写所有寄存器的字段(甚至不会使用所有功能) 例如 DFETOFF pin config、TS3 pin config、...,然后写入 OTP?

    在写入 OTP 之前或在对设置感到满意时、是否需要执行任何特殊的程序、我只需按"Program OTP"按钮、就这么简单吗? BQ76942 IC 由8S 电池供电、因此 BAT 引脚上存在大约30-32V 的电压。

    有什么想法、为什么 I2C 以100kHz 运行、I2C 以更高频率运行?

    非常感谢、此致、Dejan。

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

    Dejan、您好!

    很高兴听到问题得到解决!

    您可以对特定寄存器的 OTP 进行编程。 除了我之前链接的几个回复中详细介绍的 OTP 常见问题解答外、不应有任何特殊过程、最值得注意的是 BAT 引脚应处于12V。 如果您尚未阅读、建议快速阅读。

    至此、您应该只需点击"Program OTP"按钮、UI 便会告知您是否需要执行任何操作。

     如果系统无法满足400kHz 时序要求(上升时间、高电平时间等)、则可以使用100kHz I2C 速度设置。

    此致、

    马克斯·韦博肯

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

    您好、Max:

    我在寄存器中进行了更改:
    REG12配置:00 (默认值)-> 0D (新值)
    REG0配置:00 (默认值)-> 01 (新值)
    I2C 地址::00 (默认值)-> 60 (新值)
    ALERT Pin Config::00 (默认值)-> 29 (新值)
    TS1配置:07 (默认值)-> 0b (新值)

    一切都按配置运行、这真的很棒!
    此外、我只想禁用关断和睡眠模式、在为 BQ76942的 BAT/LD 引脚供电后、器件会直接进入正常模式并保持该模式、直到电池断开。 这是通过12进行配置的。 位(SHUT_TS2)和8。 寄存器 Settings:Configuration:Power Config?的位(睡眠) 我假设该值为12。 该寄存器的位必须为1 (而不是默认的0)和8。 位必须为0 (而不是默认为1)才能实现预期操作。

    我现在要解决的最大问题是、BQ76942似乎与放在同一 I2C 总线上的 INA228器件或 LT3960 (I2C 到 CAN 物理收发器)不"兼容"。

    方框图(器件的 I2C 地址用红色显示):

    如果我将 I2C 扫描器连接到 MCU 的 I2C 侧(显示为蓝色的数字1)或 LT3960从属的 I2C 侧(显示为蓝色的数字2)、则没有区别、我每次从 I2C 扫描器获得相同的输出:

    正在扫描...
    地址0x30上的未知错误
    在地址0x44中找到 I2C 器件 !
    在地址0x45中找到 I2C 器件 !
    在地址0x47中找到 I2C 器件 !
    完成

    您可以看到、器件0x30 (BQ76942)已检测到、但该地址存在未知错误。 我还尝试从 MCU 的 I2C 端与 BQ76942器件进行通信、但通信无法正常运行- BQSTUDIO 未检测到任何器件。

    仅当我在 BQ752 I2C 侧运行 I2C 扫描仪时(以蓝色显示的数字3)、我得到了下一个结果:
    正在扫描...
    在地址0x30找到 I2C 器件 !
    完成

    在这种情况下、可以正确检测到器件、并且在该地址没有任何错误。 顺便说一下、不能从 I2C 总线的这一侧检测到其他 I2C 器件是完全正确的、因为 ISO1641隔离器将时钟仅从1侧传递到2侧、而不是相反。 当 EVM 板连接到 I2C 总线的这一侧时、BQSTUDIO 会检测到 BQ76942、而不会出现任何问题。

    说实话、我不确定 BQ76942是否与同一总线上的 INA228不兼容(由隔离器分隔)、或者与 LT3960 I2C 至 CAN 收发器不兼容。 我还尝试消除放置在 BQ76942的 I2C 侧和 INA228的 I2C 侧(0x44和0x45)之间的 I2C 隔离器、但结果是相同的-在地址0x30检测到错误。 这意味着隔离器不是问题的根源。 我还使用了示波器来检查 I2C 波形上是否有异常、但 SDA 和 SCL 波形看起来都很好。

    我还尝试将 BQ 的 Comm Type 设置从默认值(0x00)更改为(0x07)和(0x08)、以检查更高的速度是否会有所帮助、但没有区别、仍然是相同的输出、在0x30地址检测到错误。

    LT3960数据表中 提及的(第16页)发送显性超时功能可通过增加 SCL 频率来解决。 正如我提到过的-我曾尝试增加 SCL 频率、但问题仍然存在。

    您是否有任何想法会导致此类问题?

    //添加::: 2023年22月11日18:30 UTC

    我将深入探究 ISO1641隔离器和 LT3960 I2C 至 CAN 收发器的数据表。 虽然文中提到这两个 IC 都不支持时钟拉伸、但 BQ76942器件似乎偶尔会进行时钟拉伸。 我现在想,这可能是一个问题,但它不是完全确定,因为地址上的错误也被检测到,当隔离器被拆除和 I2C 扫描器连接到从 LT3960设备的 I2C 侧...

    BQ76942在读取电池电压期间是否执行时钟延展? BQ76942的数据表中提到了 Settings:Configuration:Comm Idle Time ...设置会降低时钟延展频率、该设置会怎样?


    非常感谢、
    此致、
    Dejan。

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

    Dejan、您好!

    禁用 SLEEP 模式与设置 Settings:Configuration:Power Config [SLEEP]= 0一样简单。 SHUT_TS2位不会禁用 SHUTDOWN 模式、而只是禁用将 TS2用作唤醒信号。 禁用 SHUTDOWN 模式更为深入。 我建议浏览此常见问题解答( 链接)、了解可将设备置于 SHUTDOWN 模式、然后在设置中禁用每个故障的不同故障列表。

    当器件正在获取数据或处于忙碌状态时、该器件可能会进行时钟延展。 这可能是这种行为的根源。 我不知道增加 Comm Idle 时间是否会解决此问题、因为这只会允许 HFO 继续运行更长时间、但在第一个事务(在总线上检测到器件)中、 由于 I2C 可能已经处于空闲状态、可能不会产生影响。

    您可能需要尝试同时读取 MCU 和 bq76942上的 I2C 总线波形、以便比较并查看在任一方向是否有任何损失。

    在边注中、我们通常要求  将与原始问题不直接相关的任何问题放入新帖子中、以便我们进行跟踪、并为遇到类似问题的任何人提供更好的可见性。 我已经回答过这个问题、无需这么做、但将来、请在自己的主题中提出任何新的/相关问题。

    此致、

    马克斯·韦博肯