Skip to main content
its
Associate III
December 26, 2012
Question

STM32F4discovery high speed USB

  • December 26, 2012
  • 16 replies
  • 3334 views
Posted on December 26, 2012 at 05:46

hi

    how can I get high speed USB interface to host a device on STM32F4discovery?

    would i have to remove component from the kit OR just add additional PHY?

#high-speed-usb #usb-otg #cpen #otg_hs #highspeed #metoo-not-quite #host_ctrl_xfer #vbus
This topic has been closed for replies.

16 replies

Tesla DeLorean
Guru
December 26, 2012
Posted on December 26, 2012 at 16:14

You'd need to add an external PHY, and address any pin conflicts.

Maybe look for some boards with the PHY already mounted.

http://www.wvshare.com/column/STM32_DevelopmentBoard.htm#Open407I-C

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
its
itsAuthor
Associate III
December 27, 2012
Posted on December 27, 2012 at 05:34

Ok.

  in software as far as i came to know

do i have to just change USB_OTG_FS_CORE_ID with USB_OTG_HS_CORE_ID in USBH_init(.....)   ?

Or have to do something else too?
Tesla DeLorean
Guru
December 27, 2012
Posted on December 27, 2012 at 20:30

The STM3240G-EVAL example projects have the following defines

USE_STDPERIPH_DRIVER,STM32F4XX,USE_STM324xG_EVAL,USE_USB_OTG_HS,USE_ULPI_PHY
Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
its
itsAuthor
Associate III
December 28, 2012
Posted on December 28, 2012 at 05:12

would i have to change 8MHz onboard crystal on stm32F4 discovery for high speed usb interface.

Tesla DeLorean
Guru
December 28, 2012
Posted on December 28, 2012 at 17:01

would i have to change 8MHz onboard crystal on stm32F4 discovery for high speed usb interface.

Why would you need to do that? Isn't the USB clock derived from the PLL VCO clock?

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
its
itsAuthor
Associate III
January 7, 2013
Posted on January 07, 2013 at 08:27

hi, I am using USB3300 phy eval board, The CPEN pin didnt get High, why thats so? it continously low?

I just power up the board with 5 and 3.3 volts, but the CPEN pin is not getting high. (CPEN is the pin to enabled external VBUS)

i didn't connect remaining pins to STM32F4.

thanks

harshad
Associate
January 9, 2013
Posted on January 09, 2013 at 13:53

I think by setting USB_OTG_FS_CORE_ID = 1 will change USB to High Speed. Still I have not tried but I will post once I receive my Discovery kit.

Tesla DeLorean
Guru
January 9, 2013
Posted on January 10, 2013 at 00:54

I think by setting USB_OTG_FS_CORE_ID = 1 will change USB to High Speed. Still I have not tried but I will post once I receive my Discovery kit.

Full Speed (FS) or High Speed (HS)? The issue here is the lack of a external PHY on the STM32F4-Discovery board.
Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
its
itsAuthor
Associate III
January 14, 2013
Posted on January 14, 2013 at 07:17

thanks for input. i am using USB3300 SMSC eval board. I am able to run high speed ULPI interface with STM32F4 Discovery using MSC high speed example for STM324xx boards. I have to change some PINs  as PORTH and PORTI is not available in 100 qpf package in stm32f4discovery board.

 the thing, I am not able to modify the code available in audio record play back example to HIGH SPEED, I have made the important changes , but what i am missing here? the FS OTG led is still blinking? even after i have changed the OTG_FS to OTG_HS and define ULPI etc...

its
itsAuthor
Associate III
January 14, 2013
Posted on January 14, 2013 at 10:30

i have managed to run ULPI High speed interface with external EVAL board of USB3300 .

I am not able to modify the code available in audio record play back (for STM32f4discovery)  to HIGH SPEED, I have made the important changes , but what i am missing here?. i have changed the OTG_FS to OTG_HS and define ULPI etc...

I get to the point that Enumuraton is not done, I didnt get USBH_OK from function USBH_Handle_ENUM...(). and my Code get continuously pooling through HOST_CTRL_XFER after failed enumeration.