2020-07-29 02:34 AM
Hi,
I am making a USB power hub which support USB C Power delivery.
There is a upstream USB C which support Sink and Source role:
I have already made the prototype for this.
The SNK is working fine. If there is no DC power plug as input, the hub is in SNK mode. It is able to ask for 20V (MAX) from the PD power source.
However, if there is a DC input power which is 20V (MAX), the Source mode does not work. I checked the STUSB4700 power pin. It has 5V in VDD and the internal 2.7V LDO and 1.2V LDO is working fine which I can measure it (while there is no power on the STUSB4500). If I check the CC pins voltage, I can see they are 1.5V and 0.8V. One of the CC pin, with the 0.8V, I also see the square wave on it in about 200kHz
This seems to be preamble but there is no response to it.
I am wondering if the problem might be the CC pin is connecting to the Rd and Rp at the same time(see the hand drawing diagram). As the STUSB4500 and STUSB4700 have internal resistor for CC pins, is it possible that this will mess up the PD negotiation even though it is impossible that the both ICs are powered at the same time?
Thank you for you help
2020-08-26 11:25 AM
Hello,
Indeed there is a wrong implementation in your schematic.
You cannot have a pull-up and pull-down resistor at the same time, on the same side of the USB-C connector. The voltage level on the CC line will be wrong.
If you want to implement the USB-C interface which support both Sink and Source role, you need a DRP controller (Dual Role Power port), which will present either the Rp or Rd resistor accordingly (but never both resistors at the same time).
The STUSB1602+STM32F0, and the STM32G0 supports DRP mode.
Regards