Skip to main content
Visitor II
October 26, 2022
Solved

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".

  • October 26, 2022
  • 1 reply
  • 1618 views

0693W00000VO9aZQAT.png

    This topic has been closed for replies.
    Best answer by FBL

    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.

    1 reply

    Technical Moderator
    October 26, 2022

    Hello @MOhamed_Mehery​,

    Can you specify the document you are working on? I suggest looking to the UM2195 dedicated for the package X-Cube USB Audio.

    Visitor II
    October 27, 2022

    I modified the post to include the document i'm using.