How can I achieve the first feature, it say that i can transmit multiple packet on each frame? My goal is to acheive minimum 1 Mbyte/sec data transfer using stm32h7 usb peripheral. This document name is "stm3220USB20user manual UM1734".


Hello @MOhamed_Mehery,
IN High-speed mode, the multi packet process is handled through the Device controller Driver interrupts when the USB OTG core is running in Slave mode and by the internal DMA.
Data transfer is divided into Maximum Size Packet MPS, to do so, you can refer to example of calculations in the reference manual,
So that, each Fifo can hold multiple packets.
To transmit data, you might use the USBD_LL_Transmit () function and to receive data you might use USBD_LL_PrepareReceive()
USBD_LL_GetRxDataSize to return the last transferred packet size.
You can start from the usbd_conf.c file provided within STM32Cube™ package.
When your question is answered, please close this topic by choosing Select as Best.
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.