Data Rate with CY7C68013A controller

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

hi

   

this is my first time with the USB controller.i am implementing a design in which i have to read data from the FIFO placed in the FPGA and send data to the PC through USB controller

   

 

   

 i need to know a few things regarding the data rate that is achiveable on the USB interface. acc to datasheet there are two data rates achiveable

   

1. Full Speed 12Mbps

   

2. High speed  48Mbps

   

i want to know are these data rates are actually achived? if not what throughput is that i get on the interface between the USB controller and the PC? 

   

can anyone help me on this??

   

Regards 

   

Usama Aslam 

0 Likes
6 Replies
Anonymous
Not applicable

Hi usama,

   

Actually the rates you are reffering to are signalling rates not data rates.

   

1. 12Mbps for full speed

   

2. 480Mbps for high speed

   

 

   

With Fx2lp you can reach upto 35-40MBps, we have a streamer application with which you can check the throughput of the device.

   

 

   

-Shub

0 Likes
Anonymous
Not applicable

I have reached the Bulk transfer rate of 40MBps using the Cy68013A

   

I use  Bulk mode, and configure the endpoints as

   

EP2OUT: 4x512B

   

EP6IN: 4x 512B

   

and use the Cyusb.sys & Cyapi.lib &Cyapi.h  in my project

   

I have set the xfersize to  52K and even larger like 100K.

   

Is it possible to reach higher  transfer rate? like 50MBps?

   

What is the maxium throughput under Bulk mode? 

   

If it is impossible to reach higher  transfer rate, what is the limition?

   

Is it the driver cyusb.sys limit the speed ?

0 Likes
Anonymous
Not applicable

The theoretical max possible (useful throughput i.e. after removing overhead) is 53MBps. One main bottleneck is the host controller, haven't seen a host controller which sends all 13 bulk packets possible in a microframe. Other than that you have the OS overhead as well. CyUSB.sys talks to the host controller driver and does not control the number of packets in a microframe etc. So I don't suppose CyUSB.sys is the bottleneck.

   

Regards,

   

Anand

0 Likes
Anonymous
Not applicable

Thanks to assi!

   

Is there any tools i can use to check the number of bulk packets in a microframe?

   

So now 10 Bulk packets sent and I get the speed of 40MBps?

   

Do you think it possible that the data lenth transfered everytime is 128 byte long while i set the endpoint as 4 x 512B and PacketSize = 512 ? This would limit the speed though it seems rediculous.

   

My OS is XP SP3, will it influence the speed?

0 Likes
Anonymous
Not applicable

If you configure for 512 byte and trigger transfers it won't split it to 128 byte packets.

   

CATC is the only way to check the number of packets sent in a microframe. I haven't seen any host controller datasheet specifically discuss this.

   

Regards,

   

Anand

0 Likes
Anonymous
Not applicable

Thanks very much!

   

It seems that I have not any other way to get higher transfer rate.

   

Thanks again for offering help 🙂

0 Likes