2020-12-10 05:30 AM
Hello,
I have some general questions about USB subsystem in STM32F723:
Q1- What is the maximum throughput in STM32F723 when working in USB HS with DMA enabled in device mode? with and without USB stack overhead?
Q2- Is there any difference in throughput when I design a usb device with TWO endpoints or Multiplex them on ONE endpoint?
Q3- What is the best way to design a USB Composite Device? I mean the best way to define interfaces and endpoints? Any Document or link will be helpful ... I do not want to extract this information by examining huge documents of USB classes like CDC, HID and etc ... guide me directly toward my question
Q4- Are there any other Documents except reference manual and the one describing CDC, Audio and etc classes examples in Cube HAL for STM32F7 series USB subsytem which can help me??
Thanks in advance
2020-12-10 05:49 AM
Q1:
I can get 8 MByte/s reliably and up to 20 MByte/s in some instances with the FS USB over a CDC device.
2020-12-10 06:41 AM
> 20 MByte/s in some instances with the FS USB
You mean, HS USB, don't you.
JW
2020-12-10 08:14 AM
2020-12-10 09:39 AM
> Unfortunately, the windows VCP driver rarely but occasionally drops packets at that speed.
There are indeed very disturbing reports of data loss and corruption with Win10 usbser driver.
I could not reproduce this and do not know if or how these issues have been treated by Microsoft.
-- pa
2020-12-17 01:31 AM
Hi Memarnejad,
Q1: To begin working with USB, Please refer to the STM32 USB training and https://www.usb.org. You can also see STM32 USB training - 14 USB CDC throughput.
The theoretical value of throughput for USB is as follows:
Low-speed, 10-1500 Kbps
Full-speed, 0.5-12 Mbps
High-speed, 25-480 Mbps
For more details, please refer to the STM32F7 - USB OLT.
The practical value depends on your example and can be measured.
Q2: The number of endpoints used in a USB application depends on the type of transfer if it is interrupt, bulk, isochronous, or control.
The number of endpoints used does not affect the throughput of the whole application, but affects the throughput of the endpoints.
Q3: There is no document that supports composite device class yet provided by ST.
Q4: Please refer to the STM32CubeF7. You can find USB applications for both USB Host and device under the following directories:
\STM32Cube_FW_F7_V1.16.0\Projects\STM32F723E-Discovery\Applications\USB_Device
\STM32Cube_FW_F7_V1.16.0\Projects\STM32F723E-Discovery\Applications\USB_Host
Best Regards,
Ons.
2020-12-17 11:11 AM
Hello,
For question 3, I guess ST engineers who developed ST-Link can help me as it provides a virtual serial port along with the mass storage representation (that means a composite device)
Could you please inform them to have a look at my question and help me with
Thanks
2020-12-18 02:27 AM
Hi Memarnejad,
We are sorry that we cannot share internal codes in the forum.
If you are an ST client, or if you need more advanced support, you can go through our FAEs.
The composite device class is not provided by ST yet. There is no documentation , no FW either.
Thanks for your understanding.
Best Regards,
Ons.