cancel
Showing results for 
Search instead for 
Did you mean: 

STM32U5G9ZJT6Q USB UVC: Increasing Valid Micro Packets in Isochronous Transfers with DCMI Data

saikumar
Associate III

Hello,

I am working with the STM32U5G9ZJT6Q MCU to implement a USB UVC application. Here are the key details of my setup:

  • MCU: STM32U5G9ZJT6Q
  • System Clock: 160 MHz
  • USB PHY External Clock: 32 MHz
  • Data Source: DCMI captures data at 640x480 resolution in 8-bit format.
  • USB Configuration: Isochronous transfers for UVC video streaming.

The issue I am facing is that for each isochronous packet, only 30 micro packets contain valid data, while the remaining 98 micro packets (out of 128 total) are empty. This limits the overall data throughput.

I would like to understand how I can increase the number of micro packets with valid data in each isochronous packet to optimize data transfer performance.

Steps I have tried:

  1. Verified DCMI and DMA data reception – data appears to be received correctly.
  2. Adjusted isochronous max packet size (HS_MPS) but did not see a significant improvement.

Could this be related to:

  • USB descriptor configuration?
  • DMA/USB buffer handling?
  • Timing or bandwidth issues with the USB PHY or DCMI?

I am sharing zip file of the code for the reference.

Thank you in advance!

0 REPLIES 0