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.

USB-C-PD-TKT-EVM: TPS65987d attempting to charge device while USB OTG

Part Number: USB-C-PD-TKT-EVM
Other Parts Discussed in Thread: TPS65987D

Hello,  I have tried many development kits over the weeks with no luck.  This TPS65987D seems like it can handle my request, as it is USB PD 3.0.  I am looking to connect a microcontroller directly from USB2.0 to USBC on a android phone.  The phone will be CHARGED from the TPS65987D while communicating over D+/D- connection to microcontroller.  This normally is recognized as a CDC serial device.  

On the evaluation kit, I have D+/D- wired to a micro USB port (I removed the R8 100ohm between D+./D-).  I connect GND and then 5V to the VarDC line on the L2  node.  It DOES charge the device, which is great, and it briefly recognizes the USB device on insertion, then drops it and only charges the phone.

  If I turn off the 5V rail with a switch (so only Data and GND connected to the USBC) then I can do data communication, so I know it's wired correctly for comms.

I tried with CC2 R66 shorted and also removed.  when shorted, it will neither charge or communicate, as if CC2 if run to the TPS6587D stops those functions.

Can this chip even do what I am requesting?

  • Hi,

    Yes, this chip can implement what you are looking for. 

    I'm going through your description, will get back to you soon. 

    Thanks
    Prajith 

  • Note, I also have TPS65987EVM.  So I can try two different evaluation kits if needed.  I connected this kit to a micro USB cable to communicate with microcontroller via OTG using D+/D-/GND.  The 5V I tied to Jumper 4 or 5 via a 2 pin jumper so I can move the supply around, trying to charge/power with only 5V from the micro battery.

  • Hi,

     If I turn off the 5V rail with a switch (so only Data and GND connected to the USBC) then I can do data communication, so I know it's wired correctly for comms.

    >>> I suspect that the phone is not capable of supporting USB data while its getting charged. DP/DM from the TypeC receptacle/plug goes directly to the USB host/device ( CDC controller in your case ), TPS65987D do not control USB2 data path. You can refer expansion board schematic - http://www.ti.com/lit/ug/slvuar1/slvuar1.pdf

    Do you see SOF packets coming from the phone once TPS65987D starts to drive Vbus? Do you have USB2 protocol trace for the failure? 

    Thanks
    Prajith 

  • I was able to get this to work with the TPS65987EVM.   I attached the microcontroller D+/D-/Gnd and the 5V from controller to VA R_DCDC.   I had to use the Application customization tool to make it work.

    See my settings below.  My current questions are what is the bare minimum circuit to make it work? (I can probably figure that out)

    And, are any of these settings incorrect for my use?

    and can I compile this to a BIN file that is loaded at our factory, or do I need to send I2C commands each time I initialize?

  • Hi,

    I was able to get this to work with the TPS65987EVM.   I attached the microcontroller D+/D-/Gnd and the 5V from controller to VA R_DCDC.   I had to use the Application customization tool to make it work.

    >>> I could test this requirement successfully with a TPS65987EVM, Expansion board and mouse, using default template. 

    >>> Please share why it did not work for you. It would be useful for other members. 

    See my settings below.  My current questions are what is the bare minimum circuit to make it work? (I can probably figure that out)

    >>> Power MCU from the system supply and connect DP/DM of the controller to Type C receptacle/Plug. 

    And, are any of these settings incorrect for my use?

    >>> Configuration looks good to me. I hope this is a source only device. 

    and can I compile this to a BIN file that is loaded at our factory, or do I need to send I2C commands each time I initialize?

    >>> There are two options;

    1. Compile this configuration and store it in external SPI flash. PD controller will load it during boot process.

    2. External Embedded controller (I2C Master) can load this configuration to PD controller during boot. 

    Thanks

    Prajith