2025-06-01 11:45 PM - edited 2025-06-02 12:25 AM
Hello,
I am developing STM audio streaming device by nucleo-H753ZI.
Just I have done is bellow like:
1. configure HSE by Cube MX and applied 25 MHz external oscillator physically .
- It works well when USB OTG FS mode.
2. Physically connected between H753ZI and USB3300 ULPI
(D0~D7, 3.3Vs, GNDs, NXT, DIR, RST, STP, CLK)
D0->PA3,
D1->PB0,
D2-> PB1,
D3->PB10,
D4->PB11,
D5->PB12,
D6->PB13,
D7->PB5,
STP->PC0,
NXT->PC3,
DIR->PC2,
CLK->PA5,
2 of 3.3V pins,
2 of GND pins
3. Checked Cube MX options :
- USB OTG FS : Disabled
- USB OTG HS - Device only
- USB Device - (Class for HS IP) Audio Device Class, 48000 sample/s, Device descriptor : 1200
- NVIC : priority
USB OTG global interrupt = 0
USB OTG EndPoint I/O global interrupt = 0
4. Connected to PC as USB : No device detected on PC!
( I have edit MX_USB_DEVICE_Init(void) function for debugging :
/* USER CODE BEGIN USB_DEVICE_Init_PostTreatment */
HAL_Delay(10); //insert
HAL_PWREx_EnableUSBVoltageDetector();
/* USER CODE END USB_DEVICE_Init_PostTreatment */
)
I wonder I have missed something essential...
could you let me know it?
Thank you.
2025-06-02 6:00 AM - edited 2025-06-02 6:00 AM
Hi @skson
First, I recommend using CRS SYNC with USB HS instance. This can be configured in CubeMX under the RCC tab.
Second, noticed the addition of HAL_Delay(10);. Could you clarify the purpose of this delay?
For your firmware configuration, I suggest referring to the example provided under ./Projects/STM32H747I-EVAL/Applications/USB_Device/Audio_Standalone
When using an external circuit for the ULPI interface, it’s crucial to ensure proper routing for signal integrity. Double-check for any loose connections or soldering issues. Consider using a logic analyzer or oscilloscope to monitor the ULPI signals.
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2025-06-03 6:21 PM - edited 2025-06-03 6:24 PM
Dear,
I'm appreciate your fast response.
1. Just following your advice, I enabled CRS SYNC with USB HS instance but there is no changes...
2. additional code : HAL_Delay(10); If it does not added, the code is stopped while running MX_USB_DEVICE_Init(). While debugging, it is result of trials, to avoid the runtime error.
I don't know why, but added this delay, it passed well.
3. I understand your wording as : there is an example of H7 USB Device - USB OTG HS Audio class.
If you share it correctly, it might help.
But I cannot find "Audio_Standalone" example in ./Projects/STM32H747I-EVAL/Applications/USB_Device/ folder.
To me, it seems like under :
Best regards,
From Son.