1 Reply Latest reply on Oct 6, 2017 2:22 AM by user_471928282

    Convert AN75779 to 32Bit

    user_471928282

      H,

      I have problem converting AN75779 UVC example to interface with FPGA at 32bit.

       

      Setup: FX3 explorer kit

                Xilinx ZC706

       

      What I have achieved:

           I have created a 8-bit YUV2 pattern generator from ZC706 to interface with FX3.  FX3 is running vanilla AN75779 firmware (latest).  I am able to see the color pattern on PC using DirectCap.  GPIF CLK  output from FPGA is running at 100MHz.

       

      My changes to support 32bit:

      1. Modify GPIF Designer from 8bit to 32bit

      2. Modify GPIF state machine Addr and data counter limit to 4091.  because each transfer is now 4 byte instead of 1.  Original was 16367.

      3. Modify FPGA to output 32bit, effectively Y0, U0, Y1, V0 color in 1 transfer

      4. Lower FPGA clk to 25MHZ so total datarate is still the same.

      5. I DID NOT make any changes to firmware ( I don't think I need to)

       

      Problems:

           Directcap show 0 FPS and there is not activity on display window.

           Using USB monitor, USB transactions stop after DirectCap request video.  THere is no bulk data out from FX3, infact there is no firther USB communications

           DirectCap is still able to request STOP, which FX3 accepts.

       

      Please advise how to get 32bit working.

       

      Neo

        • 1. Re: Convert AN75779 to 32Bit
          user_471928282

          Update:

          I am able to get UVC USB packets out from FX3.  Actually I had not done anything except power cycle FX3 explorer kit.

           

          But DirectCap still show a blank screen with 0 fps.

           

          Using USB monitor, I can see streams of 16380 byte sized bulk packets (12byte header + 4092 * 4).  The UVC header is present.  So it seems video has been transmitted out of FX3.

           

          I notice that for each 32bit  YUV2 color data in the bulk stream, 16 bits are always zero.  This is not what I am sending.  So I stop FX3 execution and found the same 16bits zero in DMA buffer.  So I think the problem occur during GPIF sampling.

           

          Any advice how to get all 32bits capture correctly?