Skip to main content
Visitor II
October 19, 2025
Question

audio device class with stm32h750 usb_otg_hs meet xact error when set interface to 1

  • October 19, 2025
  • 3 replies
  • 312 views

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.

    This topic has been closed for replies.

    3 replies

    Technical Moderator
    October 21, 2025

    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

    Visitor II
    October 21, 2025

    Sure, here are my ioc file and schematic file(Incomplete).By the way,I'm not sure if my layout is good to ensure SI in hs usb communication, can you offer me any available examples that i can exclude software issue and concentrate on my hardware design

    Technical Moderator
    October 22, 2025

    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

    Visitor II
    October 23, 2025

    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.

    Technical Moderator
    October 23, 2025

    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.

    Gyessine_0-1761235350422.png

    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