3 Replies Latest reply on Jul 19, 2018 5:44 AM by srdr

    FX3 4Mbyte Chunks

    tim.stanka

      4 years ago I developed an FX3 firmware project which was based on your SlaveFifiSync 2 bit project. It has always worked fine as long as I break up transfers into 4Mb or smaller chunks. If I do this it runs all day. If I don't things are unreliable. At the time I developed the application I was told for W7 I needed to limit transfers to 4MB and for XP 3MB.

       

      We have another FX2 design which we do not have to break transfers up into chunks. We just setup one transfer on the host side for the whole thing...up to 58MB !!!

       

      It would be nice to get rid of the 4MB chunks...especially from an error recovery point of view but I'm sure things would be faster if I'm not setting up many 4MB transfers.

       

      I downloaded your latest SDK, V1.3.4. Do you know if this 4MB transfer size restriction still exists or what I can do to get rid of it ??

       

      Thanks

        • 1. Re: FX3 4Mbyte Chunks
          Madhu Lakshmipathy

          Hi,

           

          The limitation of 4 MB is with windows host. Fx3 SDK update will not have any effect on this.

           

          Regards,

          - Madhu Sudhan

          • 2. Re: FX3 4Mbyte Chunks
            tim.stanka

            I'm referring to your API call. When I use the FX3 I have to issue multiple reads:

             

            transfer_size = SIZE_3MB;

            for (chunk = 0; chunk < num_chunks; chunk++)

            {

             

             

                 ret = m_bulk_in->XferData((PUCHAR)buffer, transfer_size);

                 buffer += SIZE_3MB

            }

             

             

             

             

             

             

            With the FX2 I just do 1 read:

             

             

            transfer_size = image_size;

             

             

            ret = m_bulk_in->XferData((PUCHAR)buffer, transfer_size);

             

            I wonder if this could be the FPGA guy issuing incorrect packet ends etc. We are using the SlaveFifoSync with flags.

             

            So my question is: Should I be able to issue FX3::XferData() for the full image size like I do with FX2:XferData(). I would assume YES

            and this issue is probably caused by the FPGA guy issiing packet ends at 4MB intervals ???

            • 3. Re: FX3 4Mbyte Chunks
              srdr

              Tim Stanka,

               

              If the FX2 is streaming data as you like, FX3 is also capable of doing this.

              Here, FX2 is streaming the video data.

              Please let me know type of data that FX3 is streaming here. Is it a image?

              If not, when the PKTEND is triggered by the FPGA. i.e. What is the size of the data that is transferred to GPIF before triggering the PKTEND?