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.

[参考译文] TPS25750:当连接的非 PD 适配器后发生连接时、BQ25713会断开连接

Guru**** 2503995 points
Other Parts Discussed in Thread: TPS25750, TPS25751, BQ25713

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1428281/tps25750-bq25713-loses-connection-when-a-connection-after-connected-non-pd-adapter

器件型号:TPS25750
主题中讨论的其他器件: TPS25751BQ25713

工具与软件:

尊敬的 TI 团队:

我已连接电池、并通过 TPS CMD1和 DATA1读取配置寄存器和状态。 一切都和预期的一样。

在下一步中、我连接了 PD 适配器、然后通信正确无误。 更好的是、我能够读出输入电压的正确值。

接下来、我清除了中断事件、插入了非 PD 适配器、但 DATA1中的值没有改变。 然后、我将相同的参数写入 DATA1并将 IC2r 发送至 CMD1。 我收到一个表明 CMD1已完成的中断事件、但 DATA1中的值与之前发送的值相同。

我也尝试发送 GAID 作为命令,但它没有帮助。

您能建议如何解决此问题吗?


此致、
Rafał μ A

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

    尊敬的 Rafal:  

    您是否有观察到的行为的 I2C 日志? 似乎有些东西被锁住了。 这是 TPS25750上的一个已知问题。

    我强烈建议使用我们的后续器件 TPS25751。 有关详细信息、请参阅以下常见问题解答。  

    此致、  

    Aya Khedr

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

    是的、我已经连接了 RPI Pico、而在 Micropython 中则尝试对其进行调试。 我 已连接并 解码 MOST 寄存器。 在 RELP 中、我可以发送 正确的命令、然后读取/写入寄存器。  
    要清楚, 我必须描述命令:
     

    • bqread -这是通过 TPS data1 & cmd1读取 BQ25713的函数 、以及其 firts 命令来显示其是否正常工作  
    • 整型? -它要求 TPS 提供 中断事件 (寄存器0x14 )
    • INT r - RESET 中断事件 (发送至0x18 [0xFF for _ in range (11)])
    • READ_STATUS -获取 TPS 状态、PD 状态、电源路径状态 和电源状态  


    # test if bqread work properly
    Enter command:
    bqread
    Enter register offset (hex, e.g., 0x00): 0x2f
    Enter the number of bytes to read (max 64): 1
    Byte 0: 0x88    B0-B7   B0(0):  0,      B1(1):  0,      B2(2):  0,      B3(3):  1,      B4(4):  0,      B5(5):  0,      B6(6):  0,      B7(7):  1,
    Enter command:
    int?
    Byte 0: 0x0     B0-B7   B0(0):  0,      B1(1):  0,      B2(2):  0,      B3(3):  0,      B4(4):  0,      B5(5):  0,      B6(6):  0,      B7(7):  0,
    Byte 1: 0x0     B8-B15  B8(0):  0,      B9(1):  0,      B10(2):  0,     B11(3):  0,     B12(4):  0,     B13(5):  0,     B14(6):  0,     B15(7):  0,
    Byte 2: 0x0     B16-B23 B16(0):  0,     B17(1):  0,     B18(2):  0,     B19(3):  0,     B20(4):  0,     B21(5):  0,     B22(6):  0,     B23(7):  0,
    Byte 3: 0x40    B24-B31 B24(0):  0,     B25(1):  0,     B26(2):  0,     B27(3):  0,     B28(4):  0,     B29(5):  0,     B30(6):  1,     B31(7):  0,
    Byte 4: 0x0     B32-B39 B32(0):  0,     B33(1):  0,     B34(2):  0,     B35(3):  0,     B36(4):  0,     B37(5):  0,     B38(6):  0,     B39(7):  0,
    Byte 5: 0x0     B40-B47 B40(0):  0,     B41(1):  0,     B42(2):  0,     B43(3):  0,     B44(4):  0,     B45(5):  0,     B46(6):  0,     B47(7):  0,
    Byte 6: 0x0     B48-B55 B48(0):  0,     B49(1):  0,     B50(2):  0,     B51(3):  0,     B52(4):  0,     B53(5):  0,     B54(6):  0,     B55(7):  0,
    Byte 7: 0x0     B56-B63 B56(0):  0,     B57(1):  0,     B58(2):  0,     B59(3):  0,     B60(4):  0,     B61(5):  0,     B62(6):  0,     B63(7):  0,
    Byte 8: 0x0     B64-B71 B64(0):  0,     B65(1):  0,     B66(2):  0,     B67(3):  0,     B68(4):  0,     B69(5):  0,     B70(6):  0,     B71(7):  0,
    Byte 9: 0x0     B72-B79 B72(0):  0,     B73(1):  0,     B74(2):  0,     B75(3):  0,     B76(4):  0,     B77(5):  0,     B78(6):  0,     B79(7):  0,
    Byte 10: 0x1    B80-B87 B80(0):  1,     B81(1):  0,     B82(2):  0,     B83(3):  0,     B84(4):  0,     B85(5):  0,     B86(6):  0,     B87(7):  0,
    Data from Interrupt Event for I2C1 Register: (b'\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x01', 11)
    Decoding Interrupt Event for I2C1 Register:
    1 - Bit 30: CMD1 Complete
    1 - Bit 80: Patch Loaded - The package has been loaded to the device
    # reset Iterrupt event 
    Enter command:
    int r
    Byte 0: 0x0     B0-B7   B0(0):  0,      B1(1):  0,      B2(2):  0,      B3(3):  0,      B4(4):  0,      B5(5):  0,      B6(6):  0,      B7(7):  0,
    Byte 1: 0x0     B8-B15  B8(0):  0,      B9(1):  0,      B10(2):  0,     B11(3):  0,     B12(4):  0,     B13(5):  0,     B14(6):  0,     B15(7):  0,
    Byte 2: 0x0     B16-B23 B16(0):  0,     B17(1):  0,     B18(2):  0,     B19(3):  0,     B20(4):  0,     B21(5):  0,     B22(6):  0,     B23(7):  0,
    Byte 3: 0x40    B24-B31 B24(0):  0,     B25(1):  0,     B26(2):  0,     B27(3):  0,     B28(4):  0,     B29(5):  0,     B30(6):  1,     B31(7):  0,
    Byte 4: 0x0     B32-B39 B32(0):  0,     B33(1):  0,     B34(2):  0,     B35(3):  0,     B36(4):  0,     B37(5):  0,     B38(6):  0,     B39(7):  0,
    Byte 5: 0x0     B40-B47 B40(0):  0,     B41(1):  0,     B42(2):  0,     B43(3):  0,     B44(4):  0,     B45(5):  0,     B46(6):  0,     B47(7):  0,
    Byte 6: 0x0     B48-B55 B48(0):  0,     B49(1):  0,     B50(2):  0,     B51(3):  0,     B52(4):  0,     B53(5):  0,     B54(6):  0,     B55(7):  0,
    Byte 7: 0x0     B56-B63 B56(0):  0,     B57(1):  0,     B58(2):  0,     B59(3):  0,     B60(4):  0,     B61(5):  0,     B62(6):  0,     B63(7):  0,
    Byte 8: 0x0     B64-B71 B64(0):  0,     B65(1):  0,     B66(2):  0,     B67(3):  0,     B68(4):   0,     B69(5):  0,     B70(6):  0,     B71(7):  0,
    Byte 9: 0x0     B72-B79 B72(0):  0,     B73(1):  0,     B74(2):  0,     B75(3):  0,     B76(4):  0,     B77(5):  0,     B78(6):  0,     B79(7):  0,
    Byte 10: 0x1    B80-B87 B80(0):  1,     B81(1):  0,     B82(2):  0,     B83(3):  0,     B84(4):  0,     B85(5):  0,     B86(6):  0,     B87(7):  0,
    Data from Interrupt Event for I2C1 Register: (b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 11)
    Decoding Interrupt Event for I2C1 Register:
    # connected non-PD adapter
    Enter command:
    int?
    Byte 0: 0xa     B0-B7   B0(0):  0,      B1(1):  1,      B2(2):  0,      B3(3):  1,      B4(4):  0,      B5(5):  0,      B6(6):  0,      B7(7):  0,
    Byte 1: 0x0     B8-B15  B8(0):  0,      B9(1):  0,      B10(2):  0,     B11(3):  0,     B12(4):  0,     B13(5):  0,     B14(6):  0,     B15(7):  0,
    Byte 2: 0x0     B16-B23 B16(0):  0,     B17(1):  0,     B18(2):  0,     B19(3):  0,     B20(4):  0,     B21(5):  0,     B22(6):  0,     B23(7):  0,
    Byte 3: 0xd     B24-B31 B24(0):  1,     B25(1):  0,     B26(2):  1,     B27(3):  1,     B28(4):  0,     B29(5):  0,     B30(6):  0,     B31(7):  0,
    Byte 4: 0x0     B32-B39 B32(0):  0,     B33(1):  0,     B34(2):  0,     B35(3):  0,     B36(4):  0,     B37(5):  0,     B38(6):  0,     B39(7):  0,
    Byte 5: 0x0     B40-B47 B40(0):  0,     B41(1):  0,     B42(2):  0,     B43(3):  0,     B44(4):  0,     B45(5):  0,     B46(6):  0,     B47(7):  0,
    Byte 6: 0x0     B48-B55 B48(0):  0,     B49(1):  0,     B50(2):  0,     B51(3):  0,     B52(4):  0,     B53(5):  0,     B54(6):  0,     B55(7):  0,
    Byte 7: 0x0     B56-B63 B56(0):  0,     B57(1):  0,     B58(2):  0,     B59(3):  0,     B60(4):  0,     B61(5):  0,     B62(6):  0,     B63(7):  0,
    Byte 8: 0x0     B64-B71 B64(0):  0,     B65(1):  0,     B66(2):  0,     B67(3):  0,     B68(4):  0,     B69(5):  0,     B70(6):  0,     B71(7):  0,
    Byte 9: 0x0     B72-B79 B72(0):  0,     B73(1):  0,     B74(2):  0,     B75(3):  0,     B76(4):  0,     B77(5):  0,     B78(6):  0,     B79(7):  0,
    Byte 10: 0x0    B80-B87 B80(0):  0,     B81(1):  0,     B82(2):  0,     B83(3):  0,     B84(4):  0,     B85(5):  0,     B86(6):  0,     B87(7):  0,
    Data from Interrupt Event for I2C1 Register: (b'\n\x00\x00\r\x00\x00\x00\x00\x00\x00\x00', 11)
    Decoding Interrupt Event for I2C1 Register:
    1 - Bit 1: PD Hardreset
    1 - Bit 3: Plug Insert or Remove
    1 - Bit 24: Power Status Updated
    1 - Bit 27: PD Status Updated
    
    # check out if BQ is still working  and it's not.
    Enter command:
    bqread
    Enter register offset (hex, e.g., 0x00): 0x2f
    Enter the number of bytes to read (max 64): 1
    Byte 0: 0x2f    B0-B7   B0(0):  1,      B1(1):  1,      B2(2):  1,      B3(3):  1,      B4(4):  0,      B5(5):  1,      B6(6):  0,      B7(7):  0,
    Enter command:
    pwr?
    Byte 0: 0x0     B0-B7   B0(0):  0,      B1(1):  0,      B2(2):  0,      B3(3):  0,      B4(4):  0,      B5(5):  0,      B6(6):  0,      B7(7):  0,
    Byte 1: 0x30    B8-B15  B8(0):  0,      B9(1):  0,      B10(2):  0,     B11(3):  0,     B12(4):  1,     B13(5):  1,     B14(6):  0,     B15(7):  0,
    Byte 2: 0x0     B16-B23 B16(0):  0,     B17(1):  0,     B18(2):  0,     B19(3):  0,     B20(4):  0,     B21(5):  0,     B22(6):  0,     B23(7):  0,
    Byte 3: 0x0     B24-B31 B24(0):  0,     B25(1):  0,     B26(2):  0,     B27(3):  0,     B28(4):  0,     B29(5):  0,     B30(6):  0,     B31(7):  0,
    Byte 4: 0x40    B32-B39 B32(0):  0,     B33(1):  0,     B34(2):  0,     B35(3):  0,     B36(4):  0,     B37(5):  0,     B38(6):  1,     B39(7):  0,
    Power Path Status:
     - PP1 Switch State: Disabled
     - PP3 Switch State: Enabled (system input)
     - PP1 Overcurrent: No
     - PPCable1 Overcurrent: No
     - Power Source: Powered from VIN_3V3
    Byte 0: 0x3     B0-B7   B0(0):  1,      B1(1):  1,      B2(2):  0,      B3(3):  0,      B4(4):  0,      B5(5):  0,      B6(6):  0,      B7(7):  0,
    Byte 1: 0x2     B8-B15  B8(0):  0,      B9(1):  1,      B10(2):  0,     B11(3):  0,     B12(4):  0,     B13(5):  0,     B14(6):  0,     B15(7):  0,
    Power Status:
     - Power Connection: Connection present
     - Present PD Role: Source
     - Type-C Current: USB Default Current
     - Charger Detect Status: No detection
     - Charger Advertise Status: Charger advertisement complete
    Enter command:


    我还想知道这款 PD 硬复位是什么(我查找了有关它的信息、但它的信息很少)

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

    尊敬的 Rafal:  

    我将进一步探讨这一点、并在一周结束前提供反馈。  

    此致、  

    Aya Khedr

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

    尊敬的 Rafal:  

    您是否仍会在 TPS25751上看到此行为? 如果需要进一步调试、请告知我。

    此致、  

    Aya Khedr

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

    我已将 TPS 替换为 TPS25751、现在可以正常运行、这是感谢您的建议。 关于先前关于问题 :TPS25750:首次连接后的非 PD 适配器锁存了 BQ25713、该 USB 连接无法充电

     充电正常状态出现新问题