Skip to main content
Graduate
June 30, 2020
Solved

X-CUBE-USB-PD problem, Unexpected HardReset transmission

  • June 30, 2020
  • 1 reply
  • 1661 views

I am developing an X-CUBE-USB-PD system that works with the STM32G070CB and FUSB307B.

It is based on an example project for the FUSB307BGEVB, which behaves as a DRP.

The library I'm using for it is M0_PD3_FULL.

It works fine in most cases, but there is one problem.

When acting as a sink, PE will send a HardReset about 450ms after Explicit Contract.

What could be the reason for the state transition from PE_STATE_READY_WAIT to PE_STATE_HARD_RESET?0693W000001roI0QAI.png

    This topic has been closed for replies.
    Best answer by Yohann M.

    Hi

    Now, I understand your setup. Could you check if you have correctly enabled CRC block on G0 side? If no, please enable it.

    Regards,

    Yohann

    1 reply

    ST Employee
    June 30, 2020

    Dear @Y.Nomura​ 

    Why did you work with FUB307 + STM32G070CB? You can choose another STM32G0 like STM32G071CB.

    For your information, this STM32 has 2 integrated UCPD port. You don't need to add an external component to do USB-PD.

    You can have a look at the FW package delivered for G0:

    https://github.com/STMicroelectronics/STM32CubeG0/tree/master/Projects/STM32G081B-EVAL/Applications/USB-PD

    Important is to select the library 'USBPDCORE_PD3_FULL_CM0PLUS_wc32.a' (in opposite to USBPDTCPM use for external TCPC component (mainly used with STM32 without integrated UCPD IP.

    You will have further details on the following link:

    https://www.st.com/en/applications/connectivity/usb-type-c-and-power-delivery.html

    and the associated wiki page:

    https://wiki.st.com/stm32mcu/wiki/USB_Power_Delivery_overview

    Regards,

    Yohann

    Y.NomuraAuthor
    Graduate
    July 1, 2020

    Hi Yohann.

    i already tried the STM32G071CB as well. But I eventually found the G070 and FUSB307B combination to be cheaper. I noticed that the number of components is also small.

    The FUSB307B has two Vconn switches and an LDO built in. However, the G071 does not have those features. So, if you try to externalize them, the number of components will be higher than when using FUSB307B. and higher costs.

    best regards

    Yohann M.Answer
    ST Employee
    July 1, 2020

    Hi

    Now, I understand your setup. Could you check if you have correctly enabled CRC block on G0 side? If no, please enable it.

    Regards,

    Yohann