2012-08-09 03:43 AM
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?ThanksIan #usb-ulpi-phy-usb33402012-08-09 05:42 AM
ST, oddly, has a minimal presence here so I'd strongly recommend you pursue this with your ST rep or FAE directly.
2012-08-09 06:10 AM
Preliminary data suggests the following:
MANUF PART LPM? WORKING?ST STULPI01 NO YESSMSC USB3300 NO YESSMSC USB3320 NO YESNXP ISP1705 NO YESSMSC USB3340 YES NOSMSC USB3343 YES NOSMSC USB3330 YES NO2012-08-10 09:41 AM
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 ...).2012-08-10 11:59 AM
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,Ian2012-08-12 03:41 AM
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.2012-08-13 02:18 AM
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 regardsIan2012-08-13 03:13 AM
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=false2012-08-17 01:58 AM
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.2013-10-21 05:34 AM
Have you gotten the STM32F205/207 HS ULPI interface to work with any of the SMSC USB PHYs ?