USB bulk transfer speed

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

USB bulk transfer speed

1,409件の閲覧回数
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,075件の閲覧回数
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