2025-05-23 1:56 AM
Hello. I have a custom board with F105RCT7. The summary of my problem is the USB interface is not working at all. The computer does not detect anyting. The board is configured as a VCP device. I have a Nucleo-H743ZI-2 board and done some tests with. Now I am doing the exact same tests with my custom board. The fact is that I coppied the USB interface from the schematics of the nucleo board. But later I discovered that there are some differencences between CM7 and CM3 MCUs in terms of HW design. I am sending an SS of the related part of the design. Configuring the MCU as a VPC and transmitting messages over the USB takes only a couple of seconds when you configure everyting in CUBEMX. So I am sure that there is a HW problem. I always worked with CM4 and CM7 MCUs. Even though CM3 is simpler, it is the first time I use it.
In the design D+, D- and Vbus pins are corectly connected to the MCU. When I connect the cable, the LED lights up. The board is powered from the USB (so it is not self powered) and I can flash the MCU, see debug messages over SWO, generate PWMs etc. The voltage levels are correct. I don't observe any fluctuations. Most probably I did a design error. I had to connect pins 1,3 to the MCU and 5,6 to the connector. I corrected this error on the board that I am working on it. As far as I understand from AN4879 I don't need to have a pull up resistor connected to D+ if the MCU is F105 or F107. But I tried this as well. Before correcting the direction of the EMI filter, I connected a 1.5K pull up resistor to the MCU side of the filter on another board. In that case the computer detected something but it threw "failed to get device descriptor" error. I did not try the same on the board that I corrected the EMI filter direction.
USB stack is so hard to debug. I correctly run my basic USB transmission example on the nucleo board. I trust the drivers provided from STM. And focused on the HW. Thanks for any help.