6 Replies Latest reply on May 27, 2011 8:02 AM by jing.zhou

    Data Rate with CY7C68013A controller



      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??




      Usama Aslam 

        • 1. Re: Data Rate with CY7C68013A controller

          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.





          • 2. Re: Data Rate with CY7C68013A controller

            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 ?

            • 3. Re: Data Rate with CY7C68013A controller

              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.





              • 4. Re: Data Rate with CY7C68013A controller

                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?

                • 5. Re: Data Rate with CY7C68013A controller

                  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.





                  • 6. Re: Data Rate with CY7C68013A controller

                    Thanks very much!


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


                    Thanks again for offering help :)