Skip to main content
Visitor II
February 10, 2021
Question

Looking for closest software example for implementing Dual Role Power UFP port. According to specification, such port should identify as power sink during initialization, and (in our application) after initialization perform a power role swap comman

  • February 10, 2021
  • 5 replies
  • 1966 views

Question 1: are there any benefits to using standalone PD controller like STSUB1600 over integrated solution STM32G0x1

Question 2: are there code examples that are reasonably close to the DRP functionality ? In all the X-CUBE-USB-PD examples I've seen it's very hard to follow the logic through all the boilerplate code, and not clear when is required to simply initialize the port.

    This topic has been closed for replies.

    5 replies

    ST Employee
    February 10, 2021

    Hello

    DRP can connect as source or sink, depending on its counterpart.

    It seems that your application needs is what is called 'sourcing device': power role is source while data role is UFP.

    Depending on connection power role, application needs to do power or data role swap.

    In our stusb1602 software package, we are proposing such project.

    Hope it will fit your needs :)

    Best regards

    Nathalie

    ST Employee
    February 17, 2021

    Hello,

    you can also have a look at this wiki page.

    Such power role swap application is available on STM32G0 and STM32G4 Evaluation boards.

    The simplest software example will be available soon (end Q2) on a TCPP03 shield (for DRP), the equivalent of the already available TCPP01 shield (for Sink).

    VZ.1Author
    Visitor II
    February 17, 2021

    Thanks for the information. So I'll try to summarize what I learned - would appreciate corrections for any mistakes :

    • The "sourcing device" functionality sample code is available for STM32F072 CPU and STUSB1602 PD controller (can't be used as direct reference design though due to availability issues with F072 ...)
    • STM32G0 CPU can be used without PD controller. However, TCPP01 (X-NUCLEO-USBPDM1) shield does not allow prototyping SOURCE devices due to the configuration of VBUS gating. And both example code and DRP prototyping shield will be available in ~4 months.
    •  

    So since waiting 4 months is not really an option for us, the practical approach would seem to be using the USB reference design and code from the Nucleo-usb002 , and then trying to port the example to a processor with better availability (probably from G0x1 line) Does that make sense? Would example code be easily portable to different CPU?

    ST Employee
    February 18, 2021

    Hello

    STUSB1602 has currently FW package with stm32F072 - stm32F446 and stm32G474: available on web

    We will have soon STM32L4R5 and stm32H723 (not available yet on web but available on demand)

    If you have an other preferred stm32 we can have help you for the porting.

    Best regards

    Nathalie

    VZ.1Author
    Visitor II
    March 26, 2021

    Another quick question regarding USB002 (MB1303) board: which firmware and compilation switches are loaded there out of the box?

    Is that _DRP_2PORTS project?

    This is the output I am getting :

    >p 0
    DRP role Unplugged 
    Local Source PDOs: 
    1) 5.00V 1.50A 
    2) 9.00V 2.00A 
    3) 12.00V 2.00A 
    4) 20.00V 2.00A 
    Local Sink PDOs: 
    1) 5.00V 3.00A 
    > 

    and yet GPIO_FOR_SRC seems to be disabled by default - so why am I seeing PDOS for 9/12/20v ?

    ST Employee
    July 10, 2021

    Hello,

    Regarding TCPP03-M20, the datasheet is now available on ST.COM.

     https://www.st.com/resource/en/datasheet/tcpp03-m20.pdf

    This device is tailored for high voltage controls and protections of Dual Role Power, Dual Role Data applications when used with a STM32 controller with built-in USB-C controller such as STM32G0, STM32G4, STM32L5 or STM32U5.

    Among other features, TCPP03-M20 integrates the charge pumps for the two integrated Gate Drivers (provider and consumer path), as well as discharge path for VBUS and VCONN. One key benefit is the power consumption during toggling that can be lowered thanks to the low power mode.

    Its associated NUCLEO expansion board is the X-NUCLEO-DRP1M1 with example code for Dual Role Power available by Sept'21 in the X-CUBE-TCPP library.

    Best regards,

    Mohamed