Skip to main content
ViktorStiskala
Associate
October 15, 2020
Solved

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

  • October 15, 2020
  • 4 replies
  • 2404 views

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

This topic has been closed for replies.
Best answer by ARadh.1

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?

4 replies

Gregory Go.
Senior III
October 16, 2020

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
October 16, 2020

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 III
October 17, 2020

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.

ARadh.1
ARadh.1Best answer
Associate
February 9, 2021

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 III
April 1, 2021

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