cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F2/F4 problems with various ULPI USB PHYs

ian2399
Associate II
Posted on August 09, 2012 at 12:43

Hi

I have a problem with STM32F207/407 (not) working with a ULPI PHY, in this caseSMSC USB3340. The system (which is device-only) will work at USB full-speed but not high-speed. Itseems that others have similar problems - some ULPI-compliant PHYs seem to work,others not.

Logic analysis of the ULPI bus and USB line states show that during the USB_RESET period, the STM sets the PHY's Function Control register to generate the ChirpK indicating that the device can work at high-speed.  However, the ChirpK is never generated, so enumeration falls back to full-speed. Instead of sending the ChirpK, DP goes to 1.6V and DM to 0V.

It is possible that the problem arises because the USB Core sets theLPM bit (bit7) in the PHY's Function Control register. It looks at first sight as if PHYs which do notsupport LPM (and so ignore the bit) work correctly, and vice-versa.  For example on this forum we see a USB3343 not working and a USB3320 (similar but with no LPM support) working.

Does anyone at ST know if there is there a way to cause the STM32F deviceNOT to set the LPM bit in the ULPI PHY Function Control register? It would seem likely, but no such control is documented.

Does anyone have any further experience of which PHYs do and don't work in this regard?

Thanks

Ian

#usb-ulpi-phy-usb3340
30 REPLIES 30
Posted on October 21, 2013 at 18:45

Have you gotten the STM32F205/207 HS ULPI interface to work with any of the SMSC USB PHYs ?

The thread is perhaps a bit stale to expect the posters to respond. Dimitri seems to infer an email address, or contact info, have you tried that?

All the board's I've seen with SMSC 3300 parts use F4 chips, experimenting with the F2's would take a non-trivial amount of effort/expense. Any thoughts from ST FAE's?

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
jvavra
Associate III
Posted on October 21, 2013 at 21:01

Ramv,

I have successfully implemented the USB3300 with the STM32F205. I had a schematic bug that I needed to correct, but once I did my HS device works 100%.

I also have the same board, but modified to work with the USB3340. On this board, I have NOT had success getting HS to work. The device will enumerate as FS, but not HS. I have tried a number of different things to correct this, both in HW and SW, without success thus far. I am continuing to work on this now (we'd prefer to use the USB3340 or USB3320 for the lower power and greater EMI immunity); I'll post up any new results.

Posted on October 21, 2013 at 22:19

I also have the same board, but modified to work with the USB3340. On this board, I have NOT had success getting HS to work. The device will enumerate as FS, but not HS. I have tried a number of different things to correct this, both in HW and SW, without success thus far. I am continuing to work on this now (we'd prefer to use the USB3340 or USB3320 for the lower power and greater EMI immunity);

Ian's table still appear quite prescient then. I wonder if STOne can fish Ian's email out of the system and query his current status?

May be the 3320 is the way to go, though as I've indicated before ST used the 3300 on the most recent STM324x9I-EVAL board.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
jvavra
Associate III
Posted on October 22, 2013 at 15:07

clive1,

Ian's chart appears to be accurate in the PHYs that have been shown to work at HS (as far as I know), but it doesn't appear correct as far as some correlation between PHYs having LPM and not working at HS: e.g., the USB3300 has LPM, but DOES work at HS.  

ian2399
Associate II
Posted on October 25, 2013 at 15:11

Hi again

I've just noticed that this thread has been resurrected - so an update from me:

My design with USB3320 now replacing previous USB3340 works fine at HS.

Re Joshua's post:

I think the USB3300 does NOT support LPM mode, i.e. the ability to enter Link Power Management mode by setting b7 of the Function Control register.  The confusion arises from the 'low power' (suspend) mode, which is controlled by b6, which is something else completely! It's the b7 functionality which kills LPM-capable PHYs.

Posted on October 25, 2013 at 17:22

Ian, Thanks for the update

-Clive
Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
jvavra
Associate III
Posted on October 25, 2013 at 19:53

Ian,

Thanks for the reply! I ordered some USB3320s yesterday to try out; is it possible for you to share that portion of your schematic? Or at least advise if you had to do anything ''special'' to get it working? I was under the impression that the USB3340 and USB3320 were functionally largely the same.

Also, thanks for clarifying the LPM issue; you're right, I missed that distinction.

Thanks,

Josh

zuew
Associate II
Posted on December 11, 2013 at 13:28

Hi,

Have you run USB3320 with stm32f407?

I have a trouble with it and doesn't know where I should fix...:(

ian2399
Associate II
Posted on January 23, 2014 at 13:56

Hi Ivan, sorry for the delay - I don't look at this thread much now.  FWIW, my design with USB3320 works successfully with F207 and F407 (I have not tried any other MCUs).  I didn't have to do anything special - other than pick a usable PHY !-)

BTW, as I happened by today, I had a look at the relevant MPU errata on the ST website. No mention of this issue.  I guess quite a few non-working boards have been made by now. Tut tut, ST.

Ivan
Associate II
Posted on March 28, 2014 at 07:31

Yes. you're right. everything is work.

Thanks