5 Replies Latest reply on Mar 10, 2016 1:05 AM by samehbensaid92_1527051

    Throughput issue in AN65974-Designing with the EZ-USB FX3 Slave FIFO Interface

    cy.kuo

      Hi,

         

      (A)
      I am trying to setup the Stream-in-case of AN65974(the EZ-USB FX3 Slave FIFO Interface)
      by using "EZ-USB FX3 SuperSpeed Explorer Kit".
      The softwares (SDK 1.33 and Explorer Kit) are installed successfully.

         

      (B)
      Here are configurations:
      Loaded Firmware: AN65974-SF_streamIN.img
      PC Application: SDK1.3/application/c_sharp/streamer/bin/Release/Streamer.exe

         

      EZ-USB FX3 Pin:
      CTL0(GPIO[17] or SLCS#) = GND
      CTL1(GPIO[18] or SLWR#) = GND
      CTL2(GPIO[19] or SLOE#) = 3.3V
      CTL3(GPIO[20] or SLRD#) = 3.3V
      CTL4(GPIO[21] or FLAGA) = Floating
      CTL5(GPIO[22] or FLAGB) = Floating
      CTL6(GPIO[23] or FLAGC) = Floating
      CTL7(GPIO[24] or PKTEND#) = 3.3V
      CTL8(GPIO[25] or FLAGD) = Floating
      CTL11(GPIO[28] or A1) = GND
      CTL12(GPIO[29] or A0) = GND
      PCLK(GPIO[16]) = accurate 8.192 MHZ clock(50% duty cycle)
      DQ[0:31] = GND or 3.3V

         

      I cannot find the mapping for CTLX and GPIO[XX] in the docs temporarily,
      so the above mapping is according to the PCLK = GPIO[16] and PCB labeling.
      And then the PC application Streamer.exe can start and run the stream-in mode.
      If the above mapping is wrong, please inform me.

         

      (C)
      My question is:
      The physical PC stream-in-Throughput(32500 KB/s shown in Streamer.exe) is wrong(not enough)!
      The Throughput should be 32768 KBytes/Sec(8.192 MHZ * 32bits = 32768 KBytes/Sec)

         

      I tried to increase the "Packets per Xfer" and "Xfers to Queues", but the results are the same
      after running Streamer.exe for a long time.

         

      I did not change the source code or firmware, but just setup AN65974-streamIN mode according to the above pin mapping.
      Do you have any idea? Your any help will be much appreciated!!

         

      BR,
      cykuo

        • 1. Re: Throughput issue in AN65974-Designing with the EZ-USB FX3 Slave FIFO Interface
          Madhu Lakshmipathy

          Hi,

             

          The Pin Mapping is correct and you can find the same in Table  2 of An65974 App Note.

             

          Yes, it is true that the streamer Application only gives an approximate throughput.

             

          Regards,

             

          - Madhu Sudhan

          • 2. Re: Throughput issue in AN65974-Designing with the EZ-USB FX3 Slave FIFO Interface
            cy.kuo

            Hi, Madhu,

               

            Thank you very much for your quick response!!

               

            For displaying more accurate Stream-in-Throughput,
            I changed the source code of FX3 Streamer.exe as following:

               

            =====Before==============================================================
            xferRate = (long)(XferBytes / elapsed.TotalMilliseconds);
            xferRate = xferRate / (int)100 * (int)100;

               

            =====After: just comment out the second line==================================
            xferRate = (long)(XferBytes / elapsed.TotalMilliseconds);
            //xferRate = xferRate / (int)100 * (int)100;

               


            Then, Stream-in-Throughput = 32584 KBytes/Sec after running a long time.
            This means Throughput Difference ~= 32768(Target) - 32584(Physical) = 184KBytes/Sec

               

            So, I am afraid that some data is not received at the PC Application(FX3 Streamer.exe)!!
            By the way,  what is the maximum Stream-in-Throughput if address pins are always A1=A0=GND?

               

            Remark:
            I have developed some applications on the EZUSB-FX2LP development boards for the past years. The Stream-in-Throughput(Streamer.exe in EZUSB-FX2LP) is very accurate and it is an important and convenient indicator for debugging problems.

               

            Remark:
            The AN65974-table 2 does not contain the PCB labeling information (CTL0, CTL1, ...CTL12) of the FX3 SuperSpeed Explorer Kit. It will be convenient for a FX3 beginner if table 2 contains it in the future.

               

            Your any help will be much appreciated!!

               

            BR,
            cykuo

            • 3. Re: Throughput issue in AN65974-Designing with the EZ-USB FX3 Slave FIFO Interface
              cy.kuo

              Hi, Madhu,

                 

              I do the following experiment, and find the captured data has an error pattern.

                 

              Let PCLK = accurate 8.192MHz 50% duty and DQ[1:0] = 00 01 10 11 00 01 10 11 ... (binary data)
              Then the wanted received data(DQ[1:0] sequence) at the PC application(Streamer.exe) will be
              00 01 02 03 00 01 02 03 00 01 02 03 00 01 02 03 ... (hex data)

                 

              But the physical received DQ[1:0] sequence is as following pattern:
              position    values
              00000000h   03 00 01 02 03 00 01 02 03 00 01 02 03 00 01 02
              00000010h   03 00 01 02 03 00 01 02 03 00 01 02 03 00 01 02
              ...
              00000ff0h   03 00 01 02 03 00 01 02 03 00 01 02 03 00 01 02
              00001000h   02 03 00 01 02 03 00 01 02 03 00 01 02 03 00 01
              00001010h   02 03 00 01 02 03 00 01 02 03 00 01 02 03 00 01
              ...
              00001ff0h   02 03 00 01 02 03 00 01 02 03 00 01 02 03 00 01
              00002000h   01 02 03 00 01 02 03 00 01 02 03 00 01 02 03 00
              00002010h   01 02 03 00 01 02 03 00 01 02 03 00 01 02 03 00

              ...

                 

              The errors happen at the 1000h(4096), 2000h(8192), 3000h(12288), ...
              and the stream-in-throughput is less than the wanted speed.
              So I am afraid that some data is lost during the transmission.

                 

              Remark:
              Sorry that I have only a two-bit counter at hand to check this problem.

                 

              You can check the attachment(a captured DQ[1:0] data sequence in hex) for more details.

                 

              Thank you in advance!!

                 

              BR,
              cykuo

              • 4. Re: Throughput issue in AN65974-Designing with the EZ-USB FX3 Slave FIFO Interface
                Madhu Lakshmipathy

                Hi,

                   

                We will follow you up in the Tech Suppor Case you created.

                   

                Regards,

                   

                -Madhu Sudhan

                • 5. Re: Throughput issue in AN65974-Designing with the EZ-USB FX3 Slave FIFO Interface
                  samehbensaid92_1527051

                  Hello,

                     

                  I think I have almost the same problem with the data loss and I wanted to ask you if there is any simple explanation for this ( I have already opened a Case since last Friday and I'm still waiting for an answer )

                     

                  Thank you in advance