TPS65988: Operation on TPS65988DK EVK to be matched on system with TPS65988DH

Part Number: TPS65988

Tool/software:

1157.5A Version.pjt

Using E2E we were able to get all required functionality on a TPS65988DK EVK (many thanks to everyone for the help in this).  Our product does not need USB4 or TBT so we are using a TPS65988DH. We were using the "5A Version.pjt" on our systems (incorrect part populated since this file is for the TPS65988DK while we had the TPS56988DH populated)  and had the majority of functions working.  One thing that did not work properly was negotiation of 20V.  Some chargers negotiated 20V, some 15V and some 5V when maximum power was desired. 

The "5A Version.pjt" file is what works on the EVK.   I have gone screen by screen trying to match parameters as well as I could determine in a new project based on the TPS65988DH and created "DH version.pjt".  

20V is now properly negotiated in all cases, however, in our system we need to sink from either port and give priority to the port of most power.  With the "DH version.pjt" project file, power is not taken from the second port when more power is avaliable from that port.  

Can you please provide a TPS65988DH version of the 5A Version.pjt project file or adjust the DH version.pjt file with corrections?

 DH version.pjt

Thanks for all your help.

David

  • Hi David,

    I'm a little confused what you are asking for.

    20V is now properly negotiated in all cases, however, in our system we need to sink from either port and give priority to the port of most power.  With the "DH version.pjt" project file, power is not taken from the second port when more power is avaliable from that port.  

    If I understand correctly, the DH version of the file works, except for this power sink feature. Was this something that was working with the 988DK EVK?

    For this feature, you are expecting the 988 to have two sink ports, but only the higher power one will provide power?

    How much total power is there? What Sink PDOs do you advertise per port?

    How is one port supposed to know how much power the other port is handling?

    Are you using an EC/I2C host connected to the PD controller?


    If this is an issue with moving projects from DK to DH.

    I'm not sure if you have already tried this, but can you try taking your working project, and using the "Import Settings From Project" option in the GUI? 

    Make a new project, selecting the part you want the project for.

    With the project open, select Project again, and the "Import Settings..." option should appear.

    Select the older project you want to import settings from.

    Thanks and Regards,

    Chris

  • Hi Chris,

    I am afraid that I have discovered that my issue is more unusual than the possibiliies you describe.

    It may be best for me to describe our system and what we want to achieve.

    Here is our power block diagram:

    The product will operate with reduced features when only connected to the Host PC as limited by power received. Data and power is provided by the host with only this connection.

    When connection are made to Ports A and B, the port offering the highest power is to be what is sinked from.

    Port A can also source power.  

    A use case would be as follows:

    1. Laptop Connected to Port A

    - Negotiate maximum power from Port A

    - Connect external Port A sink path 

    2. Charger Connected to Port B

    - Negotiate maximum power from Port B

    - Disconnect external Port A sink path

    - Connect internal Port B sink path

    - Source avaliable power to Port A on Laptop  

    Our product would calculate available power to be offered to Port A and and create appropriate PDOs.

    I have a TPS65988DK EVK.  Unfortuntately while working to get it to source power to a laptop, I damaged it.  It seems to be able to sink power OK.

    Our product is configured the same as if an EVK had its jumper settings as follows:

    Can you provide a .prj file that will work for this?

    I am aware that I will also need to do this:

    • When Port B is sinking power, evaluate the Receive Source Capabilities (0x30) and set the Source capabilities for Port A based on what can be spared after powering the product.
    • execute a DeadBattery Flag Clear (DBfg) command
    • execute a Swap to Source SWSr command

    Best regards,

    David

  • Hi David,

    I think that makes more sense. Let me look into it and give me a couple days to get back to you. I need to check with the team to confirm we can support these features.

    If you want to start testing on your own, I would recommending downloading the GUI and looking into this APP note:

    https://www.ti.com/lit/an/slvaf24/slvaf24.pdf?ts=1718908403300&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FTPS65988

    Thanks and Regards,

    Chris

  • Hi Christopher,

    1. Laptop Connected to Port A

    a. Negotiate maximum power from Port A

    b. Connect external Port A sink path 

    2. Charger Connected to Port B

    a. Negotiate maximum power from Port B

    b. Disconnect external Port A sink path

    c. Connect internal Port B sink path

    d. Source avaliable power to Port A on Laptop  

    Here is what I believe is currently happening in our system in the use case. Below are experiments that I have made using our EVK (DK version, we have DH version parts... more confusion)

    • 1. a and b. All OK, the system is powers from Port A.
    • 2.  
      • a. Negotiate Maximum power: This works properly- on the EVK the VBUSB LED is bright, the SYS continues to receive 5V from Port A
      • b. Disconnect Port A sink path: 
        • Executing a DeadBattery Clear Flag command at this time causes SYS PWR and VBUS-B to briefly turn off.
        • VBUS-B comes back on , negotiated to max power and SYS PWR comes back on, but is still still connected to VBUS-A (should be connected to VBUS-B)

    The firmware on our product executes a DBfg command immediately after power up. When this is done the results are the following on the EVK:

    • 1. a and b  Connect Port A to laptop works correctly (using a USB A to USB C cable).  The system is powered from Port A.
    • 2
      • a.  Negotiate Maximum power: This works properly- on the EVK the VBUSB LED is bright, the SYS continues to receive 5V from Port A
      • SYS PWR does not switch over to Port B

    Looking at our product, power is taqken properly from port A.  When port B is connected the following occurs:

    Every 10 seconds this occurs:

    When SYS PWR goes to gnd, the product resets.

    Best regards,

    David

  • Hi David,

    Thanks for the additional info,

    Chris

  • Hi Christopher,

    Any progress on this?

    David

  • Hey David,

    I am working on this, but ran into issues getting the multiport sink portion working on the EVK. If you have resources to test them on your end, I can share the "in progress" projects so you can evaluate them.

    I am currently seeing issues with the PD controller when connecting a second power source and debugging.

    Thanks and Regards,

    Chris

  • Hi Chris,

    Thankfully we have the circuits for using an external switch for Port B on our board.  We populated this, adjusted the .prj as follows:

    We are able to achieve seemless sink switching from Port A to B using external switches to sink on both ports.  We also needed to disconnect VIN_3V3 from the system 3.3V. 

    By doing this, the TPS65988 is able to remain powered up as long as there is VBUS on either of the ports.  With VIN_3V3 connected, if the system supply collapses, the TPS65988  resets and the deadbattery flag gets reset.  With VIN_3V3 disconnected, during the dead time (1ms) when both Port A and Port B switches are not on, the TPS6988 remains powered.  We only use the LDO_3V3 to power the flash, so I believe that we should be OK with running the TPS65988  and flash on just the LDO supply.  

    I will set this issue as resolved.  We still have issues with sourcing on Port A, but I will address this in a different thread.

  • Hi David,

    Perfect, sorry for the delays in communication.

    That was actually the issue I was running into, but didn't realize you had both external paths populated. During testing with the EVK, I was able to get the solution working if both sink paths were internal, or if they were both external, but the specific orientation you had that was one of each ran into power cycling issues when switching between sinking from the different ports when sources were added/removed.

    I have not been able to figure out ways to get your original system to work(one internal, one external sink path) but it sounds like you have a way to get it working.

    Thanks and Regards,

    Chris