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 August 09, 2012 at 14:42

ST, oddly, has a minimal presence here so I'd strongly recommend you pursue this with your ST rep or FAE directly.

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
ian2399
Associate II
Posted on August 09, 2012 at 15:10

Preliminary data suggests the following:

MANUF   PART            LPM?    WORKING?

ST      STULPI01        NO      YES

SMSC    USB3300         NO      YES

SMSC    USB3320         NO      YES

NXP     ISP1705         NO      YES

SMSC    USB3340         YES     NO

SMSC    USB3343         YES     NO

SMSC    USB3330         YES     NO

flyer31
Senior
Posted on August 10, 2012 at 18:41

Are you sure that USB3320 is working with STM32F4? That would be great, but in

https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/USB%20HS%20Hi-Speed%20Alternative%20ULPI%20Transceiver

rollet.romain clearly stated that SMSC3320 is NOT working.

(Do you possibly have the link to some further details of the schematics or so with USB3320 working?). (I think quite many poeple here are looking urgently for some non-BGA ULPI transceiver alternative to the ST-ULPI01B chip (used on the Keil developper board)). (the information about ISP1507 seems to be not clear: somewhere you can get it, and other distributors say that it has been abandonned by the suppliers ...).

ian2399
Associate II
Posted on August 10, 2012 at 20:59

Hi bil.til

I'm not sure, but this is why I'm hoping so:

I saw the rollet.romain post, but thought that it was inconclusive since the problem I am talking about is specifically that the device enumerates in FS but not in HS, whereas RR's board apparently doesn't enumerate at all, so presumably he has a different problem, maybe not to do with the PHY compatibility issue.

On this forum, Boris has apparently got a USB3320 board working but is disappointed with the 6MBps storage device throughput - but that suggests to me he has got it working at HS. On mikrocontroller.net, Dimitri has apparently got a USB3320 board working. I have asked both these gentlemen for confirmation that they have HS operation, but so far no reply.

Like you, I require a non-BGA part for this project, which is one of the reasons I chose the ill-fated USB3340. I'm hopeful that the USB3320 will work because it would mean that I can carry on with my first-rev prototype (the 3320 is site-compatible with 3340, except that the 1.8V pins are an input with no internal reg, which I can strap).

I think it is certain that the ISP1705 (as used on the ST EVM) is discontinued or soon will be, and it seems that most of the old ISP range is likewise.

I'm not sure that schematics for a USB3320 will help much. The schematic isn't the problem - it's fairly obvious how to connect the devices, just not whether they will work when you have!

Good luck and all the best,

Ian

dmakhrov9
Associate II
Posted on August 12, 2012 at 12:41

Dimitri at mikrocontroller.net is me.

Yes, STM32F407VG + USB3320 runs as HS host in my case.

Actually, there is (almost) no need for modification of an example provided by ST for ''STM3240G-EVAL''.  Since ULPI pins are different in the 100pin device, some changes must be made. No need to modify internal registers of the USB3320. It works out of the box. Beware that the crystal won't oscillate if the chip is held on reset.

 

ian2399
Associate II
Posted on August 13, 2012 at 11:18

Hi Dimitri

Thanks for taking the trouble to help us out with that confirmation. It is very useful to know, especially for me.

I'm not sure whether HS operation as a host would guarantee HS operation as a device, if the LPM control bit is the problem. 

With kind regards

Ian

dmakhrov9
Associate II
Posted on August 13, 2012 at 12:13

I redesigned it a bit to work as OTG. The new PCB is scheduled for the end of this week. As soon as it will be up and running, I will report on this here 🙂

At the lower side to the left you can recognize the pads of USB3320 and those of Mini-AB.

________________

Attachments :

OTG.jpg : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006I0os&d=%2Fa%2F0X0000000beB%2F95.SVdQLwB56yDxU45R.Kl0Xb5j8AN1sDjqcrP.ubtM&asPdf=false
ian2399
Associate II
Posted on August 17, 2012 at 10:58

I have now had confirmation from ST that there is a bug in the STM32F207 devices as I have described, which means that they can't enumerate at HS with LPM-capable PHYs. I don't know which devices the bug applies to, but I guess all STM32F2xx and F4xx families at least. I expect this will be confirmed in the Errata documents at some point, but note that it isn't yet.

The only workaround is to use older-generation PHYs which don't enter LPM mode when bit 7 of the Function Control register is set to 1. If you are considering a particular PHY, check this in its datasheet.  In the mean time, the table above lists some usable and non-usable PHYs.

ramv
Associate II
Posted on October 21, 2013 at 14:34

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