2020-09-16 02:05 PM
Dear Community,
as I read from other posts e.g. here:
https://community.st.com/s/question/0D50X00009XkhBISAZ/stm32f4-discovery-usb3300-ulpi-phy
it is possible that the STM32f407 discovery board can be successfully connected via ULPI interface to a USB3300 board from Wavshare e.g.
here https://www.waveshare.com/wiki/USB3300_USB_HS_Board
However I didn’t had any success so far. Neither the USB analyzer showed anything meaningfull nor that I was able to pickup any meaning full communication between the µC and the USB3300 via the UPLI interface using an oscillosscope
After looking for the board layout of the stm32F407 it seems like that other components such as the piezo microphone MP45 DT interferes with the DATA 3 line and probability also with the CLK line at PA5 and the NXT line at PA3. I just wanted to ask here whether someone managed to get the USB3300 work with the STM32407 discovery board using e.g. jumper cables and whether the MP45 DT had to be removed before. I would be glad for any hints.
2020-09-16 03:19 PM
USB HS has 60 MHz signals. It's probably not going to be good enough to just have jumper wires between boards. It might work if you keep the wires short, but at 60 MHz you're pushing things. It's also likely that one or more of the pins used by the USB3300 is occupied by another peripheral on the board.
Buy an eval board with the STM32F4 and USB3300 chip on the same board.
2020-09-20 07:16 AM
Hi,
and thank you for responding to my question. Actually it seems to be possible to interconnect the USB3300 waveshare board and the stm32f407 discovery. However not using flying jumper wires because of combination of contact resistance and due to the already mentioned cable length by TDK and probably also crosstalk between neighboring lines inside the ribbon cable I used before. Another reason why it is not working is the lag of 3.3V supply on board.
To get some function I made a PCB containing gold plated header plugs for the discovery board and the USB3300 waveshare board similar to open407 V-d STM32 Board. I also added a 3.3V LDO since the USB3300 doesn’t work with 3.0 volts. As a starting project I used this post (there is also a layout how to connect both boards correctly):
https://www.mikrocontroller.net/topic/318774
inside the german microcontroller forum. The only modification I did so far is to add some code to set the PC15 (which is connected with the reset pin of the USB3300 waveshare board) after some delay to low potential (which follows the recommendation inside the USB3300 datasheet).
Removing parts from the STM32F407 board is not necessary since it works as is (I compared two boards one with removed MP45DT and LIS302 components and the other as is). Regarding what is actually working I saw the HS descriptor transmitted via USB thus I believe the ULPI interface is working. Unfortunately there is nothing one can do from within the stm32f407 to check whether the ULPI communication is initially workingand how many transmission errors occur – some sort of internal state machine seems to take care about that interface.