We are trying to set up a UVC based camera using FX3 super speed explorer kit, FX3 FW example given with AN75779. Our actual sensor is not UVC compliant and therefore we use FPGA as a medium to take data from sensor and give it in UVC format to FX3. However, before interfacing actual sensor, we started working with a test pattern generated from FPGA to test and see out if we can see any display on the host application(VLC Media Player). In doing so we see that FX3 hangs after receiving two buffers of data from sensor(FPGA).
Details of the test/experimental setup and the results given below
Setup 1: Same Resolution 1280x720@30fps, YUV2, No I2C interface
1) We have modified the sensor.c file to
a) i2C bus test to return success unconditionally
b) all i2c read/write calls in sensor init function commented out
2) we have modified the uvc.c file to add more debug print statements to catch the flow of execution
3) We have uncommented the DEBUG FRAME COUNT in uvc.h to print frame and buffer counts
4) FPGA drives FV, LV and PCLK (104MHz for 8bit interface, 2 bytes per pixel)
5) Generated the img file and programmed FX3.
6) The FX3 gets enumerated as a UVC device and debug prints start printing the message "UVC : completed 0 frames and 0 buffers"
7) VLC is set to use FX3 as capture device and start streaming by using Play
8) Debug prints show streaming request received, gpif sm initiated and status of dma buffer for first two 16kB packets. After that we dont see any further activity from FX3. (This is confirmed as we have added print statements for both pass and fail conditions)
9) When we reset FX3 kit, the FX3 resumes again. Sequence repeats. Plese find attached images cypress1 through cypress4 (snapshot of debug prints, cypress 4 after starting stream from VLC)
Please note that the FV and LV are verified to be active when the strean is initiated from VLC and LV is active for 1280 * 2 PCLKs.
10) We did the same experiment, this time setting the resolution from FPGA to 640x480 @ 30fps, YUV2. We however dint modify the FW according to resolution. We just wanted to check if we could see any change in FX3 behaviour. We get to see same response in this case to. Attached image cypress5 shows the result after starting the streaming in VLC for this case.
Please let me know if i have missed any important change which could impact FX3 to this extent
Also, please provide step by step details of modifying AN75779 FW to use it with sensors of different resolution and frame rate.
Looking for a quicker support. You may call or mail me at the contact details given below