2024-10-13 07:33 AM
I am working with an STM32 development board and an external PHY (USB3300) to establish communication using USB High Speed. However, the USB is not being recognized, and I would greatly appreciate any advice or guidance on how to resolve this issue. Thank you in advance for your help.
Objective
For now, I would like the USB device to be recognized by my PC. Eventually, I aim to send serial data through the external PHY.
Problem
I have connected the devices as shown below, but when I check the Device Manager on my PC, the USB device is not recognized.
My Guess at the Cause
Could it be because PA11 and PA12 are connected to STLINK-USB_DM and STLINK-USB_DP?
Device Manager Output
Unknown USB Device (Device Descriptor Request Failed)
This device has been stopped because it reported problems. (Code 43)
The USB device descriptor request failed.
Connections
PC --(USB cable)-- USB3300 --(jumper wires)-- NUCLEO-F446ZE (powered via USB)
Jumper Wire Details
USB3300 | NUCLEO-F446ZE
---------------------------------
5V : 5V
3.3V : 3.3V
GND : GND
USB_OTG_HS_ULPI_STP : PC0
USB_OTG_HS_ULPI_DIR : PC2
USB_OTG_HS_ULPI_NXT : PC3
USB_OTG_HS_ULPI_CK : PA5
USB_OTG_HS_ULPI_D0 : PA3
USB_OTG_HS_ULPI_D1 : PB0
USB_OTG_HS_ULPI_D2 : PB1
USB_OTG_HS_ULPI_D3 : PB10
USB_OTG_HS_ULPI_D4 : PB2
USB_OTG_HS_ULPI_D5 : PB12
USB_OTG_HS_ULPI_D6 : PB13
USB_OTG_HS_ULPI_D7 : PB5
RESET : PA0
---------------------------------
(Note: PB0 was connected to an on-board LED through SB120, so I cut SB120 to disconnect it.)
Steps Taken
Created a project using STM32CubeIDE
Configured the pins in the pinout view (see image linked below)
Set USB_OTG_HS to "External PHY" and "Device_Only" under Connectivity, and enabled the USB On The Go HS Global interrupt in NVIC Settings
Set the Class for HS IP to "CDC" under Middleware and Software Packs
Wrote the code for main.c (see below URL)
https://drive.google.com/file/d/1854QExJgEYuRdi5xYT4wJ6Gb2AY0DqzF/view?usp=sharing
Components
USB3300
STM32 NUCLEO-F446ZE
Files
Project ZIP file: https://drive.google.com/file/d/1My02udvdlEIywo-0WPoB5JbLTEOwl58R/view?usp=sharingPin configuration image: https://drive.google.com/file/d/1zbRGbeE4PeWx54Zo8dzgwkAvvmwYYh9-/view?usp=sharing
Photo of actual setup: https://drive.google.com/file/d/1J7RatqFqVUSRP269folbYCTjD8h050nB/view?usp=sharing
Board schematic: https://oshwlab.com/wgsxsm/NUCLEO_F446ZE-UMYy85rpZ
Keywords: Microcontroller, Arduino, STM32, HS USB 2.0, Electronics, Circuit Design
2024-10-15 08:22 AM
Is your device Bluetooth?
Your USB viewer show detail is Virtuel COM port information, I guess your device in port 1, you should looking port 1 detail.