Skip to main content
Visitor II
April 9, 2026
Question

STM32H7S3 USB OTG HS – High-Bandwidth Isochronous (Multi-Transaction per Microframe) Support

  • April 9, 2026
  • 1 reply
  • 135 views

Hello ST Community,

I am working on a USB Video Class (UVC) application using STM32H7S3L8 (NUCLEO-H7S3L8) in USB HS device mode.

Requirement:
Streaming 640×480  30fps (YUY2, uncompressed), requiring ~18.4 MB/s bandwidth.

With the STM32 HAL, I can only achieve:

  • ~8.2 MB/s (1024 bytes × 1 transaction per microframe)

This limits performance to ~13 fps at 640×480.

USB 2.0 specification allows up to 3 transactions per microframe for high-speed isochronous endpoints.

However in STM32 HAL:

  • ep->maxpacket = ep_mps & 0x7FFU masks transaction bits
  • No MC (multi-count) handling in DIEPCTL
  • Endpoint structure has no field for multiple transactions
  • HAL does not configure high-bandwidth isochronous mode  

 

Does STM32H7 USB OTG HS support high-bandwidth isochronous transfers (2x/3x transactions per microframe) in device mode?

If supported:

  • Is there any register-level guidance to configure this?
  • Any example or application note available?

1 reply

Technical Moderator
April 10, 2026

Hi @jeslet_joy 

Thank you for reporting this issue. I see additional transaction per microframe would be required but this feature was not supported by HAL. Can you check this line, it seems to me that driver supports now multicount in the IN endpoint transfer size register for isochronous endpoints.

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.Best regards,FBL