You are here

How to achieve the more throughput from Full speed USB | Cypress Semiconductor

How to achieve the more throughput from Full speed USB

Summary: 2 Replies, Latest post by aasi on 25 Feb 2011 03:19 AM PST
Verified Answers: 0
Last post
Log in to post new comments.
subbarao's picture
1 post


I am writing program on psoc3 microcontroller for USB communication. In this application i want to send maximum data from microcontroller to PC(VC++ program).  I wrote program using one Bulk In endpoint  and achieved speed of 0.25Mbps. I understand about usb that it sends 1 frame/msec. Each frame having 14-19 transactions(or packets). But one bulk in endpoint sends 64 bytes each time. I don't know how to increase no. of transactions per frame using bulk in endpoint and at the same time how to get entire frame with XferData using from CyUSBAPI  in VC++. Can you help how to improve my throughput in full speed usb microcontroller with bulk inendpoints.

with regards,

y v subba rao


shub's picture
Cypress Employee
27 posts

Hi subba,


Try using more than 1 bulkIN endpoints and read them using asynchronous xferdata calls.


aasi's picture
Cypress Employee
1166 posts


Speed can be increased by using the asynchronous calls begindataxfer / waitforxfer / finishdataxfer and implementing buffering on the device side. Increasing the number of endpoints may not help since the interface used is going to remain the same so the IN packets will go one after the other. If the device is not capable of filling data at that speed it is not going to be able to do it with 2 endpoints as well since you've to service both.



Log in to post new comments.