cancel
Showing results for 
Search instead for 
Did you mean: 

USB PD Part selection : Issues with EN Pin Operation with CubeMX, USB PD stack & TouchGFX

Rajkumar24
Associate III

Hi Pascal,

Any updates on our previous thread?

When testing the same firmware with the EN pin pulled up, we are facing some issues during operation. After about 5–6 operation cycles, the system stops working until the MCU is reset. The issue still persists — could you please suggest what board-level changes might be needed to resolve this?

Additionally, we are facing another issue on the CubeMX side:

  • USB PD works well separately,TouchGFX works fine separately. But in our application, we need both to run together. If I disable TouchGFX, USB PD starts working. However, when I try to enable both TouchGFX and USB PD in the IOC file, CubeMX shows an error saying only one can be used at a time.

Could you please advise how we can resolve this?

 

Thanks & Regards,
Rajkumar


edit: 
related thread Solved: USB PD Part selection - STMicroelectronics Community 

7 REPLIES 7
FBL
ST Employee

Hi @Rajkumar24 

Have you tried updating latest version of TouchGFX 4.25.0 and TCPP package?

About your second point, pulling up enable pin of TCPP3 M20 which supplies I2C interface. Have you tried to control it over GP Output via STM32? Note that TCPP port can change power mode via these I2C commands.

We don't recommand to pull-up EN pin of TCPP03-M20 because this pin is dynamically triggered (because it can select 1.8V or 3.3V). And Vcc rise-up is usally not fast enouth. We do recommand to connect EN pin to a GPIO.

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,
Yes, we are using the latest version of TouchGFX 4.25.0 and the latest TCPP package 4.2. The issue is still present.

Regarding the EN pin of the TCPP03-M20 — in our current design, the EN pin is connected to an STM32 GPIO with an external pull-up. From your suggestion, do you mean that we should remove the external pull-up and instead drive the EN pin directly from the STM32 GPIO configured as an output (without pull-up)?

And, how to configure TCCP power mode at 3.3V using I2C command on TCCP package

Thanks & Regards,
Rajkumar

Hi @Rajkumar24 

About CubeMX issue, I have raised an internal ticket 217300 to dedicated team to fix the issue or clarify a limitation.

About EN pin, I agree, you should remove the external pull up and control it through STM32 GP Out pin.

About how to configure TCPP power mode, you can refer to section 6.3.1 I2C registers
 in the datasheet
 

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 removed the external pull-up on the EN pin and instead control it directly through the STM32 GPIO.

 

However, I am still facing an issue: after about 6–7 continuous plug/unplug cycles in dual-role mode (Source/Sink), the system sometimes gets stuck — either the Source role stops working or the Sink role stops working. Once this happens, the ROLE remains stuck in one mode and only recovers after an MCU reset.

 

Could you please suggest the recommended way to handle this situation?

 

Thanks

Regards

Rajkumar

Hi @Rajkumar24 

It seems a hardware issue linked to your custom HW setup. Would you share minimal firmware to reproduce the issue on our reference board?

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,

We recreated the same setup, and the issue still persists on the development board itself.

We used the NUCLEO-U575ZI-Q board along with the X-NUCLEO-GFX01M2, connected as recommended in this thread: https://community.st.com/t5/stm32-mcus-products/usb-pd-part-selection/td-p/741642/page/2 

Please find the attached .ioc file for your reference.
Kindly check and share your feedback.

Thanks & Regards,
Rajkumar

Hello FBL,

I manually added TCPP03-M20 / UCPD middleware into a TouchGFX project (CubeIDE does not allow enabling both in the same .ioc). The system is in Dual Role (DRP), EN pin is controlled by GPIO.

Problem:

  • On first boot, Source works only if cable is already plugged in.

  • If I unplug and plug back the cable, Source does not work anymore.

  • After ~6–7 plug/unplug cycles, sometimes Source or Sink gets stuck.

  • It only works again after MCU reset/power cycle.

It looks like UCPD works only during initialization, and attach/detach is not handled once the system is running with FreeRTOS + TouchGFX. How can I handle cable plug/unplug events properly in DRP mode?If you could also provide any example code that combines TouchGFX and USB-PD, that would be great and very helpful for us.

Thanks

Regards
Rajkumar S