cancel
Showing results for 
Search instead for 
Did you mean: 

Problem on STM32G4 when using USB PD with dead battery functionality

GuentherJena
Associate II

Hello everyone,

I use a STM32G473VEH (TFBGA-100 package) and use it as USB PD sink:

  • The device is bus powered
  • CC1 and DBCC1 are connected (same for CC2 and DBCC2) to provide dead battery functionality (provide 5.1 kOhm pull down on CC)
  • USB C connector pins are directly connected to CC1/DBCC1 and CC2/DBCC2 (no special protection ic is used)

When connecting the USB PD supply the CCx line is pulled down and after it is stable for 100ms - 125ms (depending on the power supply) the 5V are provided. When microcontroller is running, the UCPD is requesting 20V and this usually works.

Here is a osci screenshot of a working negotiation (C3 is the Vbus voltage, C2 is the CC line voltage):

SDS2504X_Plus_PNG_39.png

 

BUT sometimes the negotation fails in the early stage. The USB PD source will not provide 5V.

SDS2504X_Plus_PNG_40.png

According to the standard the CC line must be stable for > 100ms. Right after connection the voltage falls from 3.3V to 1.65V (due to the Rp/Rd resistors). Then there is a further drop after ~60ms which will appear periodically every ~100ms. Sometimes after 10s or longer the drop is missing and the charger will provide 5V. What could be the problem?

More things I've tested:

  • I could not reproduce it on a NUCLEO-G474RE (other type/package, hooked up USB C connector via breakout board). I also see one drop, but after that CC is stable and the source is providing 5V
  • It seems that one connector side works better than the other (flipping the connector 180°)
  • Using external 5.1kOhm resistors for pull downs on cut the CCx/DBCCx connection works fine on the eval board (no voltage drop)

Has anyone seen this behavior? What could be the problem? Why is the microcontroller periodically "droping the voltage" (basically it uses a lower resistance or draws an additional current)?

1 ACCEPTED SOLUTION

Accepted Solutions

Hi @GuentherJena 

Since, you couldn't reproduce using NUCLEO-G474RE+ X-NUCLEO-SNK1M1 I assume the issue is more likely linked to your hardware setup. Also, you are not using TCPP port protection. 

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.


View solution in original post

4 REPLIES 4
FBL
ST Employee

Hi @GuentherJena 

Would you share schematics? you can refer to schematics for SINK application provided here as reference.

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.


GuentherJena
Associate II

I can't provide the complete schematic, but here is the relevant part. The pins CC1/CC2 are directly connected to the STM32G4. A ESD protection (Nexperia PESD4USB5BTBR-QX) is used. I unsoldered the ESD protection, but this does not make any difference.


2025-08-06_14-33.png

Hi @GuentherJena 

Since, you couldn't reproduce using NUCLEO-G474RE+ X-NUCLEO-SNK1M1 I assume the issue is more likely linked to your hardware setup. Also, you are not using TCPP port protection. 

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.


GuentherJena
Associate II

Hi @FBL,

I also guess it is somehow related to my hardware. I can't provide enough space for an (additional) TCPP port protection, but have ESD protection and VBUS protection on the board. The sudden drop on the CC drop is suspicious and I do see it on the nucelo board too.

As my application is sink only, I will provide the 5.1kOhm resistors directly and don't use the dead battery pins. I'll accept your answer as solution even if it did not found the root cause of the behavior. Maybe someone else is seeing the same thing and can provide insights in the future.

 

Thank you for your help @FBL !