cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H743 not working with USB3300 at High Speed mode

sin1111yi
Associate II

sin1111yi_0-1770315964484.png

sin1111yi_1-1770315990297.png

I am using STM32H743VIT6 with USB3300 to develop a HS USB Device.

But the program is always trapped in USB_CoreReset() at

  do
  {
    count++;

    if (count > HAL_USB_TIMEOUT)
    {
      return HAL_TIMEOUT;
    }
  } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_CSRST) == USB_OTG_GRSTCTL_CSRST);
 
I am using a VCP example generated by CubeMX for testing without any other code.
sin1111yi_2-1770316247357.png

 

 

environment

sin1111yi_3-1770316309607.pngsin1111yi_4-1770316327644.png

 

4 REPLIES 4
Gyessine
ST Employee

Hello @sin1111yi  and welcome to STcommunity!
First, you mentioned STM32H743 in the thread title, but the pinout view shows STM32H750. Can you clarify which STM32H7 device you are using?
Can you verify that the ULPI pins output speed are configured to very high speed in your .ioc file?
BR
Gyessine

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.

FBL
ST Employee

Hi @sin1111yi 

The behavior you see (code stuck in USB_CoreReset() waiting for USB_OTG_GRSTCTL_CSRST  to clear) is a typical symptom that the USB core is not correctly initialized, often due to a hardware or clock configuration issue. Check this FAQ: Troubleshooting a USB core soft reset stuck. I'd suggest checking your configuration including clock source and PLL settings, ULPI data lines, clock, STP and DIR  pin assignments (and should be configured very high speed).

Also, you should refer to the USB HS Device + ULPI exampleprovided in the STM32CubeH7 package  and schematics.

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.




Best regards,
FBL

sin1111yi_0-1770382626925.pngsin1111yi_1-1770382647706.png

Thanks for your relay!

I have already checked my configurations and then corrected device selection, set all USB GPIOs speed to very high speed and set CRS SYNC source to USB HS. But the problem is still existed.

I tried to use USB3320 like STM32H7xxI-Eva before, which have the same problem.

sin1111yi_0-1770384536211.png

My USB HS related code is all generated by STM32CubeMX and nothing changed, just like the USB HS Device + ULPI examples.

sin1111yi_1-1770384670032.png

Here's my clock configuration, generated by STM32CubeMX.

sin1111yi_2-1770384929271.png

 

Thanks for your reply!

I updated my problem discription, please take a look.