Electronic – STUSB4500: Unable to negotiate USB-C PD voltage higher than 5V

mosfetusbusb-cusb-pd

for my project, I have decided to use STUSB4500 for negotiating 20V for powering external remotely controlled LED lighting.

My circuit design comes from the minimum implementation in the datasheet, but I've decided to get rid of the p-Mosfet as I don't need on/off switch on the sink. I believe that the negotiation is happening on the CC lines, so hopefully, this decision shouldn't interfere.

A very similar circuit is used in the fpx module, as well as in the SparkFun Power Delivery Board. Both of them have the p-Mosfets included, however.

Here is the relevant part of my schematic:
Schematic

The whole schematic is available here, if needed.

I am unable to negotiate any voltage above 5V. I've tried to use both factory settings of the chip and also programming the NVM contents by myself.

The SparkFun board is working as expected with the same USB adapter. The schematic looks pretty similar apart from the mentioned p-MOSFET:
Sparkfun schematic

According to the datasheet, the VBUS_EN_SNK pin is an open-drain which I believe could even be left unconnected.

The NVRAM content I tried is the following (default configuration in the Sparkfun library):

uint8_t sector[5][8] = 
{
  {0x00,0x00,0xB0,0xAA,0x00,0x45,0x00,0x00},
  {0x10,0x40,0x9C,0x1C,0xFF,0x01,0x3C,0xDF},
  {0x02,0x40,0x0F,0x00,0x32,0x00,0xFC,0xF1},
  {0x00,0x19,0x56,0xAF,0xF5,0x35,0x5F,0x00},
  {0x00,0x4B,0x90,0x21,0x43,0x00,0x40,0xFB}
};

As a guide for understanding the NVRAM content, the relevant parts of the SparkFun library could be used.

I've already inspected the board for soldering problems and tried four different pieces. Any ideas on what could be wrong or how to debug power delivery communication?

Is there any other purpose for the original MOSFET, other than switching on and off the external device?

Thanks!

Best Answer

After three days of tinkering, I found out that ST is offering two products with a very similar name. I've accidentally purchased STUSB4500LQTR instead of STUSB4500QTR, which does not support USB PD, and has the voltage fixed to 5V.

Unfortunately, apart from the name, also the pinout and I2C programming interface are similar. It allows you to set the voltage and current programmatically, retains the values in NVRAM, but never uses these values or does the negotiation.

ST USB Type-C and Power Delivery Controllers: ST USB Type-C and Power Delivery Controllers

Related Topic