2025-09-08 12:56 AM - last edited on 2025-09-11 3:48 AM by FBL
Hello,
I wonder that examples could apply Nucleo-H753ZI board... There are some examples about H743 or another one but no example for Nucleo-H753ZI board.
I understand 48k-2channel-16bit can be implemented easily,
But I wonder that Nucleo-H753ZI can make 44.1kHz sampling or, 24bit input or, 4 ~ 6 channel input.
I can't solve just 48kHz-24bit-2Channel input's buffer underrun problem,
44.1kHz-16bit-2Channel buffer underrun,
and recognizing USB3300 ULPI to Nucleo-H753ZI.
Is it can be done by this board?
Or, Is there any spec making limits?
edit:
related thread <Nucleo - H753ZI> + <USB3300 ULPI> connecting to P... - STMicroelectronics Community
2025-09-11 3:53 AM
Hi @skson
The examples provided for the Nucleo-H743 board can serve as a starting point. Please note that careful attention must be given to the pinout differences between the two boards when adapting these examples.
Regarding your questions on audio capabilities: implementing 44.1 kHz sampling, 24-bit input, or multi-channel (4 to 6 channels) audio is indeed feasible on the Nucleo-H753ZI. However, achieving this requires precise and correct clock configuration to ensure accurate audio sampling rates and data handling.
For your USB3300 ULPI interface recognition concerns, I recommend reviewing the community article, which provides useful guidance on verifying compatibility of USB ULPI transceivers:
How to check compatibility on USB ULPI transceiver... - STMicroelectronics Community
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-09-11 3:56 AM
There aren’t USB Audio examples made specifically for the Nucleo-H753ZI, but you can adapt the STM32H7 examples (like those for the H743) since the architecture is the same.
48 kHz / 16-bit stereo works reliably.
44.1 kHz or 24-bit / multi-channel is possible, but needs careful clock setup and larger buffers to avoid underruns.
The USB3300 ULPI PHY is supported, but you must configure ULPI pins/clocking correctly in CubeMX.
The board itself doesn’t impose hard limits—it’s more about USB + SAI + DMA configuration and bandwidth. Check the CubeH7 package and X-CUBE-USB-AUDIO middleware for the closest starting point.
2025-09-15 5:33 PM - edited 2025-09-16 12:20 AM
Well, I checked the solution, but it seems not working 24bit or multi-channel player...
To solve this problem, I have checked STM32 SDK for many weeks, but what I found was, too many things need to be changed and still I am not knowing all of that.
My question is not staying only it is possible. What I need is, all of factors about USB audio input format selection, so that can be changed.
---------------
For example, I Implemented already 48kHz-2Channel-16bit input streaming.
But when I changes 44.1kHz, there are so many factors to fix and still couldn't fixed all and not knowing what needs to fix more. I have changed SAI clock and PLL, changed descriptors, changed USB-input buffer size, changed to periodic switch buffers, changed to buffering timings, ...but it is still not working.
The PC is recognizing STM board as a sound card having various input formats like below, but...
still sound is not matching speed, tone and having some noise except 16bit-48kHz-2Channel.
Same things are happening 48kHz-2Channel-24 bit input streaming and 48kHz-4Channel-16 bit streaming. I have planned {44.1kHz, 48kHz} x {2Ch, 4Ch, 6Ch} x {16bit, 24bit} but each basic step has so many issues I have not expected.
I want to know Issues about : what I have to fix from the STM SDK if I want to change input format : sample rate, channel counts, and bit depth. I know that needs middle-ware changes, because I have been fixed middle-ware for several weeks.
Here attached files are my fixed files including middle-ware changed.
main.c/h, usbd_audio.c/h, usbd_audio_if.c/h, usbd_conf.c/h.
During your answer is comming, I will check USB3300 ULPI connection check once more...
Thank you.
+PS.
I am now changing the goal to do not implement 44.1kHz sample rate case.
And, your URL:
How to check compatibility on USB ULPI transceiver... - STMicroelectronics Community
shows "Invalid Parameters Specified".
2025-09-15 7:24 PM
Thank you for your comment,
but I know that I have to fix clock and audio/SAI buffer and already did it.
The problem is, buffer sync and middle-ware buffers.
From Son.
2025-10-01 9:16 PM
Hello, dear,
Still I have not received any comment.
Is it too hard to answer?
If you need more details of my project, then I would summarize this project codes.
- summarize of changes :
1. Descriptor :: 1 descriptor(48k-16bit-2ch) -> 3 descriptors.(48k-24bit-2ch, 44.1k-16bit-2ch, 48k-16bit-2ch)
2. Audio Buffer :: 2 SAI buffers ( 48k-32bit-2ch, 44.1k-32bit-2ch ) and 3 Audio buffers( follows 3 descriptor )
3. USB Buffer :: original buffer -> original buffer x 12 size
4. USB Buffer -> Audio Buffer :: if 24bit case, +- 6U. else +- 4U. all buffer handling of usbd_audio.c follows 3 descriptor type channel size. On receiving, SAI Clock will be updated when sample rate is changed.
5. Streaming : in streaming, selected one of 3 input format will be changed 32bit-2ch.
Could you peak the point which could be problem or missed?