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.

TPS65987D: Changing the source PDO while charging

Part Number: TPS65987D

Hello all,

I have a system in which there is a USB A and USB C port. USB C port is PD only (DFP). I am using TPS65987D to control the USB C part. USB A section is controlled by diffrent circuits. 

When there is nothing plugged to USB A port, USB C port can be a 60W (5/9/15/20V@3A). But when something is plugged to USB A, the USB C power should drop to 45W max. In other words, all the 5/9/15V remain at 3A but 20V changes to 2.25A. 

Also while the USB C port is providing 60W, and there is a USB A port plugged, the 60W should drop to 45W while charging.

Questions 1:

When 20V is providing 3A on USB C port, and somebody plugs into USB A port, the current on USB C should go to 2.25A.In doing this will the communication lost and everything will be re-negotiated?

Question 2: on how to program this in GUI. Like example:

  1. Under the "Transmit Source Capabilities" do I use "Bank 0" with one set of PDOs and "Bank 1" with other set of PDOs.
  2. And use any of the GPIOs to change the bank0 to bank 1?

Thanks in advance.

Raj Trivedi

  • Hi Raj,

    1. One a contract is negotiated, if you need a different power level negotiated from the one already, you can only renegotiate the power and need not re enter any alternate mode.
    2. Yes, you can have two sets of Source PDOs (Bank 0 and Bank1). You would need the EC to update the Transmit Source Capabilities register.

    You can try to update the TX Source capabilities register from Bank 0 to Bank 1 and send a 4CC command, 'SSrC'. This will cause the PD controller to send the new source capabilities and as per specification, the connected device would pick a suitable PDO again. 

    -Kedar

  • HI Kedar,

    Appreciate your prompt response.

    I understand your point 1. To add more to that, let's say intially the sink device has negotiated a 20V/3A PDO. Due to interrupt thru a GPIO, I will now have a new set of PDOs in which, it becomes 20V/2.25A. So now the voltage on USB C connector will go back to 5V and then come to 20V, as per USB C spec. Or will it stay at 20V and then drop just the current to 2.25A. 

    For point 2, I would like to know more about the "4CC" or "SSrC" command. How to use them? And how to program any GPIO such that it changes, from Bank 0 to Bank 1.

    Thanks again! 

  • Hi Raj,

    For your first question, The renegotiation would happen with the previously established contract voltage. But the request may cause a change in the voltage as per PD specification.

    For your second question, please refer to the Host Interface Technical Reference Manual. A 4CC command is basically 4 Ascii characters that the PD controller has a specific function assigned. 'SSrC' command simply re advertises the source capabilities. The next sequence is triggered as per specification.

    -Kedar 

  • Hello Kedar,

    I read the "Host Interface Manual" it helped me understand the "SSrC" command.

    I also read the "GPIO Events" docuement "SLVAE11A". In that document, in section 3.2 is exactly what we want to achieve. When GPIO goes high and low change the SSrC. 

    I now have a question on "App Configuration Register (0x6c). I want to display different sets of PDOs. I would like to know how is Group1, group 2 and group3 prioritize. Lets say I have GPIO4 which is set for "Load App Config 1 Event" and when it transition from high to low it will load Virtual Address 3 and 2 and vice-versa. I have adjusted the "Transmit Source Capabilities" in these Virtual address for different PDOs.

    After this I want another set of PDOs on "App Config Group 2 Settings. Lets say I have Virtual address 6 and 7 which have diffrent set of PDOs and are following the GPIO5 high and low transitions. So will this be a issue? As now I am changing GPIO4 and GPIO5.

    If you want I can upload the pjt file for you to take a look. 

    Thanks again,

    Raj Trivedi

  • Hi Raj,

    I will be able to take a look at this sometime next week. Is that OK?

    -Kedar

  • Testing Different Set of PDO using Virtual Devices.pjt

    Hello Kedar,

    No worries you can get back next week. Meanwhile here is the test pjt file for your reference.

    If you have any questions let me know.

    Thanks,

    Raj Trivedi

  • Raj, Please note that TI is closed April 15th. Please expect some delays in response.

  • Hi Raj,

    The Project file seems to have been created with a different version of GUI. for TPS65987D, we usually recommend 6.1.2 which is available on ti.com for TPS65987D

    I found your configuration to be correct.

    -Kedar