cancel
Showing results for 
Search instead for 
Did you mean: 

Nucleo-DRP1M1 with Nucleo-G0B1RE

PKrem.1
Associate II

Im currently facing issues with DRP1M1 and the Nucleo-G0B1RE in source configuration.

I followed the instructions in the wiki however it seems that no actual communication is happening between the USB PD Devices this is the log i get from the cube monitor:

CAD 294121 0 USBPD_CAD_STATE_DETACH_SRC 0
EVENT 294121 0 EVENT_DETACHED 1
DEBUG 294122 0 VBUS OFF 2
DEBUG 294122 0 -- BSP_USBPD_PWR_VBUSOff -- 3
DEBUG 294154 0 ADVICE: USBPD_DPM_Notification:105 4
NOTIF 294154 0 USBSTACK_STOP 5
DEBUG 294154 0 ADVICE: USBPD_DPM_Notification:105 6
DEBUG 294154 0 -- BSP_USBPD_PWR_VBUSDeInit -- 7
DEBUG 294154 0 -- GDP/GDC setting : default -- 8
DEBUG 294154 0 -- BSP_USBPD_PWR_SetPowerMode -- 9
DEBUG 294154 0 -- Low Power -- 10
DEBUG 294154 0 -- BSP_USBPD_PWR_SetRole : SRC -- 11
CAD 294155 0 USBPD_CAD_STATE_DETACHED 12
CAD 294155 0 USBPD_CAD_STATE_EMC 13
DEBUG 299807 0 -- BSP_USBPD_PWR_VBUSInit -- 14
DEBUG 299807 0 -- BSP_USBPD_PWR_SetPowerMode -- 15
DEBUG 299807 0 -- Normal -- 16
CAD 299807 0 USBPD_CAD_STATE_ATTACHED_WAIT 17
CAD 299923 0 USBPD_CAD_STATE_ATTEMC 18
NOTIF 299923 0 USBSTACK_START 19
DEBUG 299923 0 ADVICE: USBPD_DPM_Notification:104 20
EVENT 299923 0 EVENT_ATTEMC 21
DEBUG 299923 0 VBUS ON 22
DEBUG 299923 0 -- BSP_USBPD_PWR_VBUSOn -- 23
DEBUG 299927 0 -- GDP/GDC setting : SRC -- 24
DEBUG 299927 0 ADVICE: USBPD_DPM_Notification:104 25
PE 299927 0 PE_SRC_STARTUP 26
NOTIF 299927 0 POWER_STATE_CHANGE 27
DEBUG 299927 0 ADVICE: USBPD_DPM_Notification:90 28
PE 299927 0 PE_SRC_SEND_CAPABILITIES 29
OUT 299929 0 SOP PD3 s:006 H:0x11A1 (id:0, DR:DFP, PR:SRC) SRC_CAPABILITIES DATA: 0A900100
Option:
[1] Fixed : 5V - 0.1A
30
OUT 299931 0 SOP PD3 s:006 H:0x11A1 (id:0, DR:DFP, PR:SRC) SRC_CAPABILITIES DATA: 0A900100
Option:
[1] Fixed : 5V - 0.1A
31
OUT 299932 0 SOP PD3 s:006 H:0x11A1 (id:0, DR:DFP, PR:SRC) SRC_CAPABILITIES DATA: 0A900100
Option:
[1] Fixed : 5V - 0.1A
32
PE 299934 0 PE_SRC_DISCOVERY 33

To me it looks like the source is detecting the sink but the sink is not able to repsond so the source times out and sends the capabilities multiple times. The cable i use is a marked cable and works fine with an USB-PD charger.

I tried debugging the issue for two days now but didnt find a solution. Simply using unmarked cables wouldn't work because our product must support a wide range of cables and adapters, so i didn't buy an unmarked cable for testing.

 

There was also an issue with the ADC and it stopped updateing when disconnecting the sink and reconnecting it again, since it tried to initialize the ADC even if it was still running.

2 REPLIES 2
FBL
ST Employee

Hi @PKrem.1 

Would you please provide minimum software or attach your project. Otherwise, any supplementary information to help you dig deeper. 

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.


HI @FBL 

I've attched the zip file with the project. Note that i've switched from the board file for the DRP1M1 to the custom implementation with the same pinlayout so i have more control over the peripherals. However the trace was the same with the board support package.

In the function:

BSP_USBPD_PWR_VBUSInit i've also addet the initialized flag so that the peripheral is only initialized once.
 
My Hardwaresetup is the Nucleo-G0B1RE with the DRP1M1 board on top. A 5V 4A Labpowersupply is hooked up to the Source screw terminal.
As USB PD Sink ive testet a smartphone and a USBPD sink board from Amazon, both show the same result. I've testet with two seperate USB-C cables and both cables where marked cables.
 
The USBPD Monitor shows as contract Default 5V but the Vbus and Ibus are shown as 0V or 0A and the measurement trace stays complete empty when starting it. The 0A are expectet because the ADC is not configured to sense the current, however i've validated that it measures 5V when VBUS is switched on.
In the example setup from the wiki it always measured about 0V.
 
I also need the ADC for different purposes so i must have some control over starting and stopping of the ADC.