cancel
Showing results for 
Search instead for 
Did you mean: 

Problem on STM32G4 when using USB PD with dead battery functionality

GuentherJena
Visitor

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)?

0 REPLIES 0