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.

[参考译文] BQ25798:当 VAC1 悬空且 USB-C 处于活动状态时、不会启用 ACDRV2

Guru**** 2442990 points
Other Parts Discussed in Thread: LM74700-Q1, TPS25751, CSD87501L, BQ25798, BQSTUDIO, EV2400, TPS2121

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1528685/bq25798-will-not-enable-acdrv2-when-vac1-floating-and-usb-c-active

器件型号:BQ25798
主题中讨论的其他器件:TPS25751CSD87501LBQSTUDIO、LM74700-Q1、 EV2400TPS2121

工具/软件:

TI 团队大家好、

我在双输入配置中使用 BQ25798RQMR、其中 VAC1 连接到外部 20V 桶形插孔 (“插头“)、VAC2 连接到 TPS25751 PD 控制器 (PPHV) 的输出。 我的目标是支持任一来源的电源输入。

我看到意外行为:当我只插入 USB-C(确认 VAC2 = 20V)时、 Q2 未导通 系统 (SYS) 保持未通电状态。 ACDRV2 保持低电平、并 REGN 也为 0V 。 我已经验证了以下内容:

  • TS 引脚通过分压器连接到 REGN 和 GND (R35 = 10kΩ、R36 = 4.7kΩ)、当 REGN 启动时通常会产生~1.9V。

  • TPS25751 的 VAC2 = 20V(已确认)

  • VAC1 悬空(未插入插头)

  • Q2 是一个由 ACDRV2 控制的背对背 CSD87501L

我的理解是、当 BQ25798 检测到有效输入和 TS 电压时、应该出现 REGN。 但我们似乎陷入了冷启动僵局:

  • REGN 关断→TS = 0V→ACDRV2 关断→Q2 关断→无功率达到 SYS→REGN 保持关断状态。

我附上了相关的原理图供您参考。

提前感谢您的帮助!

e2e.ti.com/.../output3.pdf

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

     尊敬的 Don:

    是否连接了电池?  如果是、状态、故障和电压 ADC 寄存器会报告什么?  如果您切换 REG0x12[7]中的 DISACDRVx 位、这有什么帮助吗?  

    如果未连接电池、由于 SYS 在尝试切换期间降至 VSYS_SHORT = 2V、我怀疑充电器会自动设置 EN_HIZ 位= 1。  

    BTW、TS 故障不会阻止转换器上电、包括 REGN 启动、仅充电电流从 SYS 流向 BAT。

    此致、

    Jeff   

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

    尊敬的 Jeff:

    是的、我确实将一个 4 节(4 节)锂离子电池组连接到 BAT、TPS25751 通过 USB-C 协商 20V 电压并提供 PPHV。 TS 引脚 通过电阻分压器偏置到~1.73V、REGN 高达 5.03V  

    以下是我在连接电池时观察到的情况:

    • 故障状态 (REG0x0E): 0xA23D
      →仍然包括VBUS_UVLO、、VBUS_OVPVAC_OVPVAC_UVLO、、、 IBUS_OCPVBAT_OVP

    • ADC 状态 (REG0x0B): 0xEA00
      →表示 ADC 已完成、但未出现有效转换

    • VBUS/VBAT/VSYS/TS ADC: 所有故障分析 0x0000

    • 切换前的 REG0x12: 0x8100

    • 清除DIS_ACDRV1(位 7)后: 0x0100、但该值恢复或不起作用—故障持续存在

    为了帮助进行调试、我将 PPHV(TPS25751 20V 输出)直接硬接线到 VBUS 引脚 (TP3 至 TP4)、以确认 测试点存在 20.59V。 但是、似乎仍没有在内部检测到 VBUS。 现在正在验证从 TP4 到 IC 上实际 VBUS 引脚的连续性。

    此外、在此设计中、VAC 处于悬空状态、这可能会解释 VAC_OVP/UVLO 持续故障。 我计划暂时将 VAC 连接到 PPHV 或 GND 以排除这种情况。

    如果您建议探测额外的寄存器或波形、请告诉我。 感谢对 EN_HIZ 和 TS 处理的见解—我对 TS_HOT 阻止转换器启动有印象、但很高兴知道 REGN 和 SYS 仍然可以通电。

    此致、

    Don

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

    这里是所有寄存器的转储:  我不确定这是否有帮助。   

    我的当前设置:

    电源: USB-C  {TP4 通过接线跳接至 TP3 以启用 USB-C}
    无外部电源、 连接电池包。  4 节电池 18650、组合电压为 15.3V

    寄存器 0x00:0x0626
    寄存器 0x01:0x9006
    寄存器 0x02:0x0090
    寄存器 0x03:0xC800
    寄存器 0x04:0xBEC8
    寄存器 0x05:0x01BE
    寄存器 0x06:0x2C01
    寄存器 0x07:0xC2C
    寄存器 0x08:0x0ACA
    寄存器 0x09:0xE30A
    寄存器 0x0A:0x00E3
    寄存器 0x0B:0xEA00
    寄存器 0x0C:0x17EA
    寄存器 0x0D:0x3D17
    寄存器 0x0E:0xA23D
    寄存器 0x0F:0x00A2
    寄存器 0x10:0x0000
    寄存器 0x11:0x0000
    寄存器 0x12:0x8100
    寄存器 0x13:0x9C81
    寄存器 0x14:0xAA9C
    寄存器 0x15:0xC0AA
    寄存器 0x16:0x7AC0
    寄存器 0x17:0x547A
    寄存器 0x18:0x0154
    寄存器 0x19:0x2C01
    寄存器 0x1A:0x0D2C
    寄存器 0x1B:0x100D
    寄存器 0x1C:0x0110
    寄存器 0x1D:0xC001
    寄存器 0x1E:0x01C0
    寄存器 0x1F:0x0001
    寄存器 0x20:0x0000
    寄存器 0x21:0xFD00
    寄存器 0x22:0x1200
    寄存器 0x23:0x1000
    寄存器 0x24:0x1100
    寄存器 0x25:0x2000
    寄存器 0x26:0x0000
    寄存器 0x27:0x0000
    寄存器 0x28:0x0000
    寄存器 0x29:0x0000
    寄存器 0x2A:0x0000
    寄存器 0x2B:0x0000
    寄存器 0x2C:0x0000
    寄存器 0x2D:0x3000
    寄存器 0x2E:0x0030
    寄存器 0x2F:0x0000
    寄存器 0x30:0x0000
    寄存器 0x31:0x0000
    寄存器 0x32:0x0000
    寄存器 0x33:0x0000
    寄存器 0x34:0x1F86
    寄存器 0x35:0x861F
    寄存器 0x36:0x0000
    寄存器 0x37:0x0000
    寄存器 0x38:0x0000
    寄存器 0x39:0x0000
    寄存器 0x3A:0x0000
    寄存器 0x3B:0x0000
    寄存器 0x3C:0x0000
    寄存器 0x3D:0x0000
    寄存器 0x3E:0x0000
    寄存器 0x3F:0x0000

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

    尊敬的 Don:

    VACx 引脚不能悬空。  如果未使用多路复用器 FET 且 ACDRVx=GND、则需要将它们连接到 VBUS、或连接到相应多路复用器 FET 的输入侧。   

    此致、

    Jeff

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

    尊敬的 Jeff:

    感谢您的澄清。

    在我的设计中、我使用两个由 ACDRV1 和 ACDRV2 控制的外部 ACFET (CSD87501L)。 VAC1 和 VAC2 引脚分别连接到其各自 FET 的源极:

    • VAC1 连接到插头输入(Q1 的源极)- 外部电源

    • VAC2 连接到 USB-C PPHV 输入(TPS25751 提供的 Q2 源)- USB-C 电源

    所以 VACx 引脚是多少 不悬空 并在您的指导下正确路由到外部 NFET 的输入侧。

    目前、我临时在 ACDRV2 到 TP4 (PPHV) 之间添加了一个 10k 上拉电阻器、以手动测试 FET 行为。  我在 ACDRV2 上读数~5.6V — 它在外部上拉,不由充电器驱动。   我不确定 FET 是坏的、还是设计不好(可能是坏的)。   

    我仍在跳闸所有故障、ADC 未检测到任何电压。   

    Fault Status (0x0E) = 0xA63D→μ s 1010 0110 0011 1101

    正在读取 ADC ...

    ADC 状态 (0x0B):0xEA00
    故障状态 (0x0E):0xA63D
    VBUS ADC (0x27):0x0000→0mV
    VBAT ADC (0x28):0x0000→0mV
    VSYS ADC (0x2A):0x0000→0mV
    TS ADC (0x2C):0x0000→0mV
    输入源控制 (REG0x0A):0x000B
    IINDPM (REG0x06):0x2C01
    ACDRV 控制 (REG0x12):0x8100

    您是否可以建议任何可能的临时修复以尝试使系统正常工作。   我可以重新定位、但需要先让基本功能正常工作。   

    此致、
    Don

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

    尊敬的 Don:

    我对你的阅读感到困惑。   每个寄存器为 8 位、但您的位数超过所示值。

    此致、

    Jeff

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

    Jeff、

    非常抱歉。  代码由 Chat-GPT 编写。   以下是更新后的寄存器转储:  这是在外部插头电源运行且连接电池时发生的。  不确定触发 TS_HOT_FAULT 的原因。  TS 电压为 1.7。   

    Clipboard BQ25798 Register Diagnostic
    
    Small blue diamond 8-bit Registers:
      REG 0x00: 0x04
      REG 0x08: 0xCA
      REG 0x09: 0x0A
      REG 0x0A: 0x0B
      REG 0x15: 0xAA
      REG 0x1A: 0x0C
      REG 0x1E: 0xC0
      REG 0x1F: 0x01
      REG 0x20: 0x20
      REG 0x21: 0x00
      REG 0x22: 0x00
      REG 0x30: 0x00
      REG 0x31: 0x00
      REG 0x32: 0x00
      REG 0x33: 0x00
      REG 0x3E: 0x00
      REG 0x3F: 0x00
    
    Small blue diamond 16-bit Registers:
      REG 0x01: 0xA401
      REG 0x03: 0x6400
      REG 0x05: 0x00AE
      REG 0x07: 0xCA0C
      REG 0x0B: 0xEA00
      REG 0x0D: 0x3D17
      REG 0x0E: 0x823D
       Warning️  Fault Bits:
         - OTG_OVP
         - IBUS_OCP
         - VAC1_UVLO
         - VAC2_UVLO
         - VBUS_UVLO
         - VBUS_OVP
         - TS_HOT_FAULT
      REG 0x1B: 0x100B
       green circle Charger/System Status:
         - Watchdog Fault: X
         - IBUS DPM Active: X
         - VINDPM Active: X
         - IIN_LIMIT Low: White check mark
         - Power Good (PG): White check mark
         - VBUS Present: White check mark
      REG 0x1C: 0x0110
       Battery Charge State:
         - Charge State: Not Charging
         - VSYS Ready: False
         - Battery Present: False
         - Input Valid: False
      REG 0x23: 0x0000
      REG 0x25: 0x2000
      REG 0x27: 0x0000
      REG 0x28: 0x0000
      REG 0x2A: 0x0000
      REG 0x2C: 0x0000
      REG 0x2E: 0x0030
      REG 0x34: 0x4900
      REG 0x36: 0x0061
    

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

    尊敬的 Don:

    TS_HOT 正在禁用充电。  TS 与接地之间是否有热敏电阻或 10k Ω 电阻器来模拟热敏电阻?

    此致、

    Jeff

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

    尊敬的 Jeff:

    我有一个电阻分压器网络(根据上传的原理图进行了修改)、  当前的电路板是  

    REGN(测量值:5.02 V)
    |
    [R40 = 100K]
    |
    TS 引脚 (测量值:1.72V)
    |
    [R44 = 52.5k]
    |
    AGND

    我的理解是、正常 TS 应在 0.8V 和 2.4V 范围内、而 I 电压为 1.72V。   所以我不能完全理解为什么 TS 被破解。   我已经尝试通过将 0x80 写入寄存器 0x32 来执行 BQ 的复位。   但这似乎会影响 TS。   (我的重置例程如下)。   您是否在原理图上看到可能导致这些问题的任何问题?   

    我的重置例程如下:

    from smbus2 import SMBus
    import time
    
    I2C_BUS = 1
    BQ25798_ADDR = 0x6B
    
    def read_register(bus, addr, reg, length=2):
        data = bus.read_i2c_block_data(addr, reg, length)
        return int.from_bytes(data, byteorder='little')
    
    def write_register(bus, addr, reg, value, length=2):
        data = value.to_bytes(length, byteorder='little')
        bus.write_i2c_block_data(addr, reg, list(data))
    
    def main():
        with SMBus(I2C_BUS) as bus:
            print("Wrench Resetting BQ25798...")
    
            # Step 1: Trigger soft reset
            print(" → Sending RESET (REG 0x32 = 0x80)")
            write_register(bus, BQ25798_ADDR, 0x32, 0x80)
            time.sleep(0.2)  # Allow reset to complete
    
            # Step 2: Reconfigure recommended post-reset defaults
            print(" → Configuring input thresholds (REG 0x0A = 0x000B)")
            write_register(bus, BQ25798_ADDR, 0x0A, 0x000B)
    
            print(" → Setting IINDPM = 3A (REG 0x06 = 0x0C00)")
            write_register(bus, BQ25798_ADDR, 0x06, 0x0C00)
    
            print(" → Enabling ADC channels (REG 0x32 = 0x00FF)")
            write_register(bus, BQ25798_ADDR, 0x32, 0x00FF)
    
            print(" → Starting ADC conversion (REG 0x33 = 0x8000)")
            write_register(bus, BQ25798_ADDR, 0x33, 0x8000)
    
            # Clear DIS_ACDRV2 (bit 7) in REG0x12
            reg_12 = read_register(bus, BQ25798_ADDR, 0x12)
            reg_12 &= ~(1 << 7)  # Clear bit 7
            write_register(bus, BQ25798_ADDR, 0x12, reg_12)
            print(f"Updated REG0x12: 0x{reg_12:04X}")
    
            print("White check mark Reset and reconfiguration complete.\n")
    
    if __name__ == "__main__":
        main()
    

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

    尊敬的 Don:

    当 V (TS) 降至 REGN 的 34%时、充电器处于 TS HOT 状态。

    您可以通过调整电阻分压器的大小来设置 V (TS)= 2.5V=50%*REGN 或使用 IGNORE_TS 位 REG0x18[0]、以硬件方式禁用 TS。

    此致、

    Jeff

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

    Jeff、

    感谢您提供最新信息。   我漏掉了一些东西。   我更新了 TS = 2.73V 的电阻值。   但 0x2C 的读数为 0mV。   TS_FAULT 仍然有效。   我已经尝试设置 IGNORE_TS=1 (sudo i2cset -y 1 0x6B 0x18 0x5500 w)、但我认为看门狗计时器正在复位它。  它会粘住几秒钟、然后会恢复。   

    工作原理 — 似乎插头电源工作正常并为电池充电,但我的电流限制在 1 安培、可能是因为故障。   我的 ILIM_HIZ 设置为提供最大功率。   

    什么仍然不工作: USB-C 无法启动。   我不知道接下来该怎么做。

    寄存器转储  

    Address    | Name                             | Value      | Meaning
    --------------------------------------------------------------------------------
    0x00       | Minimum System Voltage           | 0x26       | 
    0x01       | Charge Voltage Limit             | 0x9006     | 
    0x03       | Charge Current Limit             | 0x6400     | 
    0x05       | Input Voltage/Current Limit      | 0x00B0     | 
    0x07       | Charge Option 0                  | 0xC382     | 
    0x08       | Pre-Charge/Termination Current   | 0xC3       | 
    0x09       | Charge Voltage Top-Off Timer     | 0x05       | 
    0x0A       | Input Source Control             | 0xE3       | 
    0x0B       | ADC Status                       | 0xDC00     | 
    0x0D       | Fault Status 1                   | 0x3D4B     | 
    0x0E       | Fault Status 2                   | 0xA23D     | OTG_OVP, VBAT_OVP, IBUS_OCP, VAC1_UVLO, VAC2_UVLO, VBUS_UVLO, VBUS_OVP, TS_FAULT
    0x12       | ACDRV Control                    | 0x4100     | ACDRV1 (PLUG): ON, ACDRV2 (USB-C): ON
    0x15       | Converter Control 0              | 0xAA       | 
    0x18       | Charger Control 3                | 0x54       | IGNORE_TS=No, BATFET_CTRL=Off
    0x1A       | Charge Option 1                  | 0x82       | 
    0x1B       | Charger Status 1                 | 0x6AAB     | PG=Yes, VBUS=Yes
    0x1C       | Charger Status 2                 | 0x016A     | State=Charge Termination, VSYS_RDY=False, BAT=True, IN_OK=False
    0x1E       | JEITA IIN                        | 0x40       | 
    0x1F       | JEITA VSYS                       | 0x00       | 
    0x20       | PROCHOT Status Mask              | 0x00       | 
    0x21       | PROCHOT Control                  | 0x00       | 
    0x22       | ILIM/VINDPM Control              | 0x00       | EXT_ILIM=Disabled, EXT_VINDPM=Disabled
    0x23       | VAC1 ADC                         | 0x0000     | 
    0x25       | VAC2 ADC                         | 0x0000     | 
    0x27       | VBUS ADC                         | 0x0000     | 0 mV
    0x28       | VBAT ADC                         | 0x0000     | 0 mV
    0x2A       | VSYS ADC                         | 0x0000     | 0 mV
    0x2C       | TS ADC                           | 0x0000     | 0 mV (TS)
    0x2E       | IIN ADC                          | 0x0030     | 48 mA (Input Current)
    0x30       | ADC Control                      | 0x00       | 
    0x31       | Function Control 0               | 0x00       | 
    0x32       | ADC Channel Enable               | 0x00       | 
    0x33       | ADC Conversion Start             | 0x00       | 
    0x34       | IBAT ADC                         | 0x4A00     | 
    0x36       | VOUT ADC                         | 0x006D     | 
    0x3E       | Reserved                         | 0x00       | 
    0x3F       | Reserved                         | 0x00       | 
    

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

    尊敬的 Don:

    是、看门狗复位忽略 TS。  因此、您可能需要禁用看门狗计时器。

    我仍然很难从寄存器中读取您的数据、因为有些寄存器正在读取 4 个数字、但不应该。 0x1B 至 0x27 的 STATUS 寄存器和 FAULT 寄存器对于调试最重要。  充电电流可从以下来源降低:

    CV/Taper - V (BATP)=VREG

    IINDPM — 输入电流限制  

    VINDPM — 如果上述寄存器读数正确,则设置为 17.6V。  无法禁用 VINDPM、但可以降低阈值。

    TREG -芯片温度过高 — 可能不是您的问题。

    关于 PD 控制器、我必须让 PD 团队的人员参与进来。

    此致、

    Jeff

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

    Jeff、

    对寄存器转储中先前的混淆表示歉意。 我一直在使用 ChatGPT 来帮助生成 Python 代码以从 BQ25798 寄存器中提取数据、诚然、这比让旧硬件工程师手动编写所有数据要快。

    我现在重新设计了脚本以符合您的特定请求、并认为我已捕获了您概述的所有相关寄存器 (0x1B 至 0x27) 以及一些其他与输入电流、VINDPM 和 VBAT 相关的寄存器。 为了清晰起见、输出现在包括原始值和解释值。

    当前配置:

    • 外部电源:18.95V 连接到 插头

    • USB-C PD 电源:20V 连接到 PPHV

    • 已连接 4 芯电池

    • 系统负载:~600mA  

    如果您想要更多的寄存器或其他格式、请告诉我。 非常感谢您在此过程中提供的支持。


     BQ25798 诊断快照

    寄存器 Name 原始值 含义
    0x06 IINDPM(输入电流限制) 0x8200 (LSB=0x00、MSB=0x82) 512mA (IINDPM)
    0x0A 输入源控制 (VINDPM) 0xE3 VINDPM = 25.9V  
    0x0E 故障状态 2 0xA23D (LSB=0x3D、MSB=0xA2) TREG 故障=否
    0x22 ILIM/VINDPM 控制 0x80 EXT_ILIM =禁用、EXT_VINDPM =禁用
    0x28 VBAT ADC 0x0000 (LSB=0x00、MSB=0x00) VBAT = 0mV

     BQ25798 调试寄存器 (0x1B–0x27)

    寄存器 Name 原始值 含义
    0x1b 充电器状态 1 0x6AAB (LSB=0xAB、MSB=0x6A) PG =是、VBUS =是
    0x1C 充电器状态 2 0x016A (LSB=0x6A、MSB=0x01) 充电状态=终止、VSYS_RDY =错误、BAT =真、IN_OK =错误
    0x22 ILIM/VINDPM 控制 0x80 EXT_ILIM =禁用、EXT_VINDPM =禁用
    0x23 VAC1 ADC 0x0080 (LSB=0x80、MSB=0x00) 2048mV
    0x25 VAC2 ADC 0x0000 (LSB=0x00、MSB=0x00) 0mV
    0x27 VBUS ADC 0x0000 (LSB=0x00、MSB=0x00) 0mV

    如果您想让我做进一步的测试、请告诉我哪些突出之处。

    此致、
    Don

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

    尊敬的 Don:

    REG0x1B - 0x27 仅是 8 位寄存器、因此上述值对我来说没有意义。  以下是 BQSTUDIO 软件的快照:

    如果您可以分离出这些值、我可以告诉您哪种状态/故障会限制电流。

    此致、

    Jeff

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

    尊敬的 Jeff:

    将此项转换为 AI 当前的限制之一 — 即使校正一次后,仍不能始终记住哪些寄存器是 8 位寄存器还是 16 位寄存器。 我已经根据数据表重建了脚本以正确处理寄存器宽度、因此下面显示的所有内容都反映了准确的读取。

    我想使用 BQStudio、但我的环境完全是 Linux。 我正在使用通过 I²C Ω 连接的 Raspberry Pi、并通过 Python 脚本提取数据。

    以下是最近一次跑步的结果:


     BQ25798 诊断快照(16 位寄存器)
    (通过每个寄存器的正确字长读取)

    寄存器 Name 原始值 含义
    0x06 IINDPM(输入电流限制) 0x8200 (LSB=0x00、MSB=0x82) 512mA (IINDPM)
    0x0E 故障状态 2 0xA23D (LSB=0x3D、MSB=0xA2) TREG 故障=否
    0x28 VBAT ADC 0x0000 (LSB=0x00、MSB=0x00) VBAT = 0mV

     调试寄存器 0x1B–0x27(8 位寄存器)
    (按照 BQStudio 的预期,单独读取为字节)

    寄存器 Name 原始值 含义
    0x0A 输入源控制 (VINDPM) 0xE3 VINDPM = 25.9V
    0x1b 充电器状态 1 0x2B PG =是、VBUS =是
    0x1C 充电器状态 2 0xEA 状态=未知、VSYS_RDY =错误、BAT = True、IN_OK =错误
    0x22 ILIM/VINDPM 控制 0x00 EXT_ILIM =禁用、EXT_VINDPM =禁用
    0x23 VAC1 ADC 0x00 0mV
    0x25 VAC2 ADC 0x00 0mV
    0x27 VBUS ADC 0x00 0mV

    如果有什么特别之处、或者您希望我收集任何其他信息、请告诉我。

    此致、
    Don

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

    尊敬的 Don:

    我们越来越近了。   

    REG0x06 不能为 0.x82。

    REG0x0E 不是 4 个数字。

    状态 0x1B 和 0x1C 报告充电终止完成。

    这是真的吗?

    此致、

    Jeff

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

    尊敬的 Jeff:

    再次感谢你和我在一起。 我更正了寄存器处理(我相信):

    - REG 0x06 现在被正确屏蔽为 12 位 (IINDPM)
    - REG 0x0E 被解释为故障位(非原始值格式)

    第一个快照是使用以下命令拍摄的:
     - 600mA 负载
    -插头 (18.6 V) 激活
    - USB-C 存在但不供电
    -电池已充满电;这将捕获重新进入充电阶段

    BQ25798 诊断快照–插头激活

    寄存器|名称|原始值|含义
    ----- |------------------------------------ |------------------------------------ |------------------------------------
    0x06 | IINDPM | 0x8200 (LSB=00、MSB=82)| 512mA (已屏蔽至 12 位)
    0x0E |故障状态 2 | 0xA23D (LSB=3D、MSB=A2)| TREG 故障=否(其他有效)
    0x28 | VBAT ADC | 0x0000 | VBAT = 0mV

    寄存器|名称|原始值|含义
    ----- |------------------------------------ |----- |----------------------------------------------------
    0x0A |输入源控制| 0xE3 | VINDPM = 25.9V (可能过高)
    0x1b |充电器状态 1 | 0xAB | PG =是、VBUS =是
    0x1C |充电器状态 2 | 0x6A |充电=终止、BAT =真、IN_OK =假
    0x22 | ILIM/VINDPM 控制| 0x00 | EXT_ILIM =禁用、EXT_VINDPM =禁用
    0x23 | VAC1 ADC | 0x00 | 0mV
    0x25 | VAC2 ADC | 0x00 | 0mV
    0x27 | VBUS ADC | 0x00 | 0mV

     尽管 BAT 被报告为存在、但 VBAT 仍读数为 0mV—我怀疑 TS 锁存器或电源路径状况阻止了充电电流。 降低 VINDPM 是我的下一步。

    ——

    第二个快照是插头断开、USB-C 连接 (20V ) 且相同的 600mA 负载情况下的情况。

     BQ25798 诊断快照–仅 USB-C

    寄存器|名称|原始值|含义
    ----- |------------------------------------ |------------------------------------ |------------------------------------
    0x06 | IINDPM | 0x8200 (LSB=00、MSB=82)| 512mA  
    0x0E |故障状态 2 | 0xA23D (LSB=3D、MSB=A2)| TREG 故障=否
    0x28 | VBAT ADC | 0x0000 | VBAT = 0mV

    寄存器|名称|原始值|含义
    ----- |------------------------------------ |----- |----------------------------------------------------
    0x0A |输入源控制| 0xE3 | VINDPM = 25.9V  
    0x1b |充电器状态 1 | 0x20 | PG =否、VBUS =否
    0x1C |充电器状态 2 | 0x00 |未充电、BAT =错误、IN_OK =错误
    0x22 | ILIM/VINDPM 控制| 0x5B | EXT_ILIM =禁用、EXT_VINDPM =启用
    0x23 | VAC1 ADC | 0x90 | 4096mV  
    0x25 | VAC2 ADC | 0x00 | 0mV
    0x27 | VBUS ADC | 0x00 | 0mV

    USB-C 似乎未被接受为有效供电方、VBUS 和 IN_OK 保持低电平。 如果您下一步建议调试该路径、请告诉我。

    此致、
    Don

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

    Jeff、

    我刚刚订购了 EV2400、将采用星期四模式。   我将启动并运行 BQStudio 以帮助进行调试。  我还需要什么吗?   我正在假设我的尝试 python 代码已经没有了。    另外、您是否有机会查看原理图、看看是否还有其他问题。   我的一位同事建议、不要使用双 VAC1/2 输入、而是 断开 VAC2 并使用 Or'ing IC (LM74700-Q1) 将所有内容切换到 VAC1、因为它正常运行。    你认为这个建议是什么?   

    Don

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

    尊敬的 Don:

    BQ2400 +BQSTUDIO 应能加快调试速度。  我尚未使用 ORing IC、但已将 TPS2121 双路多路复用器与 BQ25798 搭配使用。  VAC1 与 VAC2 的唯一区别是、VAC1 开启会延迟最多 2s、以便 D+/D-检测完成。  我想知道 TPS25751 是否在不知不觉中依赖了该延迟。

    此致、

    Jeff

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

    Jeff、

    我在今天收到了 EV2400、并启动并运行了 BQStudio。   有很多数据……  您现在需要哪些测试/集合?   附件是插入电池、连接 USB-C 并插入电源时的寄存器转储和屏幕截图。

    e2e.ti.com/.../bat_5F00_plug_5F00_c.txt

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

    尊敬的 Don:

    恭喜您启动并运行 EV2400 和 BQSTUDIO! EN_HIZ 位=1、这意味着转换器关闭。  仅当 上电后 SYS 上出现低电压(认为存在短路)或电感器电流>周期电流限制(即 7.5A)或上电时检测到源不良时、充电器才会自动设置该位。  故障标志分别报告 VSYS 短路或 CONVTER OCP 或 Poor SRC。  故障标志是否报告任一事件?  这些标志在被读取后清除。

    此外、看门狗计时器已到期、因此对多个寄存器的更改将恢复为默认值。  在我们完成调试之前、您可能需要禁用看门狗计时器。

    此致、

    Jeff

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

    尊敬的 Jeff:

    感谢您的见解。 我们仍在通过一次移除一个子系统来隔离可能的短路。

    我们已经观察到、即使在将 0x00 设置为在 SYS 上输出 16.8V、BQ25798 也会在每次下电上电时恢复为 12V。 我们目前正在使用 16.8V 输入对 TPS25751 EEPROM 进行编程、因此我们想知道:
    –这种行为是来自 TPS25751 在启动时重新应用寄存器设置引起的、还是 BQ 由于故障情况而发生故障?

    关于您的问题:

    • 我们 尚未确认特定故障标志 —我们将在清除 VSYS_SHORT、CONV_OCP 和 POORSRC 位之前重新运行捕获。   是否有办法从 BQStudio 导出来为您提供干净的导出?   

    • 我们还会 禁用看门狗计时器 以确保寄存器设置在调试期间保留下来。

    再次感谢您的指导。

    此致、
    Don

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

    尊敬的 Don:

    在 POR (VBUS 和 VBAT) 或 WD 计时器到期后、充电器会根据 PROG 引脚电阻器恢复为默认值:

    我不确定 TPS25751 为 MINSYS 写入的内容、但我怀疑其接近上述值。

    此致、

    Jeff

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

    好消息首先:在修复 12V 降压转换器后、我能够通过 USB-C 为系统供电、并通过调整一些 BQStudio 寄存器以 1A 电流为电池充电。 遗憾的是、每次重新启动都会强制充电器恢复到失效防护模式、我无法恢复到充电模式。 电路板 通过 USB-C 供电、但电池不再充电、并且寄存器重置为默认值。

    • 寄存器 0x1C 显示“未充电“和“VBUS:不合格的适配器“。 我正在使用 Apple 的 100W USB-C 电源模块、并且应该符合要求。

    连接引导后立即获取的寄存器转储。

    您能帮助我了解以下内容吗:

    1. 为什么此适配器被标记为不合格、和

    2. 如何清除失效防护模式、以便正常充电能够在重新启动后正常充电?

    距离我们很近、但我缺少拼图的最后一部分。

    感谢您的指导。

    e2e.ti.com/.../usb_5F00_c_5F00_operational.txt

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

    Jeff、

    BQ25798 看起来从根本上有效、但始终会投入使用 失效防护模式 自动执行此过程。 我可以在 BQStudio 中重新启用充电、电池包会以 1A 电流充电、但在下一次下电上电后、它会重新进入失效防护状态。

    这种行为可能会导致我们这边的原理图或布局问题吗?

    重要事实:

    •TPS25751 成功协商 20V 受电方并驱动 PPHV。
    •BAT 上存在 4 节电池组 (16.8V);NTC 读取有效。
    •所有三种电源路径(USB-C,插头,电池)都可以在 12V 的电压下引导负载、因此 OR-ing 路径保持完好。
    •看门狗仍处于默认值 30s;除非我保持总线处于活动状态、否则任何寄存器更改都会恢复。  我认为我无法永久禁用它或还无法禁用它。   

    •附件是重新启用充电后立即执行的电流寄存器转储。

    问题:

    1. 即使电压和电流限制符合规格、哪个特定故障也会强制器件进入失效防护状态?

    2. 我们的任何元件选择(分压器值,ILIM 电阻器、TS 网络等)或 VAC1/VAC2 布线是否也会影响该特性?

    3. 是否有建议的 POR 序列或看门狗设置可以避免这种临界情况?

    感谢任何指导—告诉我是否有另一组示波器屏幕截图或原理图会有所帮助。

    谢谢、

    Don

    e2e.ti.com/.../bq_5F00_working.txt

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

    尊敬的 Don:

    可以通过写入 REG0x10[2:0]=000 来禁用 WD 计时器。  充电状态寄存器报告恒压充电器(恒压模式)、这意味着在 BATP =VREG 时检测到电池电压。  当电池包电芯进行充电时、ICHG =(VREG-VCELLS)/ Resistance、其中电阻是布线、电缆、连接器、电池包保护器电阻的总和。  

    关于 1、没有故障会将寄存器复位为默认值。  仅当 VBUS 和 VBAT 均低于其各自的 UVLO 阈值或写入 REG0x09[6]= 1 时、寄存器才会复位为默认值。

    关于 2、对于随附的寄存器、否  充电器按预期工作。 VACx 是一个高阻抗输入引脚、可检测输入电压。  只要 IC 附近有一个 0.1uF 滤波电容器、我预计 VACx 不会引起问题。

    关于 3、如果处理器可能在某个时候关闭并且不提供 WD ping、我建议禁用看门狗计时器。  然后、USB-C 合约完成后、应写入 ICHG、VREG、IINDPM、VINDPM 和 EN_LIM 寄存器位。

    此致、

    Jeff

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

    尊敬的 Jeff:

    好消息—USB-C 输入、外部适配器输入和电池充电现在都能在通电后正常工作。 以下几点仍需澄清:

    1. SYS 节点电容
      我最初在 SYS 上有~μ F 100 µF 的 X7R 陶瓷电容器。 冷启动时、充电器拉取~0.5A、经常发生故障。 将散装物减半至~μ m 50 µF 后、它能够可靠地启动和充电。 SYS 是否有建议的最大有效电容或者我应该遵循的浪涌指南?

    2. VSYSMIN POR 默认值
      在 POR 时、寄存器 0x00 始终恢复为 12V。 该器件能否在复位期间保持 16V VSYSMIN、或者我是否需要重新设计 12V 降压/升压级以适应 12V 默认值?

    感谢你的帮助。

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

    嗨、Don、很抱歉耽误你的时间。 Jeff 目前正为时间银行、将通过星期四联系您。

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

    尊敬的 Don:

    关于 1、这是奇数。  SYS 上有其他客户具有大容量或更大的电容。  我会与设计人员确认。  当您说“感到有过失“时、到底会发生什么?  IC 是否已损坏?   

    关于 2、在 VBUS 和 VBAT 降至各自的 UVLO 以下后、SYSMIN 默认会根据 PROG 引脚复位为默认值。  遗憾的是、这无法更改。

    此致、

    Jeff