1 Reply Latest reply on Nov 20, 2019 4:12 AM by JayakrishnaT_76

    FX3 SuperSpeed Explorer Kit



      We use this product for some of our tests as ISOC  USB3 SuperSpeed device (we burn the FPGA to be with 2 Endpoints of ISOC in and ISOC out from the workspace samples), the ISOC project that we build called “USBIsoSourceSink”.

      However, we have some questions that would help us to understand more about the process and their results.

      We look inside the streamer app (C#), we would like to know:

      1. Packet per Xfer & Xfers to Queue à what are those two option meaning for ?
      2. What is the pass \ fail criteria, on which condition the Failures counter will be increased ?
      3. How the ISOC packets are generated (random data?\ same data?) because in case of failure, we would like to know how we can reproduce the same packet that make the failure counter to be increased.




      We will appreciate your help   .

      Thanks and have a good day,


        • 1. Re: FX3 SuperSpeed Explorer Kit



          Please find the answers to your questions below:

          1. Packet per Xfer is used to set the number of packets that you wish to send or receive using the streamer application. Xfers to Queue sets the total number of such transfers that can be queued using the streamer Application.


          2. To understand how the Failures counters are updated, please refer to the the Form1.cs file which can be found in the following location:

          C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\application\c_sharp\streamer


          3.The example project USBIsoSourceSink makes use of a DMA MANUAL_IN channel and a DMA MANUAL_OUT channel. Any data received from the host through the DMA MANUAL_IN channel is discarded. A constant data pattern is continuously loaded into the DMA MANUAL_OUT channel and sent to the host.

          For this, we have configured the size of DMA buffer to be 24kB. Each ISOC packet is of 1KB. So there can be 24 packets per buffer. Now refer to the following code snippet.

          This is used for preloading the DMA buffers. You can see that the highlighted for loop fills 1kB of DMA buffer with a constant pattern. The constant pattern is AA initially. In the next iteration, it will be AB and so on until 24kB is filled. After the buffer is filled, it is committed to the host.


          Best Regards,