USB bulk transfer speed

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

USB bulk transfer speed

1,401 次查看
martindusek
Contributor V

Hi,

I use latest USB stack on MK22 MCU (full speed usb transceiver). I achieve approx 600 kB/s transfer rate when sending data from MCU to PC (Windows 10) via bulk endpoint.

On PC I read data using libusb (libusb_bulk_transfer(devHandle, endpoint, data, requiredSize, &actualSize, timeout)).

Can you please help in optimizing the transfer rate (i.e. achieving higher transfer rate)? Is there any configuration in USB stack which can achieve higher transfer rate? What is optimal data chunk size written to endpoint in MCU (USB_DeviceSendRequest())?

标签 (2)
1 回复

1,067 次查看
bobpaddock
Senior Contributor III

For full speed the packet size is a max of 64 bytes.  For high speed it is 512 bytes.

Set the Polling Interval in the endpoint descriptor to the lowest value that will not generate NAKs on the endpoints.

Minimize transactions by sending full packets (this may be out of your control in the stock library code).

USB in a NutShell - Chapter 4 - Endpoint Types