2014-06-30 01:27 AM
We've designed a USB board based on an STM32F437 microcontroller, associated to an SMSC-USB3370 ULPI device clocked by a 60MHz external oscillator.
We are facing an issue with the USB enumeration as our board is recognized as a FullSpeed one when we have configured it through the STM32CubeMx tool and associated HAL, as a HighSpeed one. We've spent some time on that issue with no success so far, whatever the USB device class we've tested. Searching on the ST Forum, it looks like there have been issues reported by users with the STM32F4 / SMSC-USB33xx devices combination, but without a clear conclusion on whether the problems had been addressed or not, besides an issue identified with the SMSC chips that provide the LowPower feature. Does anyone know if that combination has any chance to work reliably, or/and have successfully implemented it ? Thanks.2014-06-30 06:13 AM
Searching on the ST Forum, it looks like there have been issues reported by users with the STM32F4 / SMSC-USB33xx devices combination, but without a clear conclusion on whether the problems had been addressed or not, besides an issue identified with the SMSC chips that provide the LowPower feature.
I think the clear conclusion was some of the USB33xx parts just weren't compatible with the STM32, what kind of due-diligence evaluation of the USB3370 lead you to chose it for your design? Parts that did work for some individuals, and not for others, came down to them being wired up properly. Start by reviewing the circuit. Try using the Standard Library2014-06-30 07:41 AM
2014-07-01 03:14 AM
Thank you for posting.
Our HW Designer chose that part among others but I will have to check with him to understand why that one particularly. We are still double checking the schematic and asked for support from Microchip, but no issue has been detected so far. The strange thing is that while in the early debugging stage, we got to detect the device as an HS one while stepping in the ST USB_HAL and USBD module. When we got back to it but on a different board, and after integratating other SW modules, we couldn't get anything to work in HS. At a first glance, it looks like either a wrong pull-up/down resistor on one of the signals driven between the SMSC and the STM32, a power issue around the ULPI, or a SW issue maybe around the LPM (suspend/resume) feature. We also need to be sure that this particular SMSC3370 + STM32F437 is expected to work in a reliable and stable way.