cancel
Showing results for 
Search instead for 
Did you mean: 

STUSB4500 PD Controller -- unable to sink 20V/12V

Leo Tai
Associate II

Hi,

I am working on a USB PD project. STUSB4500 is used to request the 20V/12V 3A from the source. I flashed the NVM inside of the IC. The writing on the NVM seems to be successful as I can read it back and verifiy it. After reconnecting it, I can read the PDOs differently and have the desired voltage and current configuration. However, when I plug it to the PD source, only 5V is drawn. I checked the:

CC_STATUS = 0x1C

PORT_STATUS_1 = 0x41

According to the datasheet, the USB is connected and drawing power

PE_FSM = 0x00

But the PE_FSM shows that the IC is still in PE_INIT state. Is it showing that the IC is not able to boot? Anything I could do to fix it?

Thank you very much

1 ACCEPTED SOLUTION

Accepted Solutions
Gregory Go.
Senior II

STUSB4500L part number is a different device than STUSB4500.

The STUSB4500L is a USB-C only controller, it doesn't support USB Power delivery. So it is limited to 5V/3A maximum.

Whereas STUSB4500 support fully USB Power delivery, up to 20V/5A.

Thus if you use STUSB4500L, you can only get 5V on VBUS.

If you want a voltage higher than 5V, you must use the STUSB4500 (without L).

Regards

View solution in original post

8 REPLIES 8
Gregory Go.
Senior II

Hello,

To be able to Get a voltage higher than 5V, you need to use a Power Source which support USB Power delivery (>15W).

For instance, to get 20V, you need to buy a 60W power supply (20V @3A).

The standard Power profiles for USB Power delivery are 5V, 9V, 15V, 20V (as long as the power supply can support then).

The 12V profile is not standard. So the power Supply you use may not be able to provide 12V.

- Which USB-C PD power supply do you use for your test ? 

- Do you know its power profiles (it should be written on the product) ?

To be able to further analyze why the STUSB4500 doesn't negociate a voltage higher than 5V, we recommand:

- Use the STUSB4500 GUI (STSW-STUSB002) to check the status of the IC.

To use the GUI, you would need a NUCLEO-F072RB board:

https://community.st.com/s/contentdocument/0690X000006BvKaQAK

- Or to analyze the USB PD communication, you can use the following USB PD sniffer:

STM32G071B-DISCO

https://www.st.com/en/evaluation-tools/stm32g071b-disco.html

Regards.

Leo Tai
Associate II

0690X00000Bw7NhQAJ.jpg

Hi,

The above photo is the PD power bank I am using for testing. It support 9V/2A, 12V/1.5A. I tried to configure it to have 20V/1.5A, 12V/1.5A. The 12V/1.5A should be a valid PDO.

For the GUI, the GUI keep saying it can't find nucleo board. I am using a stm32f072RB nucleo with I2C connected to my STUSB4500 board designed by myself. I tried to follow the previous post about this issue but it does not fix the issue. Therefore, I can only program the chip by my own program.

Gregory Go.
Senior II

Hi,

Indeed the 12V profile should work with this power source.

But this power source cannot provide the 20V profile.

It seems that maybe the STUSB4500 is not properly configured. 

The easiest way to flash the NVM properly is to use the STUSB4500 GUI.

Please try the latest version of the GUI here:

https://community.st.com/s/contentdocument/0690X00000AADwyQAH

Before using the Nucleo board, make sure to flash it first with the latest firmware file: NUCLEO-F072RB_K2k_1.05.bin

If the GUI continue saying it can't find nucleo board, then try to use the diagnostic tool "HwCheckUtility.exe" (which is available in the zip file) to understand what is the issue coming from.

Regards

0690X00000BwAblQAF.png

Hi, I used the new version of the GUI. It still cannot find the board. I used the HwCheckUtility.exe. The output log is capture in the above picture. Does it mean that there is a problem?

Leo Tai
Associate II

Hi, I just realized that I just bought the wrong part number. The one I am using is "STUSB4500L". I just confused STUSB4500 with STUSB4500L. According to the datasheet, only STUSB4500 has PD feature while the STUSB4500L cannot is that true?

Hello,

The output of HwCheckUtility.exe shows that it cannot detect the Nucleo-Board. So there is indeed an issue.

Even if the I2C chip is not connected, the utility should at least detect the Nucleo-Board.

So it means the firmware is not flashed properly into the STM32 Nucleo-Board.

When the firmware is running properly, the green LED (LD2) must be blinking.

Here is an example of what you should get when the Nucleo board is detected:

0690X00000BwFPpQAN.png

Gregory Go.
Senior II

STUSB4500L part number is a different device than STUSB4500.

The STUSB4500L is a USB-C only controller, it doesn't support USB Power delivery. So it is limited to 5V/3A maximum.

Whereas STUSB4500 support fully USB Power delivery, up to 20V/5A.

Thus if you use STUSB4500L, you can only get 5V on VBUS.

If you want a voltage higher than 5V, you must use the STUSB4500 (without L).

Regards

Leo Tai
Associate II

Thank you very much. I didn't realize that there is another chipset with an "L" at the end. I will replace the chip and try again later.