FX3 SuperSpeed Explorer Kit

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

cross mob
adki_3154446
Level 1
Level 1
5 replies posted 5 questions asked First reply posted

Hi,

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,

Adam.

0 Likes
1 Solution
JayakrishnaT_76
Moderator
Moderator
Moderator
First question asked 1000 replies posted 750 replies posted

Hello,

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.

pastedImage_6.png

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,

Jayakrishna

Best Regards,
Jayakrishna

View solution in original post

0 Likes
1 Reply
JayakrishnaT_76
Moderator
Moderator
Moderator
First question asked 1000 replies posted 750 replies posted

Hello,

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.

pastedImage_6.png

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,

Jayakrishna

Best Regards,
Jayakrishna
0 Likes