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.

TPS26750: Can not start charging main battery with USB-C charger

Part Number: TPS26750
Other Parts Discussed in Thread: PMP41115, BQ25756, , USB2ANY, EV2400

Tool/software:

Dear TI support team,

We are currently testing the PMP41115 reference design.

Initially we were not able to get any of the functionality working. After, following the configuration provided by Chris Sterzik in the forum we were able to charge phones and laptops through the USB-C port.

However, we are still unable to charge the main battery when a charger is plugged in the USB-C port. The BMS of our battery does not switch on the Charge-ON MOSFETs before there is voltage on the charge input. And it seems that the Buck/Boost will not start charging before it sees a voltage on its "Output".


How can we configure the system, so it provides voltage initially?
Does this reference design supports dead battery mode?

Can we configure the Buck/Boost converter to work with passive loads, as R load?

Best regards,
Radko

  • Hi Radko,

    Can you share the latest json you have been using with the reference design?

    Can you share a simple block diagram of your testing? I'm not sure what this "Charge-on" mosfet is.

    How can we configure the system, so it provides voltage initially?

    Please share the json you have an I will see if there are any issues. The PD controller should configure the BQ25756 into chg mode when a type-c source is attached to the Type-C port.

    Basically:

    1: Type C Source (wall adapter or similar device) attached to Type-c port

    2: TPS26750 negotiates a sink contract

    3: TPS26750 programs the BQ25756 over I2C to sink according to the active contract

    4: voltage should appear.

    If possible, could you also share an I2C log of the PD controller to BQ I2C bus during power up and also when a source is attached?

    Can we configure the Buck/Boost converter to work with passive loads, as R load?

    I'm not sure if this can be tested with an R-load. I've tested similar systems with a constant voltage e-load in the past.

    Thanks and Regards,

    Chris

  • {
      "questionnaire": {
        "device": "TPS26750",
        "toolBuildVersion": "1.1.0",
        "answers": [
          null,
          0,
          7,
          7,
          1,
          0,
          3,
          0,
          null,
          1,
          1,
          3,
          4,
          3,
          1.536,
          2.5,
          0.3,
          0.7,
          0
        ],
        "vendorId": "0000",
        "productId": "0000",
        "version": "1.0.0.2"
      },
      "configuration": {
        "data": {
          "selected_ace": [
            {
              "register": 6,
              "data": [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            },
            {
              "register": 22,
              "data": [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                3
              ]
            },
            {
              "register": 40,
              "data": [
                2,
                0,
                46,
                7,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                3
              ]
            },
            {
              "register": 41,
              "data": [
                81,
                80,
                128,
                0
              ]
            },
            {
              "register": 50,
              "data": [
                37,
                170,
                42,
                44,
                145,
                1,
                32,
                44,
                209,
                2,
                0,
                44,
                177,
                4,
                0,
                244,
                65,
                6,
                0,
                244,
                177,
                4,
                224,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                244,
                193,
                8,
                0,
                244,
                65,
                11,
                26,
                244,
                1,
                15,
                0,
                180,
                150,
                192,
                195,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                170,
                10,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            },
            {
              "register": 51,
              "data": [
                36,
                44,
                145,
                1,
                16,
                44,
                209,
                2,
                0,
                44,
                177,
                4,
                0,
                44,
                65,
                6,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                244,
                193,
                8,
                0,
                244,
                65,
                11,
                0,
                244,
                1,
                15,
                0,
                180,
                150,
                192,
                195,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            },
            {
              "register": 55,
              "data": [
                118,
                192,
                18,
                65,
                144,
                145,
                33,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                1,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            },
            {
              "register": 66,
              "data": [
                26,
                0,
                8,
                0
              ]
            },
            {
              "register": 92,
              "data": [
                13,
                12,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                4,
                0,
                0,
                0,
                4,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                4,
                0,
                0,
                0,
                0,
                0,
                0,
                4,
                0,
                0,
                0,
                0,
                0,
                92,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            },
            {
              "register": 112,
              "data": [
                3
              ]
            },
            {
              "register": 119,
              "data": [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                15,
                0
              ]
            },
            {
              "register": 120,
              "data": [
                0,
                0,
                0,
                128
              ]
            },
            {
              "register": 122,
              "data": [
                0,
                0,
                0,
                0
              ]
            },
            {
              "register": 123,
              "data": [
                0,
                2,
                255,
                255,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            },
            {
              "register": 125,
              "data": [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            },
            {
              "register": 126,
              "data": [
                0,
                0,
                0,
                128,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            },
            {
              "register": 152,
              "data": [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            }
          ]
        }
      }
    }

  • Hi Radko,

    Thanks for sharing the json. I don't see anything obvious there that should prevent charging.

    Do you have an 4 quadrant power supply or an E-load capable of constant voltage operation? I will add the Battery Charger team to see if they can answer your question about R-loads.

    What controls the Charge on power path? How do you determine when to enable it?

    When you connect the Charger to the type-C port, what voltage do you see on VBUS? What voltage do you see on PPHV?

    If you see voltages 5-V or greater on both nodes, can you capture the I2C bus between the PD controller and the BQ device when the Charger is connected?

    If positive voltage are seen, we would expect to see I2C messages configuring the BQ device for charging mode. If we see the correct I2C writes, there might be an issue related to the BQ device.

    Does this reference design supports dead battery mode?

    Yes, it supports dead battery mode.

    Thanks and Regards,

    Chris

  • Hello Radko,

    Does this reference design supports dead battery mode?

    Yes, the BQ25756 will support a dead battery.

    How can we configure the system, so it provides voltage initially?

    You'll need to pull down the EN_CHG pin and set the charge current and input current limit with resistors.

    Can we configure the Buck/Boost converter to work with passive loads, as R load?

    The BQ25756 is specially designed to charged batteries. Powering a resistive load with the BQ25756 will be difficult. I recommend setting EN_PFM=0, EN_TERM=0, and EN_CONV_FAST_TRANSIENT=0 to make powering a resistive load easier.

    If you are just testing the circuit, I recommend using a constant voltage load.

    Let me know if you have any questions about this.

    Best Regards,
    Ethan Galloway

  • Hi Ethan,

    Your suggestions appeared after I replied to Cristopher. They answer some of my questions. 
    Could you please check my reply from few minutes ago.

    Thanks!

    Radko

  • Just so we can speed up the communication I am sending my reply again. I do not see it after Crises suggestions:

    Hi Cristopher,

    Thanks for your reply!
    For some reason drag and dropping the files has replaced my answer to your first reply.
    As expected, when the Buck - Boost converter is directly connected to the battery the charging process starts and everything works.

    To you second reply, all the voltages seem as expected. The process starts at 5 V, both controllers negotiate the charging voltage and the charger ramps the voltage as expected.

    The following issue remains. When connected to the BMS there is no voltage on the Buck - boost "output". But if the BMS does not see an appropriate voltage for charging it will not turn ON the MOSFETS (please see attached block diagram). Therefore, nothing happens.

    We do not have an I2C logger yet. What we can do is log I2C's busy bus with logic analyzer and provide the raw data. Will this help?

    Could you please check our jason file again and see if dead battery mode is enabled.

    Also, I can report that we have tested charging 3 laptops from the main battery but only one has started charging. Do you have any suggestions?

    We have also tested charging about five phones and all of them are charging successfully.


    Thanks and best regards,
    Radko

  • Hello Radko,

    The following issue remains. When connected to the BMS there is no voltage on the Buck - boost "output". But if the BMS does not see an appropriate voltage for charging it will not turn ON the MOSFETS (please see attached block diagram). Therefore, nothing happens.

    Is there any voltage at all on the output node? Can you measure the BQ25756's SW1 and SW2 pin with an oscilloscope to see if these pins are switching?

    Best Regards,
    Ethan Galloway

  • Hi Ethan,

    Sorry for the messy communication above. I will try to clear that.

    I have been testing the board for the last three days personally. Here is what I know.

    Your reference design works in both directions:

    1. We have charged three different 10S battery pack (10 and 12 Ah) with both 20 V and 48 V USB-C power supplies.

    2. From these batteries we have power 3 laptops, few phones and I even charged my headset yesterday.

    So, there is no doubt that the hardware is functional.

    However, we were able to charge the batteries in 1 by finding workaround the battery BMS.

    When we connect the TI charger to the standard battery charging port the voltage of the output node is 0 V and the charging does not start. I have not checked for switching signals but I am sure that there are no switching signals. If there were, there is nothing to stop the output voltage from rising.

    When we connect the TI charger directly to the battery everything works as expected.

    The BMS of our batteries disconnects the battery from the charging port until a charger is connected and it supplies the appropriate voltage. Therefore, the Voltage on the charge port is also 0 V.

    An the problem in my opinion is that the configuration we use for the TI charger needs to see voltage present on the "output" (connected battery) in order to start the charging. The BMS needs to see that a charger is connected. And nothing happens until we use a workaround.

    Yesterday, I found another bug on my PCB. My colleagues had not yet confirmed that the same happens on their boards too.

    My board can charge only one device and then it needs power reset in order to charge the next device. Here is my setup:

    I am using 10S 42 V 12 Ah battery as source and I am charging a phone through the USB-C port. If I disconnect the phone and reconnect it it does not continue to charge. I have monitored the PPHV voltage and it is 5.2 V before and after I connect the phone, but when I disconnect the phone it drops to about 1 V. The voltage on the battery side is always 40 V.

    I am going to send the charge port circuit separately, so it does not mess the text.

    Thanks for your help!

    Best regards,

    Radko  

       

  • Hi Radko,

    We do not have an I2C logger yet. What we can do is log I2C's busy bus with logic analyzer and provide the raw data. Will this help?

    Potentially. If simple enough, capture and send it over and i'll take a look.

    Could you please check our jason file again and see if dead battery mode is enabled.

    Dead battery is configured by the ADCINx resistors. It is enabled by default on the PMP41115 reference design.

    Thanks and Regards,

    Chris

  • Hello Radko,

    The BMS of our batteries disconnects the battery from the charging port until a charger is connected and it supplies the appropriate voltage. Therefore, the Voltage on the charge port is also 0 V.

    An the problem in my opinion is that the configuration we use for the TI charger needs to see voltage present on the "output" (connected battery) in order to start the charging. The BMS needs to see that a charger is connected. And nothing happens until we use a workaround.

    Thanks for clearing up this information.

    I have a few questions to help debug this:

    • How many boards have been made? Do you see this behavior on every board?
    • Just to be sure, can you take an oscilloscope capture of SW1 and SW2 to see what the charger is doing here?  I want to make sure the charger isn't stuck in the trickle charge mode.
    • Is it possible to set EN_PRECHG=0 on your setup? If so, does that change the charger's behavior?
    • This test may be difficult, but if possible, can you hook up a EV2400, USB2ANY, or an MCU to the battery charger's I2C lines and read the registers?

    Best Regards,
    Ethan Galloway

  • Hi Ethan,

    How many boards have been made? Do you see this behavior on every board?


    We made three boards and currently testing all of them. The issue with 0 V at the output node is present on all boards.

    Just to be sure, can you take an oscilloscope capture of SW1 and SW2 to see what the charger is doing here?  I want to make sure the charger isn't stuck in the trickle charge mode.

    I have checked that and the charger is not stuck. There are no gate signals on any of the four switches.
    Just for information, I have also observed burst mode when I disconnect the battery while charging.

    Is it possible to set EN_PRECHG=0 on your setup? If so, does that change the charger's behavior?

    This can work for us. How can we do that. I do not see such option in the online tool.

    This test may be difficult, but if possible, can you hook up a EV2400, USB2ANY, or an MCU to the battery charger's I2C lines and read the registers?

    We do not have EV2400 or USB2ANY. If we buy USB2ANY does it read the registers of the shelf or it requires software? If, so do we need to write the software ourselves or it is available?

    Best regards,

    Radko

  • Hello Radko,

    The USB2ANY should read the registers of the BQ25756 off the shelf. For software, you can use the online TI Charger GUI: https://www.ti.com/tool/TI-CHARGER-GUI

    I'll get back to you later this week with more information.

    Best Regards,
    Ethan Galloway

  • Hello Radko,

    I have another question. Just to confirm, if you apply 3V to VBAT, will the BQ25756 start charging then?

    Best Regards,
    Ethan Galloway

  • Hi Ethan,

    Just to be clear you are referring to the output node. I have not tested that with 3 V, but I think it will start charging. I apply 42 V from the battery and it starts charging.

    Best regards,

    Radko

  • Hello Radko,

    Thanks for the new information.

    Have you been able to test setting EN_PRECHG=0 on the IC with a micro controller or I2C communicator?

    Also, can you send me the lot code lettering on the top of the IC?

    Best Regards,
    Ethan Galloway