cancel
Showing results for 
Search instead for 
Did you mean: 

[STUSB4500] Unable to negotiate USB-PD voltage higher than 5V

ViktorStiskala
Associate

Hello, for my project I have decided for negotiating 20V using USB-C PD protocol, to power an external 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. According to the datasheet, the VBUS_EN_SNK pin is an open-drain which I believe could even be left unconnected.

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.

Here is the schematic of the circuit:

0693W000004Jwn0QAC.png 

I've already inspected the board for soldering problems and tried four different pieces. The EVAL-SCS002V1 board is working as expected using the same USB-C power adapter, as well as the SparkFun Power Delivery Board.

This is the content of the NVRAM I tried (apart from the factory defaults):

00 00 b0 aa 00 45 00 00 
10 40 9c 1c ff 01 3c df 
02 40 0f 00 32 00 fc f1 
00 19 57 ff f7 bf ff 00 
00 4b 90 21 43 00 48 fb

Is there any other purpose for the original PMOS, other than switching on and off the external device? Or any ideas on what could be wrong?

Thanks

1 ACCEPTED SOLUTION

Accepted Solutions

We are also looking for a USB PD functionality offered by a non L part. The part that we are using is STUSB4500QTR. However when i read the DEVICE_ID register i get 0X25. Does it mean that chip we are using is the L version? Any other means of confirming this?

View solution in original post

5 REPLIES 5
Gregory Go.
Senior II

Hello,

Be careful that there are 2 versions of the chip:

  • STUSB4500L : USB-C controller, 5V only (Light version)
  • STUSB4500 : USB PD controller, up to 20V (Full version)

From your schematic, we can see it contains the STUSB4500LQTR. 

And the EVAL-SCS002V1 eval board that you mentionned, is also for STUSB4500L.

So the L version only support 5V. That's why you cannot negociate 20V.

If you want to negotiate on CC line a Voltage higher than 5V (on VBUS), please use the STUSB4500 (non-L version)

https://www.st.com/content/st_com/en/products/interfaces-and-transceivers/usb/usb-type-c-and-power-delivery-controllers/stusb4500.html

Regards

ViktorStiskala
Associate

Hi, thanks a lot for the answer. You're right, I got the wrong chip, but I was reading the correct STUSB4500 datasheet all the time. Unfortunately they're almost indistinguishable from each other, even all the I2C commands goes through.

Gregory Go.
Senior II

To avoid using the wrong device, it is not useful to read first (through I2C) the DEVICE_ID register (located at address @0x2F) because it is similar.

For STUSB4500: DEVICE_ID == 0x21 or 0x25

For STUSB4500L: DEVICE_ID == 0x25

It is better to read the marking on the package.

We are also looking for a USB PD functionality offered by a non L part. The part that we are using is STUSB4500QTR. However when i read the DEVICE_ID register i get 0X25. Does it mean that chip we are using is the L version? Any other means of confirming this?

Gregory Go.
Senior II

There are 2 versions of STUSB4500.

STUSB4500QTR$YAC:  DEVICE_ID = 0x21

STUSB4500QTR$YBC:  DEVICE_ID = 0x25

The latest version has the DEVICE_ID = 0x25

Be careful that STUSB4500 and STUSB4500L have the same DEVICE_ID = 0x25