2013-10-18 05:22 AM
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-ulpi2013-10-20 03:21 PM
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.2013-10-21 04:48 AM
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.2013-10-21 05:08 AM
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 :)2015-06-12 07:11 AM
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, Rafael2015-06-12 09:10 AM
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.