cancel
Showing results for 
Search instead for 
Did you mean: 

HS USB w/ External SMSC PHY

jvavra
Associate III
Posted on October 18, 2013 at 14:22

I saw several posts going back a few years regarding an issue with several different STM parts interfacing with external PHYs from SMSC (now Microchip). 

We have successfully implemented a STM32F405 with a USB3300. However, we have not had much luck with a STM32F205 with either the USB3300 or USB3340. Both seem to exhibit the same issue: there is no ChirpK generated by the device, so it ends up enumerating as FS instead of HS.

Working w/ Microchip, they have suggested as a workaround inserting a single clock delay between the ULPI register write and transmit. However, I do not appear to have access to the ULPI registers in the STM32F micros. Am I missing something here? I don't find these registers anywhere in the datasheet.

I have also read that some people had tried the USB3320 part; however there was no follow-up confirming success. Can anyone confirm success with the USB3320? What STM32F part did you implement it with? Did it require any workarounds or tricks?

We're working on a new design around the STM32F427 and would like to get this right the first time.

Thanks

#usb-phy-hs-ulpi
5 REPLIES 5
carl2399
Associate II
Posted on October 21, 2013 at 00:21

Hi Joshua,

I can't help with your problem, but I've also seen some of those older posts. 

The combination you have been using would work great for me (if it works as I need), so I'd like to ask a couple of questions:

1) Did you manage to get your STM32F405/USB3300 combination working in HS mode as a peripheral? (For some reason, according to the posts I've read, it seems to be easier to get HS as host). 

2) Did you manage to get a throughput that was a decent proportion of the 480Mbps available? (I'm not greedy, as I think that anything above 20% is decent!)

I've previously used an FT232H to try and get high speed USB transfers, but while I can get data into the FT232 from STM32 at about 8M bytes per second, I don't seem to be able to get anything above 2.5M bytes per second over the USB connection (which is only 3% of USB2).

Thanks in advance,

Carl.

   

jvavra
Associate III
Posted on October 21, 2013 at 13:48

Carl,

Yes, we were able to use the STM32F405 and USB3300 as a device/peripheral (never tried it as a host). The throughput was actually quite good; I don't have a spare board here to test it right now but would say we were easily getting 200Mbps.

Further, as an aside, it appears that I have solved our issue with the STM205 and the USB3300: I missed that the HW designer had added a pull-up on the Reset line. The pullup was too strong, resulting in a constant pullup state.  

carl2399
Associate II
Posted on October 21, 2013 at 14:08

Joshua,

Glad to hear that you found a solution to your problem, and thanks for the info regarding your STM32F4 system. I can only source the data as fast as I can get it off an SD card, so the throughput you quote sounds very good to me 🙂

 

daciuk
Associate
Posted on June 12, 2015 at 16:11

Hello,

I am trying to use a STM32F4DISCOVERY (STM32F407VG) to communicate in USB HS.

I have purchased an 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:10

Pay attention to what pins on the STM32F4-DISCO conflict, and the schematic of the USB3300 as used on the STM32F429I-EVAL or RedDragon407, and make sure your circuit is identical. Start with the supplies and the clocks.

Given the speeds/signals not sure it's something I'd jury-rig.

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