cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F4 Discovery + USB3300 ULPI PHY

davidyoung072
Associate II
Posted on May 01, 2014 at 12:05

Hi all,

I have just begun playing around with a STM32F4 discovery board as a side project during the pare time I have whilst not at uni. As a starting project, I am trying to connect a USB3300 ULPI PHY to the discovery board in an attempt to see if I am able to establish working functionality between the two devices and to see if I am able to retrieve some low-level packet information from the ULPI (vendor ID etc...)

Has anybody on the forums given a similar task a try? Or is able to provide a good starting resource in order to do so? 

I've had very little exposure to these devices and programming them as such and am keen on starting to learn it.

Cheers

#ulpi-stm32f4-discovery
8 REPLIES 8
Posted on May 01, 2014 at 18:17

I think there have been some general discussions about HS PHY's, the STM32F4 is a little bit particular/in-flexible, and I don't think it really provides much of the protocol/internal stuff  for examination. You might be able to bit-bang the GPIO's that interface to it.

http://www.ebay.com/itm/USB3300-USB-HS-Board-Host-OTG-PHY-Low-Pin-ULPI-Evaluation-Development-Module-Kit-/251069458682?pt=LH_DefaultDomain_0&hash=item3a74e7e8fa#ht_1299wt_1168

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
davidyoung072
Associate II
Posted on May 02, 2014 at 04:32

Hi Clive,

I've already have purchased the linked ULPI PHY. To start with, i'm just attempting to connect the two to see if I am able to achieve a working connection of somesort. I've had a look at the Open407v-d expansion board and will try to attempt the ULPI to my discovery the same way that the open407 does. 

Is there any example projects available to get me started on this? As in just a simple MDK ARM project that will allow me to get a grasp of how the two devices will connect and work together.

Posted on May 02, 2014 at 04:57

I changed define options, compiled.

 

USE_STDPERIPH_DRIVER,STM32F4XX,USE_STM32F4_DISCOVERY,USE_USB_OTG_HS,USE_ULPI_PHY,HSE_VALUE=8000000

 

 

Please refer to the original USB examples (STM32_USB-Host-Device_Lib_V2.1.0), and specifically the ''STM324xG-EVAL_USBD-HS'' project profile to understand where I pulled these settings.
Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
davidyoung072
Associate II
Posted on May 03, 2014 at 04:11

Cheers, will have a look into it.

davidyoung072
Associate II
Posted on May 08, 2014 at 16:04

Managed to get my connection between the two devices working. A quick question though, i'm currently in the process of trying to read the data of the USB traffic at every rising edge of the clock but am stuck on trying to allow the stm32f4 to be able to keep up with the ULPI transfer rate. 

Is it possible for the stm32f4 to be able go at the required 60Mhz required match that of the ULPI? Is there some actions I can perform to allow it to happen?

Cheers

Posted on May 08, 2014 at 17:22

Translation: You want to sample GPIO pins at a synchronous 60 MHz rate?

I'm not sure the F4 going to be able to achieve that, perhaps you can capture with a FIFO like the AL422B (50 MHz), but with a 60 MHz rate?

http://www.averlogic.com/AL422B.asp

http://www.frc.ri.cmu.edu/projects/buzzard/mve/HWSpecs-1/Documentation/AL422B_Data_Sheets.pdf

If you split the data into a 16-bit stream, you could halve the required frequency, or alternate between two FIFOs
Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
daciuk
Associate
Posted on June 12, 2015 at 16:05

Hello, David.

I am also trying to use a STM32F4DISCOVERY to communicate in USB HS.

I have purchased the USB3300 expansion board from WaveShare, but I have not been able to make it work yet.

Do you remember what you have done to make it work?

I am trying to adapt firmware examples from STM32429I-EVAL, which uses the same PHY, for an USB MSC Host, but it is not working.

Any hint would be greatly appreciated.

Regards,

Rafael

Posted on June 12, 2015 at 18:21

but it is not working.

Ok, may be you can explain a little more about exactly what changes you did make, and if you were able to use it in DEVICE mode. Or detail exactly what isn't working, perhaps with some bus analyzer data, or some other context, to focus on specifically what's not working.

Also when digging up old threads be conscious that participants may be long gone, and not alerted to your post against the thread.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..