Cypress Perform

Home > Design Support > Cypress Developer CommunityTM > Cypress Forums > USB Controllers > I want to see a reasonable fx3 speed on my platform!!

Bookmark and Share
Cypress Developer CommunityTM
Forums | Videos | Blogs | Training | Rewards Program | Community Components



I want to see a reasonable fx3 speed on my platform!!
Moderator:
RSKV

Post Reply
Follow this topic



I want to see a reasonable fx3 speed on my platform!!

dopak posted on 21 May 2012 5:23 PM PST
Member
7 Forum Posts

I got the fx3's speed was still 6MB/s.

I want to see the 100MB/s~250MB/s on my platform(PC+fx3+fpga). (bps:bit per sec, Bps:byte per sec)

To get this, I think THREE pgm sources would be needed. (1)PC pgm (2)firmware (3)gpif2 src(if uses)

I asked several times, but no reply.

Please, help me. 

 




Re: I want to see a reasonable fx3 speed on my platform!!

Chris R. posted on 22 May 2012 05:38 AM PST
Top Contributor
135 Forum Posts

1. The FX3 Slave FIFO firmware example works with this speed after changing the packets per burst to 8 oder 16. See my other posts for the changes.

2. The FPGA has to deliver the data at this rates. For speed tests simply pull the SLWR to low and set the correct fifo addr. The PCLK schould be 80MHz or higher to achieve 320MB/s in 32 Bit Slave FIFO mode.

3. The Host software. The example Streamer software can handle such data rates. There is no modification needed.



Re: I want to see a reasonable fx3 speed on my platform!!

dopak posted on 22 May 2012 06:28 PM PST
Member
7 Forum Posts

Chris,

Thanks for your prompt reply.

I searched your msges in all fx3 device and found the last informatios.(my eyes tired...)

I changed my src(slavefifosync) as exactly  you wrote, but failed.

FAILED means, the pc streamer program can't open the END point.

That's why I asked the program source itself.

SYNCFIFO PGM SRC itself want to be uploaded....PLEASE!!! PLEASE!!

------------------------------ Chris

Endpoint:
 
epCfg.enable = CyTrue;
 epCfg.epType = CY_U3P_USB_EP_BULK;
 epCfg.burstLen = CY_FX_SLFIFO_PACKETS_PER_BURST;
 epCfg.streams = 0;
 epCfg.pcktSize = size;
 
 
DMA:
  
 if(CY_U3P_SUPER_SPEED == usbSpeed)size *= CY_FX_SLFIFO_PACKETS_PER_BURST;
 /* Create a DMA MANUAL channel for U2P transfer.
 * DMA size is set based on the USB speed. */
 
dmaCfg.size  = size;
 
Descriptor:

 
/* Super speed endpoint companion descriptor for producer EP */
     0x06,                           /* Descriptor size */
     CY_U3P_SS_EP_COMPN_DESCR,       /* SS endpoint companion descriptor type */
     CY_FX_SLFIFO_PACKETS_PER_BURST - 1,    /* Max no. of packets in a burst : 0: burst 1 packet at a time */
     0x00,                           /* Max streams for bulk EP = 0 (No streams) */
     0x00,0x00,                      /* Service interval for the EP : 0 for bulk */

 
And in the header file:

 
#define    CY_FX_SLFIFO_PACKETS_PER_BURST    (16)                    //SuperSpeed Packets per Burst
 



Re: I want to see a reasonable fx3 speed on my platform!!

Chris R. posted on 23 May 2012 02:42 AM PST
Top Contributor
135 Forum Posts

You have to modify the size at all points in the firmware: USB 3.0 descriptor, DMA config, endpoint config. And you have to check if superspeed is enumerated, in 2.0 you must not set the burst length! With my posted code sniplets it works, I´m not allowed to upload any source code.  Also you have to set the DMA mode to AUTO for maximum speed.






ALL CONTENT AND MATERIALS ON THIS SITE ARE PROVIDED "AS IS". CYPRESS SEMICONDUCTOR AND ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY OF THESE MATERIALS FOR ANY PURPOSE AND DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THESE MATERIALS, INCLUDING BUT NOT LIMITED TO, ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT OF ANY THIRD PARTY INTELLECTUAL PROPERTY RIGHT. NO LICENSE, EITHER EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, IS GRANTED BY CYPRESS SEMICONDUCTOR. USE OF THE INFORMATION ON THIS SITE MAY REQUIRE A LICENSE FROM A THIRD PARTY, OR A LICENSE FROM CYPRESS SEMICONDUCTOR.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms and Conditions of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms and Conditions of this site. Cypress Semiconductor and its suppliers reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.