2025-10-19 1:21 AM
i use stm32h750 as a decoder to translate use audio data into i2s 16bits 48khz data.however, when i use usb_otg_fs
, everything works properly,but when i use the same configration and only switch to usb_otg_hs,some problem has occured. i use usb3300-ezk as the external PHY, which can communicate with my windows11 laptop through a type-c
cable.the computer can detect stm32 audio class and bus hound shows the det description progress run correctly and then system send set interface 0, when i try to display music, it sends set interface 1 for several times but meet xact error.i noticed that something may related to the main clock and usb clock, but i cant find the right settings.
2025-10-21 3:43 AM
Hello, @znxingbell
Are you using USB in device mode or host mode?
And can you provide your .ioc file and your hardware setup?
BR
Gyessine
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-10-21 4:46 AM
2025-10-22 9:44 AM
Hello, @znxingbell
As a start, I checked your IOC file and found that you set the ULPI maximum output speed pins to high.
For USB high-speed (HS), they should be set to very high.
Additionally, you can base your work on this firmware example, which is located under the following path in the STM32Cube firmware:
STM32Cube_FW_H7_V1.12.1\Projects\STM32H743I-EVAL\Applications\USB_Device\Audio_Standalone
to exclude software-related issues.
For your hardware implementation, ensure that the ULPI interface is functioning properly. Verify that the data lines, NXT, and DIR are operating correctly.
BR
Gyessine
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-10-23 7:35 AM
After i set the ULPI gpio pin to very high, the problem still there. and i've checked the example but dont know how to use it, because it seems like not created by CubeMX.
Additionaly, if all the process work properly but only the last step wrong, what does it main. I see the GET DESCRIPTOR; SET CONFIG ; GET DESCRIPTOR; CLASS REQ 81 ; SET INTERFACE.And after then xact error occurs, i dont know why only this step failed.
2025-10-23 9:10 AM
hello @znxingbell
For the example, you can run it directly on your product to ensure the software functionality.
I tried it on my end, and it works fine.
You can also try this example.
Can you provide more details about this xact error?
However, I suspect it is a hardware issue, as USB audio class hardware implementation is a delicate case. Extensive testing is required to identify the problem. I suggest tracing your ULPI pin signals and verifying them against the requirements in your product datasheet. Additionally, you can explore STM32 products that use the same ULPI interface to gain insights into possible implementations.
Additionally, I recommend checking the routing, as it may cause issues.
BR
Gyessine
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.