4
\$\begingroup\$

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!

\$\endgroup\$
3
  • \$\begingroup\$ It might be a good idea to get one of those mentioned boards so you could directly compare, especially using the same supply/host... \$\endgroup\$ Commented Oct 14, 2020 at 13:55
  • \$\begingroup\$ I've tried the Sparkfun board and it's working as expected, with the same supply adapter. I even read the NVRAM contents of the board and copied the same to my controller with no luck. The I2C communication is working properly, but I don't know how to debug the power delivery negotiation. \$\endgroup\$ Commented Oct 14, 2020 at 14:02
  • \$\begingroup\$ there are readymade modules available ... google usb c trigger module ...duckduckgo.com/… \$\endgroup\$
    – jsotola
    Commented Oct 15, 2020 at 0:17

1 Answer 1

3
\$\begingroup\$

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

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.